LlAxes2Rot/ja

From Second Life Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

要約

関数: rotation llAxes2Rot( vector fwd, vector left, vector up );

3 つの座標軸で定義される回転を rotation で返します。

• vector fwd
• vector left
• vector up

全ての 3 つのベクトルは互いに直交する単位ベクトルでなければなりません。

サンプル

default
{
    state_entry()
    {
        vector i = < 1.0, 0.0, 0.0>;
        vector j = < 0.0, 1.0, 0.0>;
        vector k = < 0.0, 0.0, 1.0>;

        rotation rot = llAxes2Rot( j, -i, k );

        llSay(0, (string) (llRot2Euler(rot) * RAD_TO_DEG) );
    }
}

このスクリプトはこのように表示します。

  Object: <-0.00000, 0.00000, 90.00000>
これはZ 軸を中心として (i, j, k) を 90 度回転させることで (j, -i, k) が得られることを表しています。

注意点

技術的には、最初の 2 個のベクトルだけが回転を導き出すのに必要で、これらのうちのいずれかを呼び出すことで行うことができます。

llAxes2Rot(fwd, left, fwd % left);
llAxes2Rot(left % up, left, up);
llAxes2Rot(fwd, up % fwd, up);

特記事項

Search JIRA for related Issues

テスト

•  Visual illustration 互いに直交する単位ベクトルの重要性について

Signature

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