vector llRot2Left(rotation q// Rotation to convert.
);- Returns
vector- Energy
- 10
Computes the orientation of the local y-axis relative to the parent (i.e. relative to the root prim or the world).
Returns a vector that is the left vector defined by q, i.e. a unit vector pointing in the local positive Y direction
vector result = llRot2Left(ZERO_ROTATION);Specification
Section titled “Specification”Mathematically equivalent to:
ret = llVecNorm(<0., 1., 0.> * q);If q is known to be a unit quaternion then it can be simplified as:
ret = <0., 1., 0.> * q;Keep in mind that object and agent rotations will always be unit quaternions. For example, <0.0, 1.0, 0.0>*llGetRot() is about 25-30% faster than llRot2Left(llGetRot()) depending on the VM used. If done often and at extremely fast rates, it can be advantageous to even save <0.0, 1.0, 0.0> to a local/global variable and reuse it.
Examples
Section titled “Examples”Example 1
// Move an object 5 metres forwards along its own y axis, when touched, no matter how the object is oriented in world.// Works for a root or child primdefault{ touch_start(integer total_number) { vector v = llRot2Left( llGetLocalRot() ); llSetPos( llGetLocalPos() + v * 5 ); }}Can be useful to identify the orientation of the local sagittal-plane of the prim, since it’s y-axis is always perpendicular to this local sagittal-plane.
See also
Section titled “See also”Functions
Section titled “Functions”Original wiki source
Some wiki templates and tables need their original context. View this article on the Second Life Wiki. Technical wording and examples are retained from the source; historical guidance may differ from current behavior.