AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Ausfallswinkel berechnen und mit Canvas einzeichnen
Thema durchsuchen
Ansicht
Themen-Optionen

Ausfallswinkel berechnen und mit Canvas einzeichnen

Ein Thema von Onkelrossie · begonnen am 15. Okt 2008 · letzter Beitrag vom 15. Okt 2008
Antwort Antwort
Benutzerbild von jfheins
jfheins

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

Re: Ausfallswinkel berechnen und mit Canvas einzeichnen

  Alt 15. Okt 2008, 17: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
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz