[vtkusers] Internal vtkLandmarkTransform matrix
David Gobbi
dgobbi at irus.rri.on.ca
Fri Feb 16 11:56:00 EST 2001
Hi George,
The vtkLandmarkTransform only provides you with a 4x4 matrix, and it
is up to you to decompose that matrix into rotations about the three
axes. Internally, vtkLandmarkTransform uses a quaternion (not rotations
about the three axes) to represent the 3D orientation.
You can copy the matrix from the vtkLandmarkTransform into a vtkTransform,
and then use GetOrientation() to get the three rotation angles.
-----
Here's something I'd like to throw out to all the other VTK developers:
The 'order of rotations' has always been a nasty issue in 3D geometry,
and it is particularly nasty in VTK because the order of rotations used
is not always documented (!!!).
Perhaps the GetOrienation/SetOrientation methods in VTK should eventually
be replaced with less ambiguous
SetOrientationXYZ()
GetOrientationXYZ()
or whatever the usual order of rotation in VTK actually is.
- David
On Fri, 16 Feb 2001, George Kamucha wrote:
> Hi all,
> I am using the vtksbIterativeClosestPointTransform to obtain a
> registration transform between two data sets. When I provide a rotation
> or a translation to one data set in a particular direction (either a
> long X, Y or Z), I am able to analyse the resulting transformations from
> the internal LandmarkTransform matrix, and the program is working
> wonderfully. But when I use a data set which has to be rotated along
> all the three axis in the registration process, I obtain a matrix which
> I have not been able to resolve in order to obtain the particular
> rotations along the three axis: X, Y and Z . The translation is
> straight forward but how can I get these other parameters? In essence,
> what is the order of rotation in the vtkLandmarkTransform matrix? Please
> assist.
>
> Regards
>
> George
More information about the vtkusers
mailing list