<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2800.1555" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Hi All,</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Could you have a look at my method, I am not sure
if it is correct. Thanks in advance.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>I am trying to extract angle information
from a 3D affine transform, I want to know if I can do as the following
steps.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>1. Decompose the affine transform matrix (A)
excluding translation using SVD (vnl_svd), get A = UWV,</FONT></DIV>
<DIV><FONT face=Arial size=2> so the rotaiton matrix can be R
= UV'.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>2. Create an euler transform (E) using the rotation
matrix, E->setMatrix( R ),</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>3. Calculate the three angles around axes by
</FONT></DIV>
<DIV><FONT face=Arial size=2> angleX =
E->GetAngleX()</FONT></DIV>
<DIV><FONT face=Arial size=2> angleY =
E->GetAngleY()</FONT></DIV>
<DIV><FONT face=Arial size=2> angleZ =
E->GetAngleZ()</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Am I right?</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>By the way, should the rotation matrix R be
vnl_matrix type? Does vnl_matrix support 3D?</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Thanks,</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Yan</FONT></DIV></BODY></HTML>