Jump to content

Best Fit Transformation Matrix


---
 Share

Recommended Posts

I was wondering if anyone here can shed some light on the euler angle convention that is used in Calypso. I need to report out the translation and rotation of a best fit coordinate system, however the help files do not give me any details regarding this. I am using result element characteristics to report out each value, however there I have no information available to tell me which axis is being rotated for any given euler attribute. Calypso only lists euler1, 2, and 4, however there is also an euler3 that exists but is not listed. Can anyone shed some light on this? Thanks!

calypso_transformation.PNG

Link to comment
Share on other sites

There are easier ways to report this then messing with euler and matrixs.
To get the angle: getActual("nameOfBF").angle.asDEG
To get the plane of rotation: getActual("nameOfBF").actualReferenceSystem.labelOFrotation
Translations: getActual("nameOfBF").x/.y/.z (I think..)

With that said, You can get the angle from the matrix also.
Here's a matrix taken from a simulation with deviations for demonstrational purpose. The rotational value here is 0.0024°:
[ 0.99999999911524 4.2039557755768d-5 -1.4794287720986d-6 ]
[ -4.2039554242302d-5 0.99999999911352d 2.3748315369617d-6 ]
[ 1.4795286076546d-6 -2.3747693403344d-6 0.99999999999609d ]

So if I where to solve this, id simply do this:
display(round(arccos(0.99999999911524),5)+" "+round(arcsin(1e-54.2039557755768),5)+" "+round(arcsin(1e-61.4794287720986),5))
display(round(arcsin(1e-54.2039554242302),5)+" "+round(arccos(0.99999999911352),5)+" "+round(arcsin(1e-62.3748315369617),5))
display(round(arcsin(1e-61.4795286076546),5)+" "+round(arcsin(1e-62.3747693403344),5)+" "+round(arccos(0.99999999999609),5))
Cause I know its:
[100]
[010]
[001]
Or:
arccos(( 0.99999999911524 + 0.99999999911352 + 0.99999999999609 - 1)/2)
That also tells me 0,0024°

I hope this will help you.
Link to comment
Share on other sites

Thanks for the explanation, Eric. The euler angles should be fine for what we need, but I don't know the convention that is used in Calypso and how it is mapped to each variable. Is euler1, euler2, and euler4 mapped to XYZ, ZYX, X'Y'Z', etc.?
Link to comment
Share on other sites

Dave,
Take a look at the alignment values in the default printout. You may have already figured this out, but the Result Element is reporting in radians.

Tilt Direction = euler1
Inclination = euler2
Plane Angle= euler4 (360-euler3)
Link to comment
Share on other sites

That page describe it better then I ever would. I'll bookmark that one. How ever, they are actually not using euler, since they use xyz. And thats not valid. What they are doing is Terry Brian angles or what ever its called, cant remember.

Clark: Compund angle consist of two angles, typical sin(a+b) if im not misstaken.

An euler angle is more of a sequense used to describe the difference between two coordinate systems:
x0-y0-z0 (origin)
x1-y1-z1 (after one rotation)
x2-y2-z2 (after two rotations)
x3-y3-z3 (after third.)

Well, its easier to explain with a pen and a paper. Thats how a friendly engineer force that knowlage in to my head. Atleast some of it..
Link to comment
Share on other sites

Just a quick update,
I wanted to make sure I had the correct rotation sequence so I created a standard alignment characteristic and plugged in the translation and rotation values that Calypso gave me. I found that z-x-z is the sequence that corresponds with the euler1, euler2, and euler4 parameters. I compared the measured values of a couple different features to make sure that I had the correct transformation and sure enough they matched up!

Capture.PNG

Link to comment
Share on other sites

 Share

×
×
  • Create New...