function
Function syntax
rotation llAxes2Rot(vector fwd,// Forward/back directional vector of the rotation.vector left,// Left/right directional vector of the rotation.vector up// Up/down directional vector of the rotation.
);- Returns
rotation- Energy
- 10
All three vectors must be mutually orthogonal unit vectors.
Returns a rotation that is defined by the 3 coordinate axes
rotation result = llAxes2Rot(ZERO_VECTOR, ZERO_VECTOR, ZERO_VECTOR);Examples
Section titled “Examples”Example 1
default{ state_entry() { vector i = < 1.0, 0.0, 0.0>; vector j = < 0.0, 1.0, 0.0>; vector k = < 0.0, 0.0, 1.0>;
rotation rot = llAxes2Rot( j, -i, k );
llSay(0, (string) (llRot2Euler(rot) * RAD_TO_DEG) ); }}This script displays:
Object: <-0.00000, 0.00000, 90.00000>
which shows that (j, -i, k) is obtained by rotating (i, j, k) 90 degrees around z direction.
Technically, only the first two vectors are needed to define this rotation, which can be done by calling any of these:
llAxes2Rot(fwd, left, fwd % left);llAxes2Rot(left % up, left, up);llAxes2Rot(fwd, up % fwd, up);- Visual illustration — Importance of mutually orthogonal unit vectors
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.