sugr
Class Affinity_3D

java.lang.Object
  extended bysugr.Element
      extended bysugr.Transformation
          extended bysugr.Homography_3D
              extended bysugr.Affinity_3D
All Implemented Interfaces:
java.lang.Cloneable, java.io.Serializable
Direct Known Subclasses:
ScaledMotion_3D

public class Affinity_3D
extends Homography_3D

This class contains constructors to build a Affinity_3D. Its matrix needs 12 entries to build it: A Affinity_3D consists of:

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
Affinity_3D()
          standard constructor. creates an identity matrix
Affinity_3D(double[] aff)
          sets Affinity_3D by hand. positions are: |aff[0] aff[3]
Affinity_3D(double[] aff, Matrix cov)
          sets Affinity_3D with covariance by hand. positions are: |aff[0] aff[3]
Affinity_3D(Rotation_3D rot, Translation_3D trans, Vector scale, Vector shear)
          Creates an affinity_3D by 12 paramaters: Transformation(3) Rotation(3), Scale (3), in x and y different values possible Shear (3), Error propagation is done automatically.
Affinity_3D(Rotation_3D rot, Translation_3D trans, Vector scale, Vector shear, Matrix cov)
          Creates an affinity_3D by 12 paramaters with covariance: Transformation(3) Rotation(3), Scale (3), in x and y different values possible Shear (3), No error propagation will be done.
 
Method Summary
 int getDegreesOfFreedom()
          Returns the number of elements to specify this transformation
 
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
approximate, calcCov, changeNullspace, changeNullspace, checkCovDim, checkElement, clone, ensureConstraints, estimate, estimate, gaussHelmertIterations, gaussHelmertIterationsOld, getConstraintValue, getCov, getJacobianOfConstraint, 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

Affinity_3D

public Affinity_3D()
standard constructor. creates an identity matrix


Affinity_3D

public Affinity_3D(double[] aff)
sets Affinity_3D by hand. positions are:
              |aff[0] aff[3] ...    |
              |aff[1] aff[4] ...    |
              |aff[2] aff[5] ...    |
              |  0      0     0    1|
 

Parameters:
aff - a double array containing the values. Must be dimension 12

Affinity_3D

public Affinity_3D(double[] aff,
                   Matrix cov)
sets Affinity_3D with covariance by hand. positions are:
              |aff[0] aff[3] ...    |
              |aff[1] aff[4] ...    |
              |aff[2] aff[5] ...    |
              |  0      0     0    1|
 

Parameters:
aff - a double array containing the values. Must be dimension 12
cov - 16x16 Matrix

Affinity_3D

public Affinity_3D(Rotation_3D rot,
                   Translation_3D trans,
                   Vector scale,
                   Vector shear)
Creates an affinity_3D by 12 paramaters: Error propagation is done automatically.

Parameters:
rot - contains the rotation matrix
trans - contains the translation matrix
scale - a vector with dimension 3
shear - Vector containing 6 entries with order:
            xy, xz, yz, yx, zx, zy 
e.g. xy means: Shear-parameter in xy-plane
if you want symmetric shear, set xy=yx, yz=zy and xz=zx

Affinity_3D

public Affinity_3D(Rotation_3D rot,
                   Translation_3D trans,
                   Vector scale,
                   Vector shear,
                   Matrix cov)
Creates an affinity_3D by 12 paramaters with covariance: No error propagation will be done.

Parameters:
rot - contains the rotation matrix
trans - contains the translation matrix
scale - a vector with dimension 3
shear - Vector containing 6 entries with order:
            xy, xz, yz, yx, zx, zy 
or [1 a1 a2 0] [a4 1 a3 0] [a5 a6 1 0] e.g. xy means: Shear-parameter in xy-plane
if you want symmetric shear, set xy=yx, yz=zy and xz=zx
cov - 16x16 matrix
Method Detail

getDegreesOfFreedom

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

Overrides:
getDegreesOfFreedom in class Homography_3D