Frequently Asked Questions
Q1: I create an alignment object using the local setter putting in a local rotation. When I print the alignment object I see that the global transformation is not a pure rotation. Isn't that wrong?
No, that's fine, even though it can be unintuitive. The reason is that when expressing transformations in a given reference system (RS), you can only rotate around the origin of that RS. This implies that when you have a tilt (local rotation), in global RS it corresponds in general to a rotation (around the origin of the global RS) plus a shift which moves back the origin of the local system to its original position.
Let us make a simple example, illustrated by the figure below. The axes for the global RS (x G,y G,z G), drawn in blue, are such that the x G axis is exiting the screen, y G points to the right and z G upwards. A module is placed at (0,100,0) and its local RS (x L,y L,z L) is such that the y L axis is coincident with y G, the x L and Z L axes are parallel to x G and z G respectively. If we now apply a tilt (local rotation) by e.g. 10 degrees around x L, this is seen in the global RS as a rotation by 10 degrees around x G (1) plus a shift of 100*(0,1-cos(10),-sin(10)) to shift the center of the module back where it was (2).