vec_to_angle (ANGLE* ang, VECTOR* dir);

Berechnet die Pan- (Schwenk) und Tilt- (Kipp) Winkel eines Richtungsvektors, und setzt diese in die Pan-und Tilt-Parameter des angegebenen Euler-Winkels. Sehr nützlich, wenn man eine Richtung in einen Raumwinkel umrechnen will, um die Winkel zu einem Ziel zu berechnen.

Parameter:

ang Eulerwinkel, der ermittelt werden soll
dir Richtungsvektor

Rückgabewert:

Länge des Vektors

Modifiziert:

ang

Geschwindigkeit:

Schnell

Algorithmus:

ANGLE.pan = atan(VECTOR.x/VECTOR.y);
ANGLE.tilt = asin(VECTOR.z/length(VECTOR));

Beispiel:

function turn_towards_target()
{
  // get the direction from the entity MY to the entity YOU
  vec_set(temp,your.x); 
  vec_sub(temp,my.x);
  vec_to_angle(my.pan,temp); // now MY looks at YOU
} 

Siehe auch:

ang_add, vec_rotate, vec_for_angle

► Aktuelle Version Online