Difference between revisions of "LlEuler2Rot"

From Second Life Wiki
Jump to navigation Jump to search
(Vector is in radians. Typo: llRot2Euler -> llEuler2Rot.)
(clearer so)
Line 5: Line 5:
|func_desc
|func_desc
|return_text=representation of Euler Angles '''v'''.
|return_text=representation of Euler Angles '''v'''.
|spec=The Euler angle vector (in radians) is converted to a rotation by doing the rotations around the 3 axes in Z, Y, X order. So llEuler2Rot(<1.0, 2.0, 3.0> * DEG_TO_RAD) generates a rotation by taking the zero rotation, a vector pointing along the X axis, first rotating it 3 degrees around the global Z axis, then rotating the resulting vector 2 degrees around the global Y axis, and finally rotating that 1 degree around the global X axis.
|spec=The Euler angle vector (in radians) is converted to a rotation by doing the rotations around the 3 axes in Z, Y, X order. So llEuler2Rot(<1.0, 2.0, 3.0> * DEG_TO_RAD) generates a rotation by taking a vector pointing along the X axis, first rotating it 3 degrees around the global Z axis, then rotating the resulting vector 2 degrees around the global Y axis, and finally rotating that 1 degree around the global X axis.
|caveats
|caveats
|constants
|constants

Revision as of 02:56, 5 May 2008

Summary

Function: rotation llEuler2Rot( vector v );
0.0 Forced Delay
10.0 Energy

Returns a rotation representation of Euler Angles v.

• vector v

Specification

The Euler angle vector (in radians) is converted to a rotation by doing the rotations around the 3 axes in Z, Y, X order. So llEuler2Rot(<1.0, 2.0, 3.0> * DEG_TO_RAD) generates a rotation by taking a vector pointing along the X axis, first rotating it 3 degrees around the global Z axis, then rotating the resulting vector 2 degrees around the global Y axis, and finally rotating that 1 degree around the global X axis.

Examples

<lsl>default {

   state_entry()
   {
       vector input = <73.0, -63.0, 20.0> * DEG_TO_RAD;
       rotation rot = llEuler2Rot(input);
       llSay(0,"The Euler2Rot of "+(string)input+" is: "+(string)rot );
   }
}</lsl>

Notes

<lsl>v/=2; rotation k = <0.0, 0.0, llSin(v.z), llCos(v.z)> * <0.0, llSin(v.y), 0.0, llCos(v.y)> * <llSin(v.x), 0.0, 0.0, llCos(v.x)>;</lsl>

See Also

Functions

•  llRot2Euler

Articles

•  "Wikipedia logo"Euler_Angles

Deep Notes

Signature

function rotation llEuler2Rot( vector v );