Templates -- Meow
1.1.4
A C++ template which is unable and also not allowed to compile to obj-file first.
|
Rotation a point/vector alone an axis with given angle in 3D world. More...
#include "LinearTransformations.h"
Public Member Functions | |
Rotation3D () | |
Rotation3D (Rotation3D const &b) | |
~Rotation3D () | |
Rotation3D & | copyFrom (Rotation3D const &b) |
Copy data. More... | |
Rotation3D & | referenceFrom (Rotation3D const &b) |
Reference data. More... | |
Scalar | parameter (size_t i) const |
same as theta(i) More... | |
Scalar | parameter (size_t i, Scalar const &s) |
same as theta(i, s) More... | |
Scalar const & | theta (size_t i) const |
Get the i -th theta. More... | |
Scalar const & | theta (size_t i, Scalar const &s) |
Set the i -th theta. More... | |
void | axisAngle (Vector< Scalar > const &axis, Scalar const &angle) |
Setting. More... | |
Rotation3D & | add (Rotation3D const &r) |
Concat another rotation transformation. More... | |
Matrix< Scalar > | transformate (Matrix< Scalar > const &x) const |
Do the transformate. More... | |
Matrix< Scalar > | jacobian (Matrix< Scalar > const &x) const |
Return the jacobian matrix (derivate by the input vector) of this transformate. More... | |
Matrix< Scalar > | jacobian (Matrix< Scalar > const &x, size_t i) const |
Return the jacobian matrix of this transformate. More... | |
Matrix< Scalar > | transformateInv (Matrix< Scalar > const &x) const |
Do the inverse transformate. More... | |
Matrix< Scalar > | jacobianInv (Matrix< Scalar > const &x) const |
Return the jacobian matrix of the inverse form of this transformate. More... | |
Matrix< Scalar > | jacobianInv (Matrix< Scalar > const &x, size_t i) const |
Return the jacobian matrix of the inverse form of this transformate. More... | |
Matrix< Scalar > | matrixInv () const |
Return the inverse matrix. More... | |
Rotation3D & | operator= (Rotation3D const &b) |
same as copyFrom(b) More... | |
Public Member Functions inherited from meow::LinearTransformation< Scalar > | |
virtual | ~LinearTransformation () |
virtual Matrix< Scalar > const & | matrix () const |
Return the matrix form of this transformation. More... | |
Public Member Functions inherited from meow::Transformation< Scalar > | |
virtual | ~Transformation () |
size_t | inputRows () const |
Return the number of rows of the input matrix. More... | |
size_t | inputCols () const |
Return the number of columns of the input matrix. More... | |
size_t | outputRows () const |
Return the number of rows of the output matrix. More... | |
size_t | outputCols () const |
Return the number of columns of the output matrix. More... | |
size_t | parameterSize () const |
Return the number of parameters. More... | |
virtual bool | inversable () const |
Return whether this transformation is inversable or not. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from meow::LinearTransformation< Scalar > | |
LinearTransformation (size_t inputRows, size_t outputRows, size_t psize) | |
LinearTransformation (size_t inputRows, size_t outputRows, size_t psize, Matrix< Scalar > const &m) | |
LinearTransformation (LinearTransformation const &b) | |
LinearTransformation & | copyFrom (LinearTransformation const &b) |
Copy settings, matrix from another LinearTransformation. More... | |
LinearTransformation & | referenceFrom (LinearTransformation const &b) |
Reference settings, matrix from another LinearTransformation. More... | |
virtual Matrix< Scalar > const & | matrix (Matrix< Scalar > const &m) |
setup the matrix More... | |
Protected Member Functions inherited from meow::Transformation< Scalar > | |
Transformation (size_t inputRows, size_t inputCols, size_t outputRows, size_t outputCols, size_t psize) | |
Transformation (Transformation const &b) | |
Transformation & | copyFrom (Transformation const &b) |
Copy from the specified one. More... | |
Transformation & | referenceFrom (Transformation const &b) |
reference from the specified one More... | |
Rotation a point/vector alone an axis with given angle in 3D world.
Definition at line 20 of file LinearTransformations.h.
|
inline |
Constructor with no rotation
Definition at line 69 of file LinearTransformations.h.
|
inline |
Constructor and copy data
Definition at line 75 of file LinearTransformations.h.
|
inline |
Destructor
Definition at line 82 of file LinearTransformations.h.
|
inline |
Concat another rotation transformation.
[in] | r | another rotation transformation |
Definition at line 171 of file LinearTransformations.h.
|
inline |
Setting.
[in] | axis | axis |
[in] | angle | angle |
Definition at line 160 of file LinearTransformations.h.
|
inline |
Copy data.
[in] | b | another Rotation3D class. |
*this
Definition at line 91 of file LinearTransformations.h.
|
inlinevirtual |
Return the jacobian matrix (derivate by the input vector) of this transformate.
The matrix we return is:
Where the definition of and is the same as the definition in the description of the method transformate() .
[in] | x | the input vector (in this case it is a useless parameter) |
Reimplemented from meow::Transformation< Scalar >.
Definition at line 243 of file LinearTransformations.h.
|
inlinevirtual |
Return the jacobian matrix of this transformate.
Here we need to discussion in three case:
Where is the input vector, is the same one in the description of transformate().
[in] | x | the input vector |
[in] | i | the index of the parameters(theta) to dervite |
Reimplemented from meow::Transformation< Scalar >.
Definition at line 320 of file LinearTransformations.h.
|
inlinevirtual |
Return the jacobian matrix of the inverse form of this transformate.
[in] | x | the input vector |
Reimplemented from meow::Transformation< Scalar >.
Definition at line 354 of file LinearTransformations.h.
|
inlinevirtual |
Return the jacobian matrix of the inverse form of this transformate.
[in] | x | the input vector |
[in] | i | the index of the parameters(theta) to dervite |
Reimplemented from meow::Transformation< Scalar >.
Definition at line 365 of file LinearTransformations.h.
|
inlinevirtual |
Return the inverse matrix.
In this case, the inverse matrix is equal to the transpose of the matrix
Reimplemented from meow::LinearTransformation< Scalar >.
Definition at line 391 of file LinearTransformations.h.
|
inline |
same as copyFrom(b)
Definition at line 397 of file LinearTransformations.h.
|
inlinevirtual |
same as theta(i)
Implements meow::Transformation< Scalar >.
Definition at line 112 of file LinearTransformations.h.
|
inlinevirtual |
same as theta(i, s)
Implements meow::Transformation< Scalar >.
Definition at line 119 of file LinearTransformations.h.
|
inline |
Reference data.
[in] | b | another Rotation3D class. |
*this
Definition at line 103 of file LinearTransformations.h.
|
inline |
Get the i
-th theta.
i
can only be 1, 2 or 3
[in] | i | index |
i
-th theta Definition at line 131 of file LinearTransformations.h.
|
inline |
Set the i
-th theta.
i
can only be 1, 2 or 3
[in] | i | index |
[in] | s | new theta value |
i
-th theta Definition at line 144 of file LinearTransformations.h.
|
inlinevirtual |
Do the transformate.
Assume:
Then we have:
Where:
[in] | x | the input vector |
Implements meow::Transformation< Scalar >.
Definition at line 213 of file LinearTransformations.h.
|
inlinevirtual |
Do the inverse transformate.
[in] | x | the input vector |
Reimplemented from meow::Transformation< Scalar >.
Definition at line 344 of file LinearTransformations.h.