-
Forum: Programmieren allgemein
by dino,
30. Dez 2008
vorher(geschwindigkeitsvektor v?)=(v1,v2)
Kollision(geradenrichtungsvektor g?)=(k1,k2)
Skalarprodukt:
v1*k1+v2*k2
projektion auf vorher:
(k1*(v1*k1+v2*k2),k2*v1*k1+v2*k2)
-
Forum: Programmieren allgemein
by dino,
30. Dez 2008
deckt sich das mit dem, was ich hier gerade ausgerechnet hab?
also zunächst richtungsvektor vorher und vektor mittelpunkt->kollisionspunkt normieren
dann:
vorher=(v1,v2)
Kollision=(k1,k2)
Ergebnis=(v1-2*Wurzel*k1,v2-2*Wurzel*k2)
-
Forum: Programmieren allgemein
by dino,
30. Dez 2008
ich dachte alle vektoren sind und bleiben normiert (das heisst, dass die norm gleich 1 ist, was der fall ist, wenn bei einem vektor die komponenten quadriert, addiert, gewurzelzieht 1 ergibt also auch wenn man nur quadriert und addiert)
aber wenn ich die Vektoren normiere klappt das auch nicht
ich denk nochmal drüber nach :)
-
Forum: Programmieren allgemein
by dino,
30. Dez 2008
sollte
richtungsvektor vorher - 2* normierter Richtungsvektor :(mittelpunkt->kollisionspunkt)
nicht das richtige Ergebnis liefern?
-
Forum: Programmieren allgemein
by dino,
19. Okt 2006
achso...
die Richtungsvariablen nicht als Integer zu deklarieren stand für mich von vornerein fest!
es ging mir darum alle Pixel zu erfassen, die den Kreis berühren und der Richtung zugewandt sind
-
Forum: Programmieren allgemein
by dino,
19. Okt 2006
TPoint Integer: ich werde sie mir nicht als integer speichern sondern bei jedem aufruf der floatvariable runden
Richtungen: da ich einen großen Kreisund nicht bloss nen Pixel habe erhöht sich die Anzahl an Pixel, die überwacht werden müssen...
Winkel (in Grad) als Integer: ich dachtemir erst,dann beschränkt sich das ganze auf 360 verschiedene Möglichkeiten, sehe aber nun davon ab
-
Forum: Programmieren allgemein
by dino,
14. Okt 2006
nein der ort hab ich mir immerschon float erdacht...
nur grad wollte ich unter umständen als integer nehmen aber so genau sind wir nun
-
Forum: Programmieren allgemein
by dino,
14. Okt 2006
ok ich machs so, nur ist mein Kreis mehr als nur ein Punkt, also kriege ich mehr als 8 Richtungen
-
Forum: Programmieren allgemein
by dino,
13. Okt 2006
hä?
ich habe eine richtungsvariable als Integer und werde die berechneten gradzahlen immer runden
-
Forum: Programmieren allgemein
by dino,
13. Okt 2006
ich hab keine nachkommastellen bei Grad
-
Forum: Programmieren allgemein
by dino,
13. Okt 2006
die zu Beobachtenden Pixel vor dem Kreis, ändern sich mit dem Richtungsvektor, also könnte man 1. immer nur errechnen, wenn man den Richtungsvektor ändert und 2. für alle 360 Möglichkeiten irgendwo speichern
was haltet ihr davon?
-
Forum: Programmieren allgemein
by dino,
13. Okt 2006
ich werde pixelschritte machen und wollte eigentlich die Pixel überprüfen, die von der Bewegungsrichtung zugewandten Seite ein Pixel in Bewegungsrichtung gehen, also so
-
Forum: Programmieren allgemein
by dino,
13. Okt 2006
die mathematik hab ich drauf, jedoch hab ich wiegesagt keine Liste an Pixel, die beobachtet werden müssen, darum würde ich gerne wissen, wie das mit dem readline gehen soll...
muss ich dafür nen neuen threat aufmachen?
dann könnt ihr hier die andere Lösung weiterdiskutieren
-
Forum: Programmieren allgemein
by dino,
12. Okt 2006
ich hab an eine Stelle geschrieben, dass ich auch auf die canvas der Form zeichnen will(per maus) und der Ball soll dann auch daran abtitschen
hier jeden Punkt zu speichern und immer wieder zu testen ist mir ein bisschen viel
der soll nur um sich gucken, ob da Pixel sind
also nur in die bewegungsrichtung zugewandte kreishälfte
-
Forum: Programmieren allgemein
by dino,
12. Okt 2006
auf welche frage war das die antwort???
-
Forum: Programmieren allgemein
by dino,
12. Okt 2006
3 trifft mit einer anderen höhe auf das Rechteck
(1 müsste hierfür etwas weiter links und demnach auch etwas weiter runter gezeichnet sein)
sieht man zwar nicht, ist aber so
wie kann man denn nun diese PxelanPixel?-frage lösen?
-
Forum: Programmieren allgemein
by dino,
12. Okt 2006
nein ich möchte aber auch draufrumkritzeln dürfen, dass mein kreis sogar an ner Kurve abtitscht
dafür müsste er nur immer ne Pixelabfrage machen, ob er nen Punkte berührt, nur wie geht das?
-
Forum: Programmieren allgemein
by dino,
11. Okt 2006
und welche zuerst macht keinen unterschied?
Edit: mit der gerade fand ich schon gut, aber kann man die kollision nicht auch anhand anderer methoden testen?
-
Forum: Programmieren allgemein
by dino,
11. Okt 2006
geht das auch anders?
-
Forum: Programmieren allgemein
by dino,
11. Okt 2006
nun das sind aber sehr sehr viele Punkte...
-
Forum: Programmieren allgemein
by dino,
11. Okt 2006
abstand von was zu was???
wenn ich wüsste welche Punkte ich mir angucken müsste wäre ich schon fertig
-
Forum: Programmieren allgemein
by dino,
11. Okt 2006
und wie findet man am besten herraus, ob man kolidiert?
-
Forum: Programmieren allgemein
by dino,
11. Okt 2006
hab mich jetzt auch für dein problem begeistert und hab eine frage: wass passiert, wenn eine Kugel auf 2 Kanten gleichzeitig trifft?
zeichnung beispiele jeweils einfallswinkel =270grad (nach oben)
achja: wie findest du herraus, dass dein Kreis Kollidiert?
-
Forum: Programmieren allgemein
by dino,
11. Okt 2006
so jetzt haste 3 mal die selbe antwort: alle 3 zusammen müssten dein problem verständlich beantworten
ok neuerdiings sinds 4
-
Forum: Programmieren allgemein
by dino,
11. Okt 2006
1:strecke kante kreismittelpunkt
2:winkel Kreislaufahn
3:1 um 90grad drehen differenz und dann einfallswinkel =ausfallswinkel