/// <summary> /// Create rotation transform from an axis and rotation /// </summary> /// <param name="axis"></param> /// <param name="radians"></param> /// <returns></returns> static public Matrix3D FromRotation(Vector3D axis, float radians) { return(Matrix3D.FromRotation(Quaternion.FromAxisAngle(axis, radians))); }
/// <summary> /// rotate matrix around an arbitrary axis /// </summary> /// <param name="axis"></param> /// <param name="radians"></param> public void Rotate(Vector3D axis, float radians) { Rotate(Quaternion.FromAxisAngle(axis, radians)); }
/// <summary> /// Create a quaternion given an axis and a rotation around that axis /// </summary> /// <param name="x"></param> /// <param name="y"></param> /// <param name="z"></param> /// <param name="fRadians"></param> /// <returns></returns> static public Quaternion FromAxisAngle(float x, float y, float z, float fRadians) { return(Quaternion.FromAxisAngle(Vector3D.FromXYZ(x, y, z), fRadians)); }