Page 39 Table of Contents Index Page 41
Chapters
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
A, B, C, D, E



CHAPTER 5. AFFINE TRANSFORMATIONS

is not the same as applying B first, then A.

Any arbitrary transformation can be built up by composing a number of simpler transformations,
but that composition is not unique.

=> compose-transformations transformation1 transformation2 [Generic Function]
Returns a transformation that is the mathematical composition of its arguments. Composition
is in right-to-left order, that is, the resulting transformation represents the effects of applying
the transformation transformation2 followed by the transformation transformation1.

=> invert-transformation transformation [Generic Function]
Returns a transformation that is the inverse of the transformation transformation. The result of
composing a transformation with its inverse is equal to the identity transformation.

If transformation is singular, invert-transformation will signal the singular-transformation
error, with a named restart that is invoked with a transformation and makes invert-transformation
return that transformation. This is to allow a drawing application, for example, to use a gener-
alized inverse to transform a region through a singular transformation.

Note that with finite-precision arithmetic there are several low-level conditions that might occur
during the attempt to invert a singular or "almost singular" transformation. (These include
computation of a zero determinant, floating-point underflow during computation of the deter-
minant, or floating-point overflow during subsequent multiplication.) invert-transformation
must signal the singular-transformation error for all of these cases.

=> compose-translation-with-transformation transformation dx dy [Function]
=> compose-scaling-with-transformation transformation sx sy &optional origin [Function]
=> compose-rotation-with-transformation transformation angle &optional origin [Function]
These functions create a new transformation by composing the transformation transformation
with a given translation, scaling, or rotation, respectively. The order of composition is that the
translation, scaling, or rotation "transformation" is first, followed by transformation.

dx and dy are as for make-translation-transformation. sx and sy are as for make-scaling-
transformation
. angle and origin are as for make-rotation-transformation.

Note that these functions could be implemented by using the various constructors and compose-
transformations
. They are provided, because it is common to build up a transformation as a
series of simple transformations.

=> compose-transformation-with-translation transformation dx dy [Function]
=> compose-transformation-with-scaling transformation sx sy &optional origin [Function]
=> compose-transformation-with-rotation transformation angle &optional origin [Function]
These functions create a new transformation by composing a given translation, scaling, or rota-
tion, respectively, with the transformation transformation. The order of composition is trans-


Page 39 Table of Contents Index Page 41
Chapters
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
A, B, C, D, E