GetXYZAngleValues (SIQuaternion)

Introduced

3.5

Description

Returns the X,Y,Z Euler angles (in radians) for this quaternion.

Warning: Scripting languages that do not support output arguments (JScript, PerlScript and PythonScript) should use the alternative method SIQuaternion.GetXYZAngleValues2.

Scripting Syntax

SIQuaternion.GetXYZAngleValues( x, y, z )

C# Syntax

SIQuaternion.GetXYZAngleValues( Object& in_vX, Object& in_vY, Object& in_vZ );

Parameters

Parameter

Type

Description

x [in/out]

Double

X Euler angle in radians

y [in/out]

Double

Y Euler angle in radians

z [in/out]

Double

Z Euler angle in radians

Examples

VBScript Example

   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) & ")" )

See Also

SIQuaternion.GetXYZAngleValues2

SIQuaternion.SetFromXYZAngleValues



Autodesk Softimage v7.5