SIQuaternion.GetXYZAngleValues

導入

v3.5

詳細

このクォータニオンの x,Y,Z のオイラー角(ラジアン)を戻します。

警告:JScript、PerlScript、PythonScript など、出力引数をサポートしないスクリプト言語の場合には、SIQuaternion.GetXYZAngleValues2を使用してください。

スクリプト 構文

SIQuaternion.GetXYZAngleValues( x, y, z );

パラメータ

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

VBScript の例

option explicit
        ' CREATE OBJECTS A & B
        dim A : set A = ActiveSceneRoot.AddNull("A")
        dim B : set B = ActiveSceneRoot.AddNull("B")
        ' GET GLOBAL TRANSFORM OF A & B
        dim gksA : set gksA = A.kinematics.global 
        dim gksB : set gksB = B.kinematics.global 
        dim tgA : set tgA = gksA.transform
        dim tgB : set tgB = gksB.transform
        ' TRANSLATE & ROTATE A
        dim vA : set vA = XSIMath.CreateVector3(2, 2, 0)
        tgA.SetTranslation vA           
        dim rA : set rA = XSIMath.CreateRotation( 0, 0, XSIMath.DegreesToRadians( 45 ) )
        tgA.SetRotation rA 
        gksA.transform = tgA
        ' GET LOCAL TRANSFORM OF B RELATIVE TO A
        dim mA : set mA = XSIMath.CreateMatrix3
        dim mB : set mB = XSIMath.CreateMatrix3
        tgA.GetRotationMatrix3 mA
        tgB.GetRotationMatrix3 mB
        mA.TransposeInPlace()
        mB.MulInPlace mA 
        ' GET ORIENTATION OF B RELATIVE TO A AS A QUATERNION
        dim qB : set qB = XSIMath.CreateQuaternion
        mB.GetQuaternion qB
        ' log result
        dim x,y,z : qB.GetXYZAngleValues x, y, z
        Application.LogMessage( "R(" & _
                XSIMath.RadiansToDegrees(x) & "," & _
                XSIMath.RadiansToDegrees(y) & "," & _
                XSIMath.RadiansToDegrees(z) & ")" )

関連項目

SIQuaternion.GetXYZAngleValues2 SIQuaternion.SetFromXYZAngleValues