Blender  V3.3
Public Member Functions | List of all members
btPolarDecomposition Class Reference

#include <btPolarDecomposition.h>

Public Member Functions

 btPolarDecomposition (btScalar tolerance=btScalar(0.0001), unsigned int maxIterations=16)
 
unsigned int decompose (const btMatrix3x3 &a, btMatrix3x3 &u, btMatrix3x3 &h) const
 
unsigned int maxIterations () const
 

Detailed Description

This class is used to compute the polar decomposition of a matrix. In general, the polar decomposition factorizes a matrix, A, into two parts: a unitary matrix (U) and a positive, semi-definite Hermitian matrix (H). However, in this particular implementation the original matrix, A, is required to be a square 3x3 matrix with real elements. This means that U will be an orthogonal matrix and H with be a positive-definite, symmetric matrix.

Definition at line 14 of file btPolarDecomposition.h.

Constructor & Destructor Documentation

◆ btPolarDecomposition()

btPolarDecomposition::btPolarDecomposition ( btScalar  tolerance = btScalar(0.0001),
unsigned int  maxIterations = 16 
)

Creates an instance with optional parameters.

Parameters
tolerance- the tolerance used to determine convergence of the algorithm
maxIterations- the maximum number of iterations used to achieve convergence

Definition at line 33 of file btPolarDecomposition.cpp.

Member Function Documentation

◆ decompose()

unsigned int btPolarDecomposition::decompose ( const btMatrix3x3 a,
btMatrix3x3 u,
btMatrix3x3 h 
) const

Decomposes a matrix into orthogonal and symmetric, positive-definite parts. If the number of iterations returned by this function is equal to the maximum number of iterations, the algorithm has failed to converge.

Parameters
a- the original matrix
u- the resulting orthogonal matrix
h- the resulting symmetric matrix
Returns
the number of iterations performed by the algorithm.

Definition at line 38 of file btPolarDecomposition.cpp.

References Freestyle::a, btFuzzyZero(), btMatrix3x3, and btPow().

Referenced by polarDecompose(), PolarDecompose(), and PolarDecomposition().

◆ maxIterations()

unsigned int btPolarDecomposition::maxIterations ( ) const

Returns the maximum number of iterations that this algorithm will perform to achieve convergence.

Returns
maximum number of iterations

Definition at line 85 of file btPolarDecomposition.cpp.


The documentation for this class was generated from the following files: