SIQuaternion.SetFromXYZAngleValues

導入

v3.5

詳細

X,Y,Z のオイラー角(ラジアン)を使用してクォータニオンを設定します。

スクリプト 構文

SIQuaternion.SetFromXYZAngleValues( x, y, z );

パラメータ

パラメータ タイプ 詳細
x Double X のオイラー角(ラジアン)
y Double Y のオイラー角(ラジアン)
z Double Z のオイラー角(ラジアン)

JScript の例

// Define 2 quaternion orientations using degrees radian
        var qA = XSIMath.CreateQuaternion();
        qA.SetFromXYZAngleValues( 
                XSIMath.DegreesToRadians(0),
                XSIMath.DegreesToRadians(0),
                XSIMath.DegreesToRadians(90) );
        var qB = XSIMath.CreateQuaternion();
        qB.SetFromXYZAngleValues( 
                XSIMath.DegreesToRadians(0),
                XSIMath.DegreesToRadians(0),
                XSIMath.DegreesToRadians(180) );
        // Do a sperical linear interpolation 50% between A & B 
        // and log results.
        var qC = XSIMath.CreateQuaternion();
        qC.Slerp( qA, qB, 0.5 );
        Application.LogMessage( "Q[" + 
                qC.w + "," +
                qC.x + ", V(" + 
                qC.y + "," + 
                qC.z + ")" + 
                "]" );  
        var aXYZ = new VBArray(qC.GetXYZAngleValues2()).toArray();
        Application.LogMessage( "R(" + 
                XSIMath.RadiansToDegrees(aXYZ[0]) + "," +
                XSIMath.RadiansToDegrees(aXYZ[1]) + "," + 
                XSIMath.RadiansToDegrees(aXYZ[2]) + ")" );

関連項目

SIQuaternion.GetXYZAngleValues SIQuaternion.SetFromXYZAngleValues