From: Arthur W. Brooks Sent: Thursday, May 15, 2008 10:54 AM To: Mark Smith Cc: Thomas G. Brown Subject: Simple replacement for invkinematics2a.f routine Attachments: amat.051408; transpts.f; transpts.inp Mark, As I mentioned yesterday, the invkinematics2a.f routine was written to do more than just generate the trace of points for the lasers, cg and support points. As a result the code is much more complicated than needed if you are planning on recreating it in MATLAB. The attached code "transpts.f" is fairly simple and uses the transformation matrices in amat.051408 to do a simple multiplication of points in the transpts.inp (read from FORTRAN standard input *). I've done a spot check of the transformation matrices with ProE (Analysis -> Measure ... Transform from ACS0 (top Assembly) to CS0 (Coil Part). Just note that the amat.051408 assumes SI units (meters) for the translation component (4th column). The code handles the conversion internally (read inches -> converts to m for matrix multiplication and then converts back to inches-> outputs inches). Note also that the amat.051408 is independent of the mechanism and servo tables used to impart the motion. It just represents the 'state', not how to get there. The other the routines stay the same (lasertrace2.f & genpts_ibl.f) I hope this is useful. Art