SIQuaternion.SetFromXYZAngleValues

導入

v3.5

詳細

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

C#構文

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

スクリプト構文

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