Difference between revisions of "LlEuler2Rot"
Jump to navigation
Jump to search
(Added order of rotation in Euler vector) |
m |
||
Line 8: | Line 8: | ||
|caveats | |caveats | ||
|constants | |constants | ||
|examples=< | |examples=<lsl> | ||
default | default | ||
{ | { | ||
Line 18: | Line 18: | ||
} | } | ||
} | } | ||
</ | </lsl> | ||
|helpers | |helpers | ||
|also_functions={{LSL DefineRow||[[llRot2Euler]]|}} | |also_functions={{LSL DefineRow||[[llRot2Euler]]|}} | ||
Line 24: | Line 24: | ||
|also_tests | |also_tests | ||
|also_articles={{LSL DefineRow||{{Wikipedia|Euler_Angles}}|}} | |also_articles={{LSL DefineRow||{{Wikipedia|Euler_Angles}}|}} | ||
|notes | |notes=<lsl>v/=2; | ||
rotation k = <0,0,llSin(v.z),llCos(v.z)> * <0,llSin(v.y),0,llCos(v.y)> * <llSin(v.x),0,0,llCos(v.x)>;</lsl> | |||
|permission | |permission | ||
|negative_index | |negative_index |
Revision as of 09:34, 25 December 2007
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: rotation llEuler2Rot( vector v );16 | Function ID |
0.0 | Forced Delay |
10.0 | Energy |
Returns a rotation representation of Euler Angles v.
• vector | v |
Specification
The Euler angle vector is converted to a rotation by doing the rotations around the 3 axes in Z, Y, X order. So llRot2Euler(<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.
Caveats
Examples
<lsl> default {
state_entry() { vector input = <73.0, -63.0, 20.0> * DEG_TO_RAD;//not advised to make your own quaternion rotation rot = llEuler2Rot(input); llSay(0,"The Euler2Rot of "+(string)input+" is: "+(string)rot ); }
}
</lsl>Notes
<lsl>v/=2; rotation k = <0,0,llSin(v.z),llCos(v.z)> * <0,llSin(v.y),0,llCos(v.y)> * <llSin(v.x),0,0,llCos(v.x)>;</lsl>