Winkel#=VECTORYAW# (X#, Y#, Z#)

VECTORYAW ist ein undokumentierter Befehl.
Ermittelt mit BLITZHACKER!


BeschreibungBlitz3D
Die Funktion VECTORYAW berechnet den absoluten Pitch-Winkel für die Y-Achse. Für die Berechnung muss man nur die drei Abstände angeben. Diese werden aus der Differenz von zwei 3D-Weltpunkten berechnet (siehe Beispiel).

Die Funktion VECTORPITCH berechnet den zweiten Winkel für die X-Achse. Ein dritter Winkel wird nicht benötigt.


Parameter
X=Vectorkoordinate X
Y=Vectorkoordinate Y
Z=Vectorkoordinate Z


Rückgabewert
Winkel für die Y-Achse (yaw) wird zurückgeliefert.


Beispiel
Hier wird ein Zylinder und eine Kugel erstellt. Die Kugel kann verschoben werden und der Zylinder zeigt immer auf die Kugel. Es wird immer der Abstand zwischen den Objekten ermittelt und daraus dann der Pitch- und Yaw-Winkel berechnet:

GRAPHICS3D 640,480,16,2
SETBUFFER BACKBUFFER()
camera=CREATECAMERA()
light=CREATELIGHT()
POSITIONENTITY camera,0,0,-5
ROTATEENTITY light,90,0,0

cylinder=CREATECYLINDER(20)
sphere=CREATESPHERE()
ROTATEMESH cylinder,90,0,0
SCALEENTITY cylinder,1,1,3
POSITIONENTITY cylinder,0,0,5
ENTITYALPHA sphere,.8
ENTITYCOLOR sphere,255,100,100

WHILE NOT KEYHIT(1)
   IF KEYDOWN(200) THEN MOVEENTITY sphere,0,.1,0
   IF KEYDOWN(208) THEN MOVEENTITY sphere,0,-.1,0
   IF KEYDOWN(203) THEN MOVEENTITY sphere,-.1,0,0
   IF KEYDOWN(205) THEN MOVEENTITY sphere,.1,0,0
   x#=ENTITYX#(cylinder)-ENTITYX#(sphere)
   y#=ENTITYY#(cylinder)-ENTITYY#(sphere)
   z#=ENTITYZ#(cylinder)-ENTITYZ#(sphere)
   pitch#=VECTORPITCH#(x#,y#,z#)
   yaw#=VECTORYAW#(x#,y#,z#)
   ROTATEENTITY cylinder,pitch#,yaw#,0
   RENDERWORLD
   FLIP
WEND
END


Siehe auch
VECTORPITCH