SIQuaternion.SetFromXYZAngleValues
 
 
 

SIQuaternion.SetFromXYZAngleValues

Introduced

v3.5

Description

Sets the quaternion using X,Y,Z Euler angles (in radians).

C# Syntax

SIQuaternion.SetFromXYZAngleValues( Double in_dX, Double in_dY, Double in_dZ );

Scripting Syntax

SIQuaternion.SetFromXYZAngleValues( x, y, z );

Parameters

Parameter Type Description
x Double X Euler angle in radians
y Double Y Euler angle in radians
z Double Z Euler angle in radians

Examples

JScript Example

// 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]) + ")" );

See Also

SIQuaternion.GetXYZAngleValues SIQuaternion.SetFromXYZAngleValues