<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.secondlife.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Rob+Niosaki</id>
	<title>Second Life Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.secondlife.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Rob+Niosaki"/>
	<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/wiki/Special:Contributions/Rob_Niosaki"/>
	<updated>2026-07-28T07:34:54Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlAxisAngle2Rot&amp;diff=1187764</id>
		<title>LlAxisAngle2Rot</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlAxisAngle2Rot&amp;diff=1187764"/>
		<updated>2014-02-16T06:28:47Z</updated>

		<summary type="html">&lt;p&gt;Rob Niosaki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL_Function&lt;br /&gt;
|func=llAxisAngle2Rot&lt;br /&gt;
|func_id=169|func_sleep=0.0|func_energy=10.0&lt;br /&gt;
|return_type=rotation&lt;br /&gt;
|p1_type=vector|p1_name=axis|p1_desc&lt;br /&gt;
|p2_type=float|p2_name=angle|p2_desc=expressed in radians.&lt;br /&gt;
|return_text=that is a generated &#039;&#039;&#039;angle&#039;&#039;&#039; about &#039;&#039;&#039;axis&#039;&#039;&#039;&lt;br /&gt;
|func_footnote=&lt;br /&gt;
&#039;&#039;&#039;axis&#039;&#039;&#039; need not be [[llVecNorm|normalized]], only the direction is important.                       &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;angle&#039;&#039;&#039; need to be between the value 0&amp;lt;angle&amp;lt;PI (higher values than PI lead to 2*PI-angle)&lt;br /&gt;
, because a rotation is not really a rotation (it is more of a rigid motion/mirroring) &lt;br /&gt;
,the final destination is the rotation. &lt;br /&gt;
(in other words: it doesn&#039;t matter wether you rotate left by 90 degrees or right by 270 degrees it will return the same rotation)&lt;br /&gt;
|spec&lt;br /&gt;
|caveats&lt;br /&gt;
|examples=&amp;lt;lsl&amp;gt;default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        vector axis = &amp;lt;0.0, 0.0, 1.0&amp;gt;;&lt;br /&gt;
        float angle = 90.0 * DEG_TO_RAD;&lt;br /&gt;
        rotation rot = llAxisAngle2Rot(axis, angle);&lt;br /&gt;
        vector euler = llRot2Euler(rot) * RAD_TO_DEG;&lt;br /&gt;
&lt;br /&gt;
        llOwnerSay((string) euler);&lt;br /&gt;
        //Says &amp;lt;0.0, 0.0, 90.0&amp;gt; since it is rotating 90 degrees on the Z axis caused by the 1.0 placed in the Z vector spot. &lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|helpers&lt;br /&gt;
|also_functions=&lt;br /&gt;
{{LSL DefineRow||[[llRot2Angle]]|}}&lt;br /&gt;
{{LSL DefineRow||[[llRot2Axis]]|}}&lt;br /&gt;
|also_events&lt;br /&gt;
|also_articles&lt;br /&gt;
|also&lt;br /&gt;
|notes&lt;br /&gt;
|cat1=Math/3D&lt;br /&gt;
|cat2=Rotation&lt;br /&gt;
|cat3&lt;br /&gt;
|cat4&lt;br /&gt;
|deepnotes=&amp;lt;lsl&amp;gt;rotation llAxisAngle2Rot( vector axis, float angle )&lt;br /&gt;
{&lt;br /&gt;
    axis = llVecNorm( axis ) * llSin( angle/2 );&lt;br /&gt;
    return &amp;lt;axis.x, axis.y, axis.z, llCos( angle/2 )&amp;gt;;&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Rob Niosaki</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlAxisAngle2Rot&amp;diff=1187763</id>
		<title>LlAxisAngle2Rot</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlAxisAngle2Rot&amp;diff=1187763"/>
		<updated>2014-02-16T06:17:40Z</updated>

		<summary type="html">&lt;p&gt;Rob Niosaki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL_Function&lt;br /&gt;
|func=llAxisAngle2Rot&lt;br /&gt;
|func_id=169|func_sleep=0.0|func_energy=10.0&lt;br /&gt;
|return_type=rotation&lt;br /&gt;
|p1_type=vector|p1_name=axis|p1_desc&lt;br /&gt;
|p2_type=float|p2_name=angle|p2_desc=expressed in radians.&lt;br /&gt;
|return_text=that is a generated &#039;&#039;&#039;angle&#039;&#039;&#039; about &#039;&#039;&#039;axis&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|func_footnote=&#039;&#039;&#039;axis&#039;&#039;&#039; need not be [[llVecNorm|normalized]], only the direction is important.&lt;br /&gt;
|&lt;br /&gt;
|func_footnote=&#039;&#039;&#039;angle&#039;&#039;&#039; need to be between the value 0&amp;lt;angle&amp;lt;PI (higher values than PI lead to 2*PI-angle) , because a rotation is not really a rotation (it is more of a rigid motion/mirroring) &lt;br /&gt;
,the final destination is the rotation. (in other words: it doesn&#039;t matter wether you rotate left by 90 degrees or right by 270 degrees)&lt;br /&gt;
|spec&lt;br /&gt;
|caveats&lt;br /&gt;
|examples=&amp;lt;lsl&amp;gt;default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        vector axis = &amp;lt;0.0, 0.0, 1.0&amp;gt;;&lt;br /&gt;
        float angle = 90.0 * DEG_TO_RAD;&lt;br /&gt;
        rotation rot = llAxisAngle2Rot(axis, angle);&lt;br /&gt;
        vector euler = llRot2Euler(rot) * RAD_TO_DEG;&lt;br /&gt;
&lt;br /&gt;
        llOwnerSay((string) euler);&lt;br /&gt;
        //Says &amp;lt;0.0, 0.0, 90.0&amp;gt; since it is rotating 90 degrees on the Z axis caused by the 1.0 placed in the Z vector spot. &lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|helpers&lt;br /&gt;
|also_functions=&lt;br /&gt;
{{LSL DefineRow||[[llRot2Angle]]|}}&lt;br /&gt;
{{LSL DefineRow||[[llRot2Axis]]|}}&lt;br /&gt;
|also_events&lt;br /&gt;
|also_articles&lt;br /&gt;
|also&lt;br /&gt;
|notes&lt;br /&gt;
|cat1=Math/3D&lt;br /&gt;
|cat2=Rotation&lt;br /&gt;
|cat3&lt;br /&gt;
|cat4&lt;br /&gt;
|deepnotes=&amp;lt;lsl&amp;gt;rotation llAxisAngle2Rot( vector axis, float angle )&lt;br /&gt;
{&lt;br /&gt;
    axis = llVecNorm( axis ) * llSin( angle/2 );&lt;br /&gt;
    return &amp;lt;axis.x, axis.y, axis.z, llCos( angle/2 )&amp;gt;;&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Rob Niosaki</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlAxisAngle2Rot&amp;diff=1187762</id>
		<title>LlAxisAngle2Rot</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlAxisAngle2Rot&amp;diff=1187762"/>
		<updated>2014-02-16T06:16:17Z</updated>

		<summary type="html">&lt;p&gt;Rob Niosaki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL_Function&lt;br /&gt;
|func=llAxisAngle2Rot&lt;br /&gt;
|func_id=169|func_sleep=0.0|func_energy=10.0&lt;br /&gt;
|return_type=rotation&lt;br /&gt;
|p1_type=vector|p1_name=axis|p1_desc&lt;br /&gt;
|p2_type=float|p2_name=angle|p2_desc=expressed in radians.&lt;br /&gt;
|return_text=that is a generated &#039;&#039;&#039;angle&#039;&#039;&#039; about &#039;&#039;&#039;axis&#039;&#039;&#039;&lt;br /&gt;
|func_footnote=&#039;&#039;&#039;axis&#039;&#039;&#039; need not be [[llVecNorm|normalized]], only the direction is important.&lt;br /&gt;
|func_footnote=&#039;&#039;&#039;angle&#039;&#039;&#039; need to be between the value 0&amp;lt;angle&amp;lt;PI (higher values than PI lead to 2*PI-angle) , because a rotation is not really a rotation (it is more of a rigid motion/mirroring) &lt;br /&gt;
,the final destination is the rotation. (in other words: it doesn&#039;t matter wether you rotate left by 90 degrees or right by 270 degrees)&lt;br /&gt;
|spec&lt;br /&gt;
|caveats&lt;br /&gt;
|examples=&amp;lt;lsl&amp;gt;default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        vector axis = &amp;lt;0.0, 0.0, 1.0&amp;gt;;&lt;br /&gt;
        float angle = 90.0 * DEG_TO_RAD;&lt;br /&gt;
        rotation rot = llAxisAngle2Rot(axis, angle);&lt;br /&gt;
        vector euler = llRot2Euler(rot) * RAD_TO_DEG;&lt;br /&gt;
&lt;br /&gt;
        llOwnerSay((string) euler);&lt;br /&gt;
        //Says &amp;lt;0.0, 0.0, 90.0&amp;gt; since it is rotating 90 degrees on the Z axis caused by the 1.0 placed in the Z vector spot. &lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|helpers&lt;br /&gt;
|also_functions=&lt;br /&gt;
{{LSL DefineRow||[[llRot2Angle]]|}}&lt;br /&gt;
{{LSL DefineRow||[[llRot2Axis]]|}}&lt;br /&gt;
|also_events&lt;br /&gt;
|also_articles&lt;br /&gt;
|also&lt;br /&gt;
|notes&lt;br /&gt;
|cat1=Math/3D&lt;br /&gt;
|cat2=Rotation&lt;br /&gt;
|cat3&lt;br /&gt;
|cat4&lt;br /&gt;
|deepnotes=&amp;lt;lsl&amp;gt;rotation llAxisAngle2Rot( vector axis, float angle )&lt;br /&gt;
{&lt;br /&gt;
    axis = llVecNorm( axis ) * llSin( angle/2 );&lt;br /&gt;
    return &amp;lt;axis.x, axis.y, axis.z, llCos( angle/2 )&amp;gt;;&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Rob Niosaki</name></author>
	</entry>
</feed>