Difference between revisions of "LlAxisAngle2Rot/ja"

From Second Life Wiki
Jump to navigation Jump to search
m (Undo revision 850392 by Mako Nozaki (Talk))
 
(One intermediate revision by one other user not shown)
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
|examples=<lsl>default
|examples=<source lang="lsl2">default
{
{
     state_entry()
     state_entry()
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>
}</source>
 
|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=<source lang="lsl2">rotation llAxisAngle2Rot( vector axis, float angle )
{
    axis = llVecNorm( axis ) * llSin( angle/2 );
    return <axis.x, axis.y, axis.z, llCos( angle/2 )>;
}</source>
}}
}}

Latest revision as of 14:13, 25 February 2016

要約

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

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

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

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

サンプル

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> と表示します
    }
}

関連項目

関数

•  llRot2Angle
•  llRot2Axis

特記事項

rotation llAxisAngle2Rot( vector axis, float angle )
{
    axis = llVecNorm( axis ) * llSin( angle/2 );
    return <axis.x, axis.y, axis.z, llCos( angle/2 )>;
}

Search JIRA for related Issues

Signature

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