Page 34 Table of Contents Index Page 36
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

An affine transformation is a mapping from one coordinate system onto another that preserves
straight lines. In other words, if you take a number of points that fall on a straight line and
apply an affine transformation to their coordinates, the transformed coordinates will describe a
straight line in the new coordinate system. General affine transformations include all the sorts
of transformations that CLIM uses, namely, translations, scaling, rotations, and reflections.

5.1 Transformations

=> transformation [Protocol Class]
The protocol class of all transformations. There are one or more subclasses of transformation
with implementation-dependent names that implement transformations. The exact names of
these classes is explicitly unspecified. If you want to create a new class that behaves like a
transformation, it should be a subclass of transformation. Subclasses of transformation
must obey the transformation protocol.

All of the instantiable transformation classes provided by CLIM are immutable.

=> transformationp object [Function]
Returns true if object is a transformation, otherwise returns false.

=> +identity-transformation+ [Constant]
An instance of a transformation that is guaranteed to be an identity transformation, that is, the
transformation that "does nothing".


Page 34 Table of Contents Index Page 36
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