Winkel messen bei aufprall *nicht weiter komm*

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Kleiner satan

Betreff: Winkel messen bei aufprall *nicht weiter komm*

BeitragMi, Jul 19, 2006 16:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
sorry das ich so viel rumspame in letzter zeit...aber ich hab so viele fragen!
es handelt sich um 3d!

also wie kann wenn ich z.B. ein bot habe was gegen ein anderes boot fährt messen in welchem winkel das eine boot das andere gerammt hat??
also auch z.B. wenn ich ein flugzeug habe wie ich sehen kann ob das hjetzt abstürzen soll oder nciht??

danke für eure antworten!


Bastian

Spikespine

BeitragMi, Jul 19, 2006 17:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Versuch das mal bitte genauer zu beschreiben.
So wie ich das verstehe suchst du nur die Differenz aus den beiden Winkeln der Boote die kollidieren.

gerammtwinkel = winkelA-winkelB

Such dir aus ob das die Richtungen der Boote als Gegenstände sind oder die Bewegungsrichtungen.
Athlon 64 3700+ | 1024 MB RAM | GeForce 7900 GT | Blitz2D, Blitz3D, BlitzPlus, BlitzMax

Kleiner satan

BeitragMi, Jul 19, 2006 17:07
Antworten mit Zitat
Benutzer-Profile anzeigen
also nbähere beischreibung:
ein flugzeug soll mit dem boden kolidieren!
aber entweder das flugzeug stürtz ab (wenn es frontal aufprallt) oder es landet (wenn es grad ankommt)!
wie mach ich das jetzt wie ich den winkel messen kann wie das flugzeug auf den boden kommt?

Rone

BeitragMi, Jul 19, 2006 17:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

also in 2d machst du das indem du ein rechtwinkliges Dreickeck durch die Positionen bildest und den Winkel mit Tangens ausrechnest ATan2 vereinfacht das ganze:

Code: [AUSKLAPPEN]
winkel = ATan2(Y2 - Y1, X2 - X1) + 450.0) Mod 360.0


Und in 3d sollte man sich ein bisschen mit Vektorrechnung auskennen...
Mithilfe des Skalarproduktes geht das dann:

user posted image
=>
user posted image

mfg
Rone

Edit: Guck dir das mal an: http://de.wikipedia.org/wiki/Vektor#Skalarprodukt

Spikespine

BeitragMi, Jul 19, 2006 17:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja, irgendwie wirst du doch die Bewegung des Flugzeuges im Raum in deinem Code beschreiben, durch einen Vektor mit drei Komponenten. Entweder du hast drei Geschwindigkeitskomponenten, x,y,z oder du hast eine Geschwindigkeit und 2 Winkel. Letztere Methode wirst du wahrscheinlich nicht verwenden, da du ja sonst einfach den Winkel, der senkrecht auf die Landebahn steht, prüfen könntest.
Ich vermute du hast für dein Flugzeug drei Geschwindigkeiten in jede Raumrichtung, dann verwende die Winkelfunktionen (arcustangens) um den Landewinkel aus den y und z komponenten zu errechnen.
Athlon 64 3700+ | 1024 MB RAM | GeForce 7900 GT | Blitz2D, Blitz3D, BlitzPlus, BlitzMax

5k41

BeitragDo, Jul 20, 2006 19:22
Antworten mit Zitat
Benutzer-Profile anzeigen
auch in 3d gehts einigermaßen leicht! man kann per COllisionX etc. die koordinaten der kollision und per entityx usw. die koordinaten des objektes herrausbekommen nun kann man auch hier ein rechtwinkliges dreieck bilden und per atan2 dann den aufprall winkel herrausbekommen! Smile

MfG
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group