vec_rotate (VECTOR* vDir, ANGLE* vAng)

Dreht einen Richtungsvektoren um pan-, tilt- und roll-Euler-Winkel.Rotates a direction vector by pan, tilt and roll Euler angle.

vec_rotateback (VECTOR* vDir, ANGLE* vAng)

Umgekehrte Drehung: dreht einen Richtungsvektoren, der um einen Euler-Winkel gedreht wurde, zurück in seine ursprüngliche Ausrichtiung. ( A7.08 ).

vec_rotateaxis (VECTOR* vDir,VECTOR* vAxis,var angle)

Quaternierte Drehung: dreht einen Richtungsvektoren um einen Winkel einer gegebenen Rotations-Achse ( A7.08 ).

Parameter:

vDir Pointer auf einen Richtungsvektoren, der gedreht wird.
vAng Pointer auf einen Euler-Winkel-Vektoren. Es werden nur die pan- und tilt-Komponenten verwendet.
vAxis Pointer auf einen Richtungsvektoren, der als Rotationsachse dient.
angle Rotation um vAxis in 0..360 Grad entgegen dem Uhrzeigersinn.

Rückgabewert:

vDir

Modifiziert:

vDir

Geschwindigkeit:

Schnell

Bemerkungen:

Eine Position kann um ein Zentrum gedreht werden, indem der Zentrumsvektor von der Position subtrahiert, das Ergebnis gedreht und dann der Zentrumsvektor wieder addiert wird.

Beispiel:

var direction[3] = { 10, 0, 0 }; // vector of length 10, pointing straight eastwards in the XYZ coordinate system
var angle[3] = { 90, 45, 0 };    // pan 90 degrees, tilt 45 degrees
...

Nach der Anweisung hat der Vektor direction die neuen Werte 0, 7.07, 7.07. Er wurde um 90 Grad gegen den Uhrzeigersinn und 45 Grad nach oben gedreht. Jetzt zeigt er nach Norden und halb nach oben.

Siehe auch:

Vectors, angles, ang_add, vec_to_angle, vec_for_angle

► Aktuelle Version Online