Methods_T_Rhino_Geometry_Quaternion - mcneel/rhinocommon-api-docs GitHub Wiki
The Quaternion type exposes the following members.
Name | Description | |
---|---|---|
![]() ![]() |
CrossProduct |
Computes the vector cross product of p and q = (0,x,y,z),
where (x,y,z) = CrossProduct(p.Vector,q.Vector).
This is not the same as the quaternion product p*q. |
![]() ![]() |
Distance | Returns the distance or norm of the difference between two quaternions. |
![]() |
DistanceTo | Computes the distance or norm of the difference between this and another quaternion. |
![]() |
EpsilonEquals | Check that all values in other are within epsilon of the values in this |
![]() |
Equals(Object) | Determines whether an object is a quaternion and has the same value of this quaternion. (Overrides ValueType.Equals(Object).) |
![]() |
Equals(Quaternion) | Determines whether this quaternion has the same value of another quaternion. |
![]() |
GetHashCode | Gets a non-unique but repeatable hashing code for this quaternion. (Overrides ValueType.GetHashCode().) |
![]() |
GetRotation(Plane) | Returns the frame created by applying the quaternion's rotation to the canonical world frame (1,0,0),(0,1,0),(0,0,1). |
![]() |
GetRotation(Double, Vector3d) | Returns the rotation defined by the quaternion. |
![]() |
GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() |
Invert |
Modifies this quaternion to become
(a/L2, -b/L2, -c/L2, -d/L2),
where L2 = length squared = (aa + bb + cc + dd). This is the multiplicative inverse, i.e., (a,b,c,d)(a/L2, -b/L2, -c/L2, -d/L2) = (1,0,0,0). |
![]() |
MatrixForm | Returns 4x4 real valued matrix form of the quaternion a b c d -b a -d c -c d a -b -d -c b a which has the same arithmetic properties as the quaternion. |
![]() ![]() |
Product | The quaternion product of p and q. This is the same value as pq. |
![]() |
Rotate | Rotates a 3d vector. This operation is also called conjugation, because the result is the same as (q.Conjugate()*(0,x,y,x)*q/q.LengthSquared).Vector. |
![]() ![]() |
Rotation(Double, Vector3d) | Returns the unit quaternion cos(angle/2), sin(angle/2)*x, sin(angle/2)*y, sin(angle/2)z where (x,y,z) is the unit vector parallel to axis. This is the unit quaternion that represents the rotation of angle about axis. |
![]() ![]() |
Rotation(Plane, Plane) | Returns the unit quaternion that represents the the rotation that maps plane0.xaxis to plane1.xaxis, plane0.yaxis to plane1.yaxis, and plane0.zaxis to plane1.zaxis. |
![]() |
Set | Sets all coefficients of the quaternion. |
![]() |
SetRotation(Double, Vector3d) | Sets the quaternion to cos(angle/2), sin(angle/2)x, sin(angle/2)y, sin(angle/2)z where (x,y,z) is the unit vector parallel to axis. This is the unit quaternion that represents the rotation of angle about axis. |
![]() |
SetRotation(Plane, Plane) | Sets the quaternion to the unit quaternion which rotates plane0.xaxis to plane1.xaxis, plane0.yaxis to plane1.yaxis, and plane0.zaxis to plane1.zaxis. |
![]() |
ToString | Returns the fully qualified type name of this instance. (Inherited from ValueType.) |
![]() |
Unitize | Scales the quaternion's coordinates so that aa + bb + cc + dd = 1. |