Having seen how clever SkyFrames are (
and
), we will next examine how dumb
a basic Frame can be in comparison. For example, if we create two
2-dimensional Frames and use astConvert to derive a conversion between
them, as follows:
AstFrame *frame1, *frame2; ... frame1 = astFrame( 2, "" ); frame2 = astFrame( 2, "" ); cvt = astConvert( frame1, frame2, "" );
then the coordinate transformation which the ``cvt'' FrameSet performs will be as follows:
(1, 2) --> (1, 2) (2, 4) --> (2, 4) (3, 6) --> (3, 6) (4, 8) --> (4, 8) (5, 10) --> (5, 10)
This is an identity transformation, exactly the same as a UnitMap
(). Even if we permute the axis order of our
Frames, as we did above (
), we will
fare no better. The conversion between our two basic Frames will
always be an identity transformation.
The reason for this is that, unlike a SkyFrame, all basic Frames start
life the same and have axes that are indistinguishable. Therefore,
permuting their axes doesn't make them look any different--they still
represent the same coordinate system.
AST A Library for Handling World Coordinate Systems in Astronomy