Data Stored for Positions
Data Stored for Positions
As the card format above shows a "Position" stores a title, then a centroid and 3x3 set of direction cosines for each assembly in the Dummy / Mechanism. The direction cosines are written in double precision.
|
The "Reference" PositionThe first time a position is an extra "reference position", the current configuration, is created and all user-defined positions follow this. This always represents the current position and orientation of the dummy assemblies, and it is updated whenever positioning takes place to keep it current. It is marked "do not delete" because it is required for saving and retrieving of other positions to work correctly. A moment's thought about the process to be gone through when retrieving a saved position will show why this is necessary. Firstly consider how the current orientation of each Dummy and Mechanism assembly is defined and maintained:
|
|
Now consider what happens when the current position is saved:
|
|
Finally consider what happens when a stored *POSITION is retrieved, which you can think of as working like this:
In practice matrix arithmetic allows this do be done by a single transformation of "current" to "new", but the key point is that you must know the "current" position in order to achieve the correct"new" position. This is why the reference position is always maintained, and it will be obvious that deleting it means that PRIMER will no longer know what the current position is, and therefore will be unable to restore a saved position correctly. |