Graphics Programs Reference
In-Depth Information
Yaw
Pitch
Roll
Figure 1.24: Roll, Pitch, and Yaw.
Case 2: Another example of an application where rotations about the three coor-
dinate axes are common is L-systems. This is a system of formal notation developed
by the biologist Aristid Lindenmayer (hence the ā€œLā€) in 1968 as a tool to describe the
morphology of plants [Lindenmayer 68]. In the 1970s, this notation was adopted by
computer scientists and used to define formal languages. Since 1984, it has also been
used to describe and draw many types of fractals. Today, L-systems are used to generate
tilings, geometric art, and even music.
The main idea of L-systems is to define a complex object by (1) defining an initial
simple object, called the axiom , and (2) writing rules that show how to replace parts
oftheaxiom. Therulesarewrittenintermsof turtle moves , a concept originally
introduced in the LOGO programming language [Abelson and DiSessa 82]. L-systems,
however, specify the structure of three-dimensional objects, so the turtle must move in
three dimensions and can rotate about its three main axes. For more information on
L-systems, see [Prusinkiewicz 89].
It has already been mentioned that rotation in three dimensions is more complex
than in two dimensions. One reason for this is that rotation in two dimensions is about
a point, whereas rotation in three dimensions is about an axis (any axis, not just one
of the three coordinate axes). Another reason is that the direction of rotation in two
dimensions can be only clockwise or counterclockwise, but the direction of rotation in
three dimensions is more complex to specify. The rotation is about an axis, but its direc-
tion, clockwise or counterclockwise, about this axis depends on how we look at the axis.
Thus, a general rule is needed to specify the direction of a three-dimensional rotation
unambiguously. We state such a rule for the rotation matrices of Equation (1.29).
The direction of a three-dimensional rotation generated by the matrices of (1.29)
in a right-handed coordinate system is determined by the following rule: Write down
the sequence ā€œ x, y, z ā€ and erase the symbol that corresponds to the axis of rotation.
The two remaining symbols are denoted by l and r . Draw the coordinate axes such that
the positive direction of l will be up and the positive direction of r will be to the right.
(This is not a necessary requirement, but it conforms to Figure 1.25.) The rotation will
then be from positive r to positive l to negative r to negative l (Figure 1.25 and see also
Exercise 3.12).
Example: A rotation about the z axis produced by the leftmost matrix
of (1.29) . After erasing z , the two symbols left are x and y . We draw the coordinate
axes such that positive x is up and positive y is to the right. The matrix produces
Search WWH ::




Custom Search