LlAxes2Rot
Looking for the current API? Open the llAxes2Rot reference →
Function notes
All three vectors must be mutually orthogonal unit vectors.
Return value notes
Returns a rotation that is defined by the 3 coordinate axes
Examples
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.
Notes
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);Tests
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.