0 Daumen
376 Aufrufe

Aufgabe:

Hallo,

Ich entwickle in meiner Freizeit ein Spiel, und stehe jetzt vor ein Problem. Ich möchte gerne den Punkt(x,y,z Koordinaten) vor meinen Spieler errechnen. Der Punkt soll ich ca. 100 vor mein meinen Spieler befinden. Gegen sind mir die XYZ Koordinaten sowie zwei Gradzahlen des Kopfes. Ich hänge anbei zwei Bilder zur besseren verständnis.

Player_Heading_XY: ibb. co/MB8wrNs
Player_Heading_Z: ibb. co/JBKYg2G


Problem/Ansatz:

Viel kann ich leider nicht zur Lösung Beisteuern da ich echt überfragt bin.


Geg.:
Player_x = 50
Player_y = 50
Player_z = 20
Player_Heading_XY: -45°;
Player_Heading_Z: 15°;
Abstand_Spieler_Punkt: 100

Ges.:
Punkt_x
Punkt_y
Punkt_z

Avatar von

Gerade bei der ersten Skizze ergibt sich doch die Frage was ist die x und was die y-Achse. Und welches sind dabei die positiven Achsenabschnitte?

1 Antwort

0 Daumen
 
Beste Antwort

Welches Bildmaterial?

Ein interpretationsversuch r=entfernung

blob.png

ggf. musst Du den Vektor u umkonstruieren wenn die zusammenstellung nicht passt,

Avatar von 21 k

Danke für die schnelle Antwort, ist es möglich das du noch den Rechenweg anbei hängst? So das auch der letzte Anfänger (ich) versteht?

Nun, ist ca.100 math. schwer zu fassen.

Der Player ist in Position P und in Entfernung r=100 in Richtung xz α=15°, xy β=-45° zeigt der Vector u (siehe meine Skizze und wenn meine Winkel Deiner Vorstellung entsprechen) dann suchst Du vermutlich P+u nach

>"Der Punkt soll ich ca. 100 vor mein meinen Spieler befinden."

Dank dir für die Auszeichnung. Deshalb hab noch mal drüber geschaut und festgestellt, dass der Normalisierungsfaktor im Richtungsvektor abhanden gekommen ist. u muss lauten auf

\(u=\frac{r}{\sqrt{1 + \operatorname{tan} ^{2}\left( α \right)}} \; \small \left(\operatorname{cos} \left( β \right), \operatorname{sin} \left( β \right), \operatorname{tan} \left(α \right) \right)\)

ich korrigiere das in der Antwort oben...

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community