Flugbahn schuss berechnen
-
Hallo,
ich habe eine Kanone, die in Richtung der Maus feuern soll.
Ich habe also zwei Punkte (Kanone und Ziel), wie berechne ich die einzelnen
Punkte, auf denen der Schuss langfliegt?Irgendwie mit Vektoren?
Hat vielleicht irgendjemand ein Beispiel oder dergleichen?
MfG
Andreas
-
ich würde sagen, eine klassische wurfparabel:
--> http://de.wikipedia.org/wiki/Wurfparabeljuhu. ich bin seit ewigkeiten mal wieder am board. ^^
-
Hallo,
mit der Wurfparabel ist das viel zu kompliziert.
Ich meinte eigentlich nur die gerade Linie zwischen den 2 Punkten.
Wie berechne ich da jeden einzelnen Punkt auf der Linie.
Nach Möglichkeit über den Zielpunkt hinaus, bis zum Bildschirmrand.
MfG
Andreas
-
Lineare Interpolation benutzen.
Bye, TGGC (Fakten)
-
Grüsse,
Ehm also ich würde das sicher mit Vektoren lösen. Zielpunkt minus Startpunkt und du hast den Richtungsvektor. Dann den Startpunkt plus x mal den Richtungsvektor und du kannst auf jeden Punkt in der Linie schliessen wenn du x varrierst.
Oder noch verdeutlicht:
Startpunkt (5, 2, 6)
Zielpunkt (8, 6, 7)/8\ /5\ /3\ |6| - |2| = |4| \7/ \6/ \1/Also der 3 / 4 / 7 Vektor ist der Richtungsvektor, zwischen den zwei Punkten.
Nun machst du noch folgendes:/5\ /3\ |2| + x * |4| = Jeder beliebige Punkt zwischen und nach dem Ziel oder Startpunkt. \6/ \1/Das Code habe ich nur benützt, damit die Abstände so bleiben wie sie sollen

Im Programm musst du dir natürlich eine Vektoren Klasse erstellen, oder die von DirectX oder OpenGL nehmen. Oder was auch immer oder wie auch immer du programmierst
Grüssli
Edit: Ups habe noch was vergessen. Den Richtungsvektor sollte man am besten durch die Strecke zwischen Start- und Zielpunkt rechnen. So erhält man eine Art von Einheitsvektor, welchen man einfacher multiplizieren kann.
Und das wäre dann ja ... (TGGC war schneller, mit weniger Text ^^) die Lineare Interpolation *g* ... aber ich will nicht einfach mit Begriffen um mich schmeissen, deshalb nehm ich mir lieber ein paar Minuten Zeit um es genauer zu erklären
Und Links sind immer so eine Sache *g*
EditGrüssli ^^
-
Am besten rechnest Du so auch gleich den Vorhalt aus, sonst wird das nämlich nix mit treffen
(Kannst mir das glauben, ich war mal Flak-Kanonier *g*)