Bullet Collision Detection & Physics Library: btPolarDecomposition Class Reference

Bullet Collision Detection & Physics Library

Public Member Functions | Private Attributes | List of all members
btPolarDecomposition Class Reference

This class is used to compute the polar decomposition of a matrix. More...

`#include <btPolarDecomposition.h>`

## Public Member Functions
| btPolarDecomposition (btScalar tolerance=btScalar(0.0001), unsigned int maxIterations=16)
| Creates an instance with optional parameters.
unsigned int | decompose (const btMatrix3x3 &a, btMatrix3x3 &u, btMatrix3x3 &h) const
| Decomposes a matrix into orthogonal and symmetric, positive-definite parts.
unsigned int | maxIterations () const
| Returns the maximum number of iterations that this algorithm will perform to achieve convergence.

## Private Attributes
btScalar | m_tolerance
unsigned int | m_maxIterations

## 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.

## ◆ 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.

## Member Data Documentation

## ◆ m_maxIterations

unsigned int btPolarDecomposition::m_maxIterations
| private

Definition at line 51 of file btPolarDecomposition.h.

## ◆ m_tolerance

btScalar btPolarDecomposition::m_tolerance
| private

Definition at line 50 of file btPolarDecomposition.h.

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

- btPolarDecomposition.h
- btPolarDecomposition.cpp