sugr
Class Rotation_3D

java.lang.Object
  extended bysugr.Element
      extended bysugr.Transformation
          extended bysugr.Homography_3D
              extended bysugr.Affinity_3D
                  extended bysugr.ScaledMotion_3D
                      extended bysugr.Motion_3D
                          extended bysugr.Rotation_3D
All Implemented Interfaces:
java.lang.Cloneable, java.io.Serializable

public class Rotation_3D
extends Motion_3D

class containing rotation(3) constructors.

Author:
Norbert Fischer
See Also:
Serialized Form

Field Summary
private static long serialVersionUID
          Class version number for serialization
 
Fields inherited from class sugr.Homography_3D
DIM
 
Fields inherited from class sugr.Element
cov, MAXITER, v
 
Constructor Summary
Rotation_3D()
          standard constructor.
Rotation_3D(double omega, double phi, double kappa)
          Represents a rotation by three angles around the three axis' with following order of Rotationmatrices: R_z x R_y x R_x.
Rotation_3D(double q0, double q1, double q2, double q3)
          representation of rotation with quaternions.
Rotation_3D(double q0, double q1, double q2, double q3, Matrix cov)
          representation of rotation with quaternions and covariance (of rotation matrix!)
Rotation_3D(double omega, double phi, double kappa, Matrix cov)
          Represents a rotation by three angles around the three axis'.
Rotation_3D(Vector spinAxis)
          representation of rotation through RODRIGUEZ Please note: rotations with 180° are not allowed
Rotation_3D(Vector axis, double angle)
          Rotate around any abitrary axix with angle
Rotation_3D(Vector axis, double angle, Matrix cov)
          Rotate around any abitrary axix with angle, with covariance
Rotation_3D(Vector spinAxis, Matrix cov)
          representation of rotation through RODRIGUEZ with covariance (only covariance of rotation matrix) Please note: rotations with 180° are not allowed Found in: http://www.ipb.uni-bonn.de/publications/papers99/foerstner99_rotation.ps.gz
 
Method Summary
 int getDegreesOfFreedom()
          Returns the number of elements to specify this transformation
 
Methods inherited from class sugr.Motion_3D
estimate, getConstraintValue, getJacobianOfConstraint, printConstraint
 
Methods inherited from class sugr.ScaledMotion_3D
approximate
 
Methods inherited from class sugr.Homography_3D
doCondition, getDimCol, getDimRow, getJacobianAfterFirst, getJacobianAfterSecond, getLineMatrix, getPlaneMatrix, getPointMatrix, transform
 
Methods inherited from class sugr.Transformation
errorProp, getDimension, getJacobianOfRelation, getReducedAB, getTransformationMatrix, getTransposeTransMatrix, transform
 
Methods inherited from class sugr.Element
calcCov, changeNullspace, changeNullspace, checkCovDim, checkElement, clone, ensureConstraints, estimate, gaussHelmertIterations, gaussHelmertIterationsOld, getCov, getV, normalizeSphere, normalizeSphereComparable, print, print, reduceFirstMatrix, reduceMatrix, reduceMatrix, setCov, setV, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
Class version number for serialization

See Also:
Constant Field Values
Constructor Detail

Rotation_3D

public Rotation_3D()
standard constructor. Creates an empty rotation matrix = indentity matrix


Rotation_3D

public Rotation_3D(double omega,
                   double phi,
                   double kappa)
Represents a rotation by three angles around the three axis' with following order of Rotationmatrices: R_z x R_y x R_x.

Parameters:
omega - angle around x-Axis, given in radians
phi - angle around y-Axis, given in radians
kappa - angle around z-Axis, given in radians

Rotation_3D

public Rotation_3D(double omega,
                   double phi,
                   double kappa,
                   Matrix cov)
Represents a rotation by three angles around the three axis'. With covariance matrix. With following order of Rotationmatrices: R_z x R_y x R_x.

Parameters:
omega - angle around x-Axis, given in radians
phi - angle around y-Axis, given in radians
kappa - angle around z-Axis, given in radians
cov - 16x16 matrix

Rotation_3D

public Rotation_3D(Vector spinAxis)
representation of rotation through RODRIGUEZ Please note: rotations with 180° are not allowed

Parameters:
spinAxis - - A 3x1-Vector containing the axis after RODRIGUEZ Read more about this in Förstner, PhotoI, page 5-7

Rotation_3D

public Rotation_3D(Vector spinAxis,
                   Matrix cov)
representation of rotation through RODRIGUEZ with covariance (only covariance of rotation matrix) Please note: rotations with 180° are not allowed Found in: http://www.ipb.uni-bonn.de/publications/papers99/foerstner99_rotation.ps.gz

Parameters:
spinAxis - A 3x1-Vector containing the axis after RODRIGUEZ.
cov - 16x16 Matrix

Rotation_3D

public Rotation_3D(double q0,
                   double q1,
                   double q2,
                   double q3)
representation of rotation with quaternions. This is the best case if you want to use all angles (no special cases)

Parameters:
q0 - first parameter of quaternion
q1 - second parameter of quaternion
q2 - third parameter of quaternion
q3 - fourth parameter of quaternion

Rotation_3D

public Rotation_3D(double q0,
                   double q1,
                   double q2,
                   double q3,
                   Matrix cov)
representation of rotation with quaternions and covariance (of rotation matrix!) . This is the best representation if you want to use all angles (no special cases) TODO: Use covariance of quaternion and do error propagation !

Parameters:
q0 - first parameter of quaternion
q1 - second parameter of quaternion
q2 - third parameter of quaternion
q3 - fourth parameter of quaternion
cov - 16x16 Matrix

Rotation_3D

public Rotation_3D(Vector axis,
                   double angle)
Rotate around any abitrary axix with angle

Parameters:
axis - a vector with three elements (x,y,z)
angle - given in radians

Rotation_3D

public Rotation_3D(Vector axis,
                   double angle,
                   Matrix cov)
Rotate around any abitrary axix with angle, with covariance

Parameters:
axis - a vector with three elements (x,y,z)
angle - given in radians
cov - 16x16 Matrix
Method Detail

getDegreesOfFreedom

public int getDegreesOfFreedom()
Returns the number of elements to specify this transformation

Overrides:
getDegreesOfFreedom in class Motion_3D