Difference between revisions of "LlAxisAngle2Rot/ja"

From Second Life Wiki
Jump to navigation Jump to search
m (Undo revision 850392 by Mako Nozaki (Talk))
Line 1: Line 1:
{{LSL Function/ja
{{LSL_Function/ja
|func=llAxisAngle2Rot
|func=llAxisAngle2Rot
|func_id=169|func_sleep=0.0|func_energy=10.0
|func_id=169|func_sleep=0.0|func_energy=10.0
|return_type=rotation
|return_type=rotation
|p1_type=vector|p1_name=axis|p1_desc
|p1_type=vector|p1_name=axis|p1_desc
|p2_type=float|p2_name=angle|p2_desc=ラジアンで表現されます
|p2_type=float|p2_name=angle|p2_desc=ラジアンで表現されます。
|return_text='''axis'''に関する'''angle'''が生成されて
|return_text='''axis''' について導き出された '''angle''' の回転
|func_footnote='''axis'''は[[llVecNorm|正常化]]すべきです。
|func_footnote='''axis''' を {{LSLG/ja|llVecNorm|正規化}} する必要はありません。方向だけが重要です。
|spec
|spec
|caveats
|caveats
Line 16: Line 16:
         float angle = 90.0 * DEG_TO_RAD;
         float angle = 90.0 * DEG_TO_RAD;
         rotation rot = llAxisAngle2Rot(axis, angle);
         rotation rot = llAxisAngle2Rot(axis, angle);
         vector euler = llRot2Euler(rTest) * RAD_TO_DEG;
         vector euler = llRot2Euler(rot) * RAD_TO_DEG;


         llOwnerSay((string) euler);
         llOwnerSay((string) euler);
         //Says <0.0, 0.0, 90.0> since it is rotating 90 degrees on the Z axis caused by the 1.0 placed in the Z vector spot.
         //ベクトル の Z に 1.0 を入れたため、Z 軸について 90 度回転しているので <0.0, 0.0, 90.0> と表示します
     }
     }
}</lsl>
}</lsl>
|helpers
|helpers
|also_functions=
|also_functions=
{{LSL DefineRow||[[llRot2Angle/ja|llRot2Angle]]|}}
{{LSL DefineRow||{{LSLG/ja|llRot2Angle}}|}}
{{LSL DefineRow||[[llRot2Axis/ja|llRot2Axis]]|}}
{{LSL DefineRow||{{LSLG/ja|llRot2Axis}}|}}
|also_events
|also_events
|also_articles
|also_articles
Line 34: Line 35:
|cat3
|cat3
|cat4
|cat4
|deepnotes=<lsl>rotation llAxisAngle2Rot( vector axis, float angle )
{
    axis = llVecNorm( axis ) * llSin( angle/2 );
    return <axis.x, axis.y, axis.z, llCos( angle/2 )>;
}</lsl>
}}
}}

Revision as of 05:55, 2 May 2010

要約

関数: rotation llAxisAngle2Rot( vector axis, float angle );

axis について導き出された angle の回転を rotation で返します。

• vector axis
• float angle ラジアンで表現されます。

axis正規化 する必要はありません。方向だけが重要です。

サンプル

<lsl>default {

   state_entry()
   {
       vector axis = <0.0, 0.0, 1.0>;
       float angle = 90.0 * DEG_TO_RAD;
       rotation rot = llAxisAngle2Rot(axis, angle);
       vector euler = llRot2Euler(rot) * RAD_TO_DEG;
       llOwnerSay((string) euler);
       //ベクトル の Z に 1.0 を入れたため、Z 軸について 90 度回転しているので <0.0, 0.0, 90.0> と表示します
   }
}</lsl>

関連項目

関数

•  llRot2Angle
•  llRot2Axis

特記事項

<lsl>rotation llAxisAngle2Rot( vector axis, float angle ) {

   axis = llVecNorm( axis ) * llSin( angle/2 );
   return <axis.x, axis.y, axis.z, llCos( angle/2 )>;

}</lsl>

Search JIRA for related Issues

Signature

function rotation llAxisAngle2Rot( vector axis, float angle );
この翻訳は 原文 と比べて古いですか?間違いがありますか?読みにくいですか?みんなで 修正 していきましょう! (手順はこちら)
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。