Difference between revisions of "LlEuler2Rot/ja"
Jump to navigation
Jump to search
Mako Nozaki (talk | contribs) m (カテゴリ変更) |
Mizu Melody (talk | contribs) 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= | |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=< | |examples=<source lang="lsl2">default | ||
{ | { | ||
state_entry() | state_entry() | ||
{ | { | ||
vector input = <73.0, -63.0, 20.0> * DEG_TO_RAD; | 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 ); | ||
} | } | ||
}</ | }</source> | ||
|helpers | |helpers | ||
|also_functions={{LSL DefineRow|| | |also_functions={{LSL DefineRow||{{LSLG/ja|llRot2Euler}}|}} | ||
|also_events | |also_events | ||
|also_tests | |also_tests | ||
|also_articles={{LSL DefineRow||{{Wikipedia| | |also_articles={{LSL DefineRow||{{Wikipedia|オイラー角|lang=ja}}|}} | ||
|notes=< | |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)>;</ | 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 | |cat1=Math/3D | ||
|cat2=Rotation | |cat2=Rotation | ||
|cat3=Euler | |cat3=Euler | ||
|cat4 | |cat4 | ||
}} | }} |
Latest revision as of 17:53, 27 December 2015
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
要約
関数: rotation llEuler2Rot( 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)>;
関連項目
特記事項
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。