SetFromQuaternion (SIMatrix3)
Introduced
3.5
Description
Sets the matrix3 using a rotation quaternion.
Scripting Syntax
SIMatrix3.SetFromQuaternion( q )
C# Syntax
SIMatrix3.SetFromQuaternion( SIQuaternion out_pVal );Parameters
|
Parameter |
Type |
Description |
|
q |
The rotation quaternion containing the new matrix3 values. |
Examples
VBScript Example
' ' This example illustrates how to interpolate the pose of object C ' between objects A and B ' option explicit dim alpha : alpha = 0.25 ' 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 ' TRANSLATE & ROTATE B dim vB : set vB = XSIMath.CreateVector3(-2, 2, 0) tgB.SetTranslation vB dim rB : set rB = XSIMath.CreateRotation( 0, 0, XSIMath.DegreesToRadians(-45) ) tgB.SetRotation rB gksB.Transform = tgB ' GET ROTATION MATRIX OF A & B dim mA : set mA = XSIMath.CreateMatrix3 tgA.GetRotationMatrix3 mA dim mB : set mB = XSIMath.CreateMatrix3 tgB.GetRotationMatrix3 mB ' DO A SLERP BETWEEN THE ROTATION MATRICES dim qA : set qA = XSIMath.CreateQuaternion mA.GetQuaternion qA dim qB : set qB = XSIMath.CreateQuaternion mB.GetQuaternion qB dim qC : set qC = XSIMath.CreateQuaternion qC.Slerp qA, qB, alpha ' DO A LINEAR INTERPOLATE OF POSITION dim vC : set vC = XSIMath.CreateVector3 vC.LinearlyInterpolate vA, vB, alpha ' CREATE A NEW OBJECT AND SET ITS ROTATION ' AND TRANSLATE WITH INTERPOLATED RESULTS dim C : set C = ActiveSceneRoot.AddNull("C") dim gksC : set gksC = C.Kinematics.Global dim tgC : set tgC = gksC.Transform dim mC : set mC = XSIMath.CreateMatrix3 mC.SetFromQuaternion qC tgC.SetRotationFromMatrix3 mC tgC.SetTranslation vC gksC.Transform = tgC
See Also
Autodesk Softimage v7.5