A type that is used to describe (possibly dynamic) coordinates. Internally all coordinates are in $\RR^4$ (projective coordinates):
|
|
GraphicsCoodinates can also be manipulated using various operations such as addition, multiplication by scalar, etc. Any GraphicsObject can be turned into a GraphicsCoordinate corresponding to the reference point $(0,0,0,1)$ in its local coordinate system. Though one can perform the conversion from GraphicsObject to GraphicsCoodinates explicitly using "new... from...", one rarely needs to do so since this conversion is performed automatically if you use a GraphicsObject as coordinate inside another object, or apply arithmetic operations to it. A convenient way to define GraphicsCoodinates is via gNode. For example, the same example can be written
|
|
Note that any object that the GraphicsCoodinate depends on must be provided explicitly as part of the picture, even if that object happens to be "invisible". In the example that follows, a is an empty graphical object, yet it must be included in the gList for the animation to work correctly.
|
|
The object GraphicsCoordinate is a self initializing type, with ancestor classes GraphicsAncestor < HashTable < Thing.