Wie berechne ich die winkel eines Dreiecks in 3d?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Miridian

Betreff: Wie berechne ich die winkel eines Dreiecks in 3d?

BeitragDo, Nov 08, 2007 14:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi.
Ich programmiere momentan an einem weltraum rennspiel. Sowas ähnliches wie wipeout pure oder F-Zero. (hier ein screen von F-Zero)

Und ich möchte, dass die Gleiter immer parallel zur Fahrbahn fliegen.
Dazu bräuchte ich die Pitch(X-achse) und Roll(Z-achse) Winkel.

Ich dachte mir man könnte es so machen:

1) Linepick von Gleiter zur Fahrbahn
2) PickedTriangle() die Nummer des Dreiecks rausfinden.
3) TriangleVertex() liefern die Nummern der 3 Vertexpunkte.
4) Mit VertxX/-Y/-Z die positionen von jedem der 3 Vertexpunkte berechnen.
5) Winkel des von PickedTriangle() zurückgelieferten Dreiecks berechnen.

Bis 4. komme ich bestimmt ohne probleme aber wie berechnet man die winkel?

Oder gibt es eine andere lösung wie ich ein objekt parallel zum anderen bewegen kann?

Danke im voraus für eure hilfe.

MfG Miridian

Markus2

BeitragDo, Nov 08, 2007 14:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Beim Pick bekommste schon die Oberflächennormale (NX,NY,NZ) (steht auch beim Vertex)
In BB3D kannste AlignToVector benutzen .
Habe mal sowas ähnliches gemacht,
such mal nach CubeRacer

ob der Rest noch irgendwo hier ist weiß ich nicht
https://www.blitzforum.de/foru...=cuberacer

https://www.blitzforum.de/gall...amp;page=4

darth

BeitragDo, Nov 08, 2007 14:32
Antworten mit Zitat
Benutzer-Profile anzeigen
winkel zwischen zwei vektoren kriegt man im n-dimensionalen raum durch das skalarprodukt (und der arccos draus) der beiden n-dimensionalen vektoren.
(PS: wikipedia hat n tollen artikel über skalarprodukt!)
Diese Signatur ist leer.

Miridian

BeitragDo, Nov 08, 2007 15:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke euch!
Mit aligntovector funktioniert es perfekt. Very Happy

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group