RhinoCommon API
TransformDecomposeSymmetric Method |
A Symmetric linear transformation can be decomposed A = Q * Diag * Q ^ T, where Diag is a diagonal
transformation. Diag[i][i] is an eigenvalue of A and the i-th column of Q is a corresponding
unit length eigenvector. Note, this transformation must be Linear and Symmetric.
Namespace: Rhino.Geometry
Assembly: RhinoCommon (in RhinoCommon.dll)
Since: 6.12
public bool DecomposeSymmetric( out Transform matrix, out Vector3d diagonal )
Public Function DecomposeSymmetric ( <OutAttribute> ByRef matrix As Transform, <OutAttribute> ByRef diagonal As Vector3d ) As Boolean
Parameters
- matrix
- Type: Rhino.GeometryTransform
An orthonormal matrix of eigenvectors (Q). - diagonal
- Type: Rhino.GeometryVector3d
A vector of eigenvalues.
Return Value
Type: Booleantrue if successful, false otherwise.
If success, this== Q*Diagonal(diagonal) * QT, where QT == Q.Transpose().
If L.IsLinear and LT==L.Transpose then LT*L is symmetric and is a common source of symmetric transformations.