Koordinaten im 3 dimensionalen System

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

ZaRaK

Betreff: Koordinaten im 3 dimensionalen System

BeitragSo, Apr 22, 2012 21:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe ein Raumschiff in einem 3-dimensionalen Raum.
Ich möchte 2 "Kompasse" im HUD haben.
1. für X Achse
2. für Y Achse

(Wenn ich keinen Denkfehler habe, braucht man dafür nur 2 Richtungsangaben (sofern das Raumschiff über einen eigenen Antrieb verfügt) oder?)

Das Raumschiff soll sich in die angegebene Richtung bewegen, in die die Kompasse eingestellt sind.

zB:
X-Achse 45° = 45° rechts
Y-Achse 45° = 45° hoch

Was soviel heisst wie: Das Schiff fliegt mit angegebener Geschwindigkeit nach 45° rechts und dabei 45° nach oben.


user posted image

Wie kann ich ein solches Koordinatensystem verwirklichen?
Ich häng da mit meinen Gedankengängen gerade total fest.

BladeRunner

Moderator

BeitragSo, Apr 22, 2012 21:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich verstehe deine Fragestellung nicht wirklich- welcher Teil der Verwirklichung hakt denn?
Grundsätzlich ist möglich was Du da vorstellst.
Bei StarTrek zB wird der Kurs so angegeben: xxx.zzz (zB 312.123): 312° auf der Schiffsebene, 123° auf der Lotrechten dazu.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Xeres

Moderator

BeitragSo, Apr 22, 2012 21:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Was du suchst, nennt sich Polarkoordinaten. Mit zwei Winkeln und einer Länge kann man einen Punkt angeben. (X, Y, Z) wird zu (Alpha, Beta, R) umgeformt.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
 

ZaRaK

BeitragSo, Apr 22, 2012 21:50
Antworten mit Zitat
Benutzer-Profile anzeigen
@BladeRunner
genauso wie das anscheinend bei StarTrek ist, habe ich mir das gedacht.

@Xeres
gibts irgendwo tutorials oder ähnliches dafür?
Bei meiner Umsetzung brauch ich bloß die 2 Winkel.
Die Länge wird durch die Geschwindigkeit beeinflusst (ohne "Maschinen Stopp" = unendlich).


Wo es bei mir im moment hakt ist, das ich nicht weiss, wie ich dem programm sagen kann, das schräg links hinter mir 225° sind.
Da es ja "theoretisch", eine negative X und negative Z koordinate ist.

zB eine Geschwindigkeit in Richtung: x-10 & z-10 wäre die richtung 225° (vom Ursprung aus gesehen).
  • Zuletzt bearbeitet von ZaRaK am So, Apr 22, 2012 22:01, insgesamt einmal bearbeitet

Xeres

Moderator

BeitragSo, Apr 22, 2012 22:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie du die dritte Koordinate interpretierst, bleibt dir überlassen.

Um die beiden Winkel zu finden:
Code: [AUSKLAPPEN]
Pitch# = ATan2( VectorY#, Sqr( VectorX#*VectorX# + VectorZ#*VectorZ# ) )
Yaw# = ATan2( -VectorZ#, -VectorX# ) - 90

Siehe hier

Und Koordinaten aus 2 Winkeln & Radius:
Code: [AUSKLAPPEN]
X = OrigX + Radius * Cos( Pitch ) * Cos( Yaw )
Y = OrigY + Radius * Sin( Yaw )
Z = OrigZ + Radius * Sin( Pitch ) * Cos( Yaw )

Siehe da
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
 

ZaRaK

BeitragSo, Apr 22, 2012 22:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Ah.
Super! Danke!

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group