Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

RotationMatrix Class Reference

Representation for 3x3 RotationMatrices. More...

#include <Matrix.h>

Inheritance diagram for RotationMatrix:

Inheritance graph
[legend]
Collaboration diagram for RotationMatrix:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 RotationMatrix ()
 Default constructor.

 RotationMatrix (const Vector3< double > &c0, const Vector3< double > &c1, const Vector3< double > &c2)
 Constructor.

RotationMatrixoperator= (const Matrix3x3< double > &other)
 Assignment operator.

 RotationMatrix (const Matrix3x3< double > &other)
 Copy constructor.

RotationMatrixfromKardanRPY (const double yaw, const double pitch, const double roll)
 RotationMatrix from RPY-angles.

RotationMatrix invert ()
 Invert the matrix.

RotationMatrixrotateX (const double angle)
 Rotation around the x-axis.

RotationMatrixrotateY (const double angle)
 Rotation around the y-axis.

RotationMatrixrotateZ (const double angle)
 Rotation around the z-axis.

double getXAngle () const
 Get the x-angle of a RotationMatrix.

double getYAngle () const
 Get the y-angle of a RotationMatrix.

double getZAngle () const
 Get the z-angle of a RotationMatrix.


Static Public Member Functions

RotationMatrix getRotationX (const double angle)
 Create and return a RotationMatrix, rotated around x-axis.

RotationMatrix getRotationY (const double angle)
 Create and return a RotationMatrix, rotated around y-axis.

RotationMatrix getRotationZ (const double angle)
 Create and return a RotationMatrix, rotated around z-axis.


Detailed Description

Representation for 3x3 RotationMatrices.

Definition at line 302 of file Matrix.h.


Constructor & Destructor Documentation

RotationMatrix::RotationMatrix  )  [inline]
 

Default constructor.

Definition at line 307 of file Matrix.h.

Referenced by getRotationX(), getRotationY(), getRotationZ(), rotateX(), rotateY(), and rotateZ().

RotationMatrix::RotationMatrix const Vector3< double > &  c0,
const Vector3< double > &  c1,
const Vector3< double > &  c2
[inline]
 

Constructor.

Parameters:
c0 the first column of the matrix.
c1 the second column of the matrix.
c2 the third column of the matrix.

Definition at line 316 of file Matrix.h.

RotationMatrix::RotationMatrix const Matrix3x3< double > &  other  )  [inline]
 

Copy constructor.

Parameters:
other The other matrix that is copied to this one

Definition at line 344 of file Matrix.h.


Member Function Documentation

RotationMatrix& RotationMatrix::operator= const Matrix3x3< double > &  other  )  [inline]
 

Assignment operator.

Parameters:
other The other matrix that is assigned to this one
Returns:
A reference to this object after the assignment.

Reimplemented from Matrix3x3< double >.

Definition at line 331 of file Matrix.h.

References Matrix3x3< V >::c.

RotationMatrix & RotationMatrix::fromKardanRPY const double  yaw,
const double  pitch,
const double  roll
 

RotationMatrix from RPY-angles.

Roll rotates along z axis, Pitch rotates along y axis, Yaw rotates along x axis

R(roll,pitch,yaw) = R(z,roll)*R(y,pitch)*R(x,yaw)

See also:
"Robotik 1 Ausgabe Sommersemester 2001" by Prof. Dr. O. von Stryk
Attention:
RPY-angles are not clearly defined!

Definition at line 13 of file Matrix.cpp.

Referenced by Geometry::relative2FieldCoord().

RotationMatrix RotationMatrix::invert  )  [inline]
 

Invert the matrix.

Note:
: Inverted rotation matrix is transposed matrix.

Definition at line 367 of file Matrix.h.

References Matrix3x3< double >::transpose().

Referenced by Geometry::calculatePointByAngles(), and MotionRecognition::getCameraTranslation().

Here is the call graph for this function:

RotationMatrix & RotationMatrix::rotateX const double  angle  ) 
 

Rotation around the x-axis.

Parameters:
angle The angle this pose will be rotated by
Returns:
A reference to this object after the calculation.

Definition at line 35 of file Matrix.cpp.

References RotationMatrix().

Referenced by Pose3D::rotateX().

Here is the call graph for this function:

RotationMatrix & RotationMatrix::rotateY const double  angle  ) 
 

Rotation around the y-axis.

Parameters:
angle The angle this pose will be rotated by
Returns:
A reference to this object after the calculation.

Definition at line 45 of file Matrix.cpp.

References RotationMatrix().

Referenced by Pose3D::rotateY(), GT2004HeadControl::simpleLookAtPointFixNeckTilt(), and GT2004HeadControl::simpleLookAtPointRelativeToRobot().

Here is the call graph for this function:

RotationMatrix & RotationMatrix::rotateZ const double  angle  ) 
 

Rotation around the z-axis.

Parameters:
angle The angle this pose will be rotated by
Returns:
A reference to this object after the calculation.

Definition at line 55 of file Matrix.cpp.

References RotationMatrix().

Referenced by Pose3D::rotateZ(), GT2004HeadControl::simpleLookAtPointFixNeckTilt(), and GT2004HeadControl::simpleLookAtPointOnField().

Here is the call graph for this function:

double RotationMatrix::getXAngle  )  const
 

Get the x-angle of a RotationMatrix.

Returns:
The angle around the x-axis between the original and the rotated z-axis projected on the y-z-plane

Definition at line 65 of file Matrix.cpp.

References Vector3< double >::y.

double RotationMatrix::getYAngle  )  const
 

Get the y-angle of a RotationMatrix.

Returns:
The angle around the y-axis between the original and the rotated x-axis projected on the x-z-plane

Definition at line 71 of file Matrix.cpp.

References Vector3< double >::z.

double RotationMatrix::getZAngle  )  const
 

Get the z-angle of a RotationMatrix.

Returns:
The angle around the z-axis between the original and the rotated x-axis projected on the x-y-plane

Definition at line 77 of file Matrix.cpp.

References Vector3< double >::y.

RotationMatrix RotationMatrix::getRotationX const double  angle  )  [inline, static]
 

Create and return a RotationMatrix, rotated around x-axis.

Parameters:
angle 
Returns:
rotated RotationMatrix

Definition at line 426 of file Matrix.h.

References RotationMatrix().

Here is the call graph for this function:

RotationMatrix RotationMatrix::getRotationY const double  angle  )  [inline, static]
 

Create and return a RotationMatrix, rotated around y-axis.

Parameters:
angle 
Returns:
rotated RotationMatrix

Definition at line 437 of file Matrix.h.

References RotationMatrix().

Here is the call graph for this function:

RotationMatrix RotationMatrix::getRotationZ const double  angle  )  [inline, static]
 

Create and return a RotationMatrix, rotated around z-axis.

Parameters:
angle 
Returns:
rotated RotationMatrix

Definition at line 448 of file Matrix.h.

References RotationMatrix().

Here is the call graph for this function:


The documentation for this class was generated from the following files:
Generated on Thu Sep 23 20:11:36 2004 for GT2004 by doxygen 1.3.6