public GetAxisAndAngle ( OpenTK.Vector3d &axis, double &angle ) : void | ||
axis | OpenTK.Vector3d | |
angle | double | |
return | void |
public void GetAxisAndAngle(out Vector3d axis, out double angle)
{
Quaterniond Quaterniond;
Normalize(out Quaterniond);
double cos = Quaterniond.W;
angle = System.Math.Acos(cos) * 2 * Functions.RTOD;
double sin = System.Math.Sqrt( 1.0d - cos * cos );
if ( System.Math.Abs( sin ) < 0.0001 ) sin = 1;
axis = new Vector3d(X / sin, Y / sin, Z / sin);
}