ADC Home > Reference Library > Technical Notes > Legacy Documents > Mac OS 9 & Earlier >

Legacy Documentclose button

Important: This document is part of the Legacy section of the ADC Reference Library. This information should not be used for new development.

Current information on this Reference Library topic can be found here:

Decomposing a QuickDraw GX Mapping


A QuickDraw GX mapping, being a 3-by-3 matrix, can specify any 2D linear transformation. It is easy enough to build up such a transformation from a sequence of primitive transformations, namely translations, scalings, rotations, skews and perspective distortions -- GX provides calls to construct nearly all of these components (the exception is perspective, for which there is library code in the GX SDK). Sometimes there is a need to go the other way: given an arbitrary linear transformation, can you break it into a sequence of pure translations, scalings, skews and perspective distortions? This Technote will show you how.

This Technote is aimed at those who already have some basic understanding of QuickDraw GX graphics, including how to make use of GX mappings. The exposition will take more of an intuitive, hand-waving approach, with little pretense at rigorous derivation.

This Technote is heavily dependent upon mathematical derivation, which HTML does not yet adequately support. In order to ensure the mathematical integrity of the text, we are not publishing the body of the Technote as an HTML file. You can download the Technote, in its entirety, as an Adobe Acrobat document by clicking here.

 Updated: [July 1 1996]


Inside Macintosh: QuickDraw GX Environment and Utilities, "QuickDraw GX Mathematics" chapter.

Mac OS SDK CD, ": QuickDraw(TM) GX: Programming Stuff: GX Libraries: " folder, MappingLibrary.c, the PolyToPolyMap routine.

Back to top



Acrobat version of this Note (48K).


Back to top

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.