Difference between revisions of "LlEuler2Rot/ja"

From Second Life Wiki
Jump to navigation Jump to search
m (カテゴリ変更)
m
 
(3 intermediate revisions by 2 users not shown)
Line 4: Line 4:
|func_footnote
|func_footnote
|func_desc
|func_desc
|return_text=オイラー角'''v'''の表現
|return_text=オイラー角 '''v''' 
|spec=オイラー角vectorは、Z、Y、X順に3軸周りの回転が転向されたものです。つまり、llRot2Euler(<1.0, 2.0, 3.0> * DEG_TO_RAD)は回転無しで生成され、vectorはX軸に沿って指し、最初にグローバルX軸周りを3°回転し、 グローバルY軸周りのvectorの2°を結果的に回転し、最終的にグローバルX軸周りを1°回転します。
|spec=オイラー角ベクトル (単位はラジアン) は Z, Y, X の順に 3 つの軸のまわりを回転し、回転に変換されます。このため、llEuler2Rot(<1.0, 2.0, 3.0> * DEG_TO_RAD) は回転を生成するのに、X 軸のポインティング・ベクトルをとり、最初にグローバルの Z 軸まわりに 3° 回転させ、次にできたベクトルを Y 軸まわりに 2° 回転させ、最後に X 軸まわりに 1° 回転させます。
|caveats
|caveats
|constants
|constants
|examples=<lsl>default
|examples=<source lang="lsl2">default
{
{
     state_entry()
     state_entry()
     {
     {
         vector input = <73.0, -63.0, 20.0> * DEG_TO_RAD;//not advised to make your own quaternion
         vector input = <73.0, -63.0, 20.0> * DEG_TO_RAD;
         rotation rot = llEuler2Rot(input);
         rotation rot = llEuler2Rot(input);
         llSay(0,"The Euler2Rot of "+(string)input+" is: "+(string)rot );
         llSay(0,"The Euler2Rot of "+(string)input+" is: "+(string)rot );
     }
     }
}</lsl>
}</source>
|helpers
|helpers
|also_functions={{LSL DefineRow||[[llRot2Euler/ja|llRot2Euler]]|}}
|also_functions={{LSL DefineRow||{{LSLG/ja|llRot2Euler}}|}}
|also_events
|also_events
|also_tests
|also_tests
|also_articles={{LSL DefineRow||{{Wikipedia|Euler_Angles}}|}}
|also_articles={{LSL DefineRow||{{Wikipedia|オイラー角|lang=ja}}|}}
|notes=<lsl>v/=2;
|notes=<source lang="lsl2">v/=2;
rotation k = <0.0, 0.0, llSin(v.z), llCos(v.z)> * <0.0, llSin(v.y), 0.0, llCos(v.y)> * <llSin(v.x), 0.0, 0.0, llCos(v.x)>;</lsl>
rotation k = <0.0, 0.0, llSin(v.z), llCos(v.z)> * <0.0, llSin(v.y), 0.0, llCos(v.y)> * <llSin(v.x), 0.0, 0.0, llCos(v.x)>;</source>
|permission
|permission
|negative_index
|negative_index
|cat1=Math/3D/ja
|cat1=Math/3D
|cat2=Rotation/ja
|cat2=Rotation
|cat3=Euler/ja
|cat3=Euler
|cat4
|cat4
}}
}}

Latest revision as of 18:53, 27 December 2015

要約

関数: rotation llEuler2Rot( vector v );

オイラー角 v を rotation で返します。

• vector v

仕様

オイラー角ベクトル (単位はラジアン) は Z, Y, X の順に 3 つの軸のまわりを回転し、回転に変換されます。このため、llEuler2Rot(<1.0, 2.0, 3.0> * DEG_TO_RAD) は回転を生成するのに、X 軸のポインティング・ベクトルをとり、最初にグローバルの Z 軸まわりに 3° 回転させ、次にできたベクトルを Y 軸まわりに 2° 回転させ、最後に X 軸まわりに 1° 回転させます。

サンプル

default
{
    state_entry()
    {
        vector input = <73.0, -63.0, 20.0> * DEG_TO_RAD;
        rotation rot = llEuler2Rot(input);
        llSay(0,"The Euler2Rot of "+(string)input+" is: "+(string)rot );
    }
}

注意点

v/=2;
rotation k = <0.0, 0.0, llSin(v.z), llCos(v.z)> * <0.0, llSin(v.y), 0.0, llCos(v.y)> * <llSin(v.x), 0.0, 0.0, llCos(v.x)>;

関連項目

関数

•  llRot2Euler

記事

•  "Wikipedia logo"オイラー角

特記事項

Search JIRA for related Issues

Signature

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