Einzelnen Beitrag anzeigen

Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#8

Re: Ausfallswinkel berechnen und mit Canvas einzeichnen

  Alt 15. Okt 2008, 18:27
Okay, ich nehme mal an, du hast folgendes:

Positionsvektor: s0

Geschwindigkeitsvektor: v

Breite und Höhe der Box: b und h

Der Ursprung liegt zweckmäßigerwise in der oberen, linken Ecke der Box.
Postives X nach rechts, positives Y nach unten.

Vektoren werde ich fett formatieren

Dann kannst du jetzt eine Geradengleichung aufstellen:

s(t) = s0 + t * v

mit t als Parameter.

Jetzt kannst du für die folgernden vier Fälle den Parameter t ausrechnen:

X-Komponente von s(t) ist gleich 0 (links)
Y-Komponente von s(t) ist gleich 0 (oben)

X-Komponente von s(t) ist gleich b (rechts)
Y-Komponente von s(t) ist gleich h (unten)

Du hast jetzt vier mögliche Werte für t, und der kleinste positive Wert ist der Fall, der kollidiert - ic nenne ihn jetzt t_k.

Wenn du die Kollision gefunden hast, kannst du folgendermaßen vorgehen:

Kollision rechts oder links: X-Komponente von v invertieren ("Vorzeichen umdrehen" bzw. "mal minus eins nehmen")
Kollision oben oder unten: Y-Komponente von v invertieren

ergibt v_neu

Neuer Ortsvektor ist s(t_k)

[ Mit dem neuen Ortsvektor kannst du auch vom alten zum neuen ne Linie auf dein Canvas zeichnen ]

Damit erhältst du eine neue Bewegungsgleichung:

s2(t2) = s(t_k) + t2 * v_neu

Jetzt kannst du weieder von vorne anfangen.

Beenden, wenn du genügend Schritte hast.

Falls du etwas nicht verstanden hast, frage ruhig nach

MfG,
Julius
  Mit Zitat antworten Zitat