The lecture on 22.10 began with a repetition of the “guided visualization” from the first meeting on 15.10. Then Dr. Gunn demo-ed a couple of dynamic geometry applets demonstrating two theorems from the “early days” of projective geometry (circa 1640): Desargues Theorem and Pascal’s Theorem, emphasizing the qualities of mobility and variety which both theorems exhibit. Links can be found on the previous post.
Coordinates for projective geometry. When projective geometry was rediscovered in the 1820’s, the mathematics was available to introduce coordinates. In modern form, this can be expressed as the projectivization of $\mathbb{R}^n$ introduced in the previous lecture: \[\mathbf{P}^2(\mathbb{R}) := \mathbb{R}^3~/~\sim \text{ where } \mathbf{P} \sim \mathbf{Q} \iff \mathbf{P} = \lambda \mathbf{Q} \text{ for } \lambda \neq 0\].
Note: the following discussion focuses on the case of the projective plane $\mathbf{P}^2(\mathbb{R})$. Everything said here generalizes easily to general dimension $n$, in particular to $n=3$ which is the case we are really interested in.
Projective transformations and the projective group. A projective transformation, or projectivity for short, is defined as an invertible self-map of $\mathbf{P}^n(\mathbb{R})$ which preserves lines. Here, a line is the set of points spanned by two points: $\alpha \mathbf{P} + \beta \mathbf{Q}$ for $\alpha, \beta \in \mathbb{R}$. It’s not hard to see that this corresponds to a plane through the origin in $\mathbb{R}^{n+1}$. An invertible self-map of $\mathbb{R}^{n+1}$ which maps planes to planes is what is called a linear map, and satisfies $f(\alpha \mathbf{P} + \beta \mathbf{Q}) = \alpha f(\mathbf{P})+\beta f(\mathbf{Q})$. The set of all such self-maps forms a group, called the general linear group of dimension $n+1$, and written $GL(n, \mathbb{R})$. Once a basis has been chosen one has a representation as matrices, hence $GL(n+1,\mathbb{R})$ is sometimes called a matrix group.
Exercise: Show that an element of $GL(n+1,\mathbb{R})$ induces a self-map of $\mathbf{P}^n(\mathbb{R})$ which maps lines to lines, that is, is projective. And conversely, a projective transformation comes from some element of $GL(n+1,\mathbb{R})$. Two matrices give rise to the same projective transformation $\iff$ they are non-zero multiples of each other.
Hence the group of projectivities is the quotient of $GL(n+1)/ \mathbb{R}$. It is written $PGL(n+1,\mathbb{R})$ to indicate that it results from projectivizing $GL(n+1,\mathbb{R})$. It has one less dimension than $GL(n+1)/ \mathbb{R}$. Hence $PGL(3,\mathbb{R})$ has dimension $9-1=8$.
The group $$PGL(n+1,\mathbb{R})$ includes a huge range of possible transformations. A basic result which characterizes this group is: a projectivity is uniquely determined by choosing any $n+2$ points to be mapped to any other $n+2$ points (of course the points must be in general position). The study of possible projective transformations is an interesting subject in its own right but one which we have to pass by right now.
Often one is interested only in the affine subgroup, that is, the transformations that map the ideal elements to themselves. Exercise: An affine transformation has last row $(0,0, ….,0,1$).
Among the affine transformations, one is interested particularly in isotropic scaling by the factor $\lambda$. Such a transformation has a diagonal matrix all of whose diagonal entries are $\lambda \neq 0$, except the last one which is, as noted, 1. For this course we will be particularly interested in the subgoup of the affine group that preserves distance and angle:
Euclidean Isometries. Recall that a euclidean transformation is a self-map of euclidean space that preserves euclidean distances and angles. Exercise: A euclidean isometry is a projectivity. Hence we can identify the euclidean group with a subgroup of $PGL(n+1, \mathbb{R})$. Furthermore, the set of orientation-preserving isometries $\mathbf{E}^+(n)$ is a subgroup of the full euclidean group $\mathbf{E}(n)$. Exercise: An isometry is orientation-preserving $\iff$ its determinant is positive.
Exercises. All these exercises refer to the euclidean plane.
- A euclidean translation by the vector $\mathbf{u} = (x_u, y_u)$ is given by the matrix\[ \mathbf{T}_{\mathbf{u}} = \left( \begin{array}{ccc} 1 & 0 & x_u \\ 0 & 1 & y_u \\ 0 & 0 & 1 \end{array} \right)\]
- A euclidean rotation around the origin by angle $\alpha$ is given by the matrix \[ \mathbf{R}_{O,\alpha} = \left ( \begin{array}{ccc} \cos{\alpha} & -\sin{\alpha} & 0 \\ \sin{\alpha} & \cos{\alpha} & 0 \\ 0 & 0 & 1 \end{array} \right)\]
- Write the matrix form for a rotation $\mathbf{R}_{\mathbf{C},\alpha}$around the point $\mathbf{C} = (x_c, y_c)$ through angle $\alpha$. [Hint: $\mathbf{R}_{\mathbf{C},\alpha} = \mathbf{T}_{\mathbf{C}} \circ \mathbf{R}_{O,\alpha} \circ \mathbf{T}_{\mathbf{-C}}$.]
How translations and really a kind of rotation [optional]. One of the unusual aspects of euclidean geometry is that translations and rotations seem so different, yet both are isometries. Using the projective model we have developed, it’s possible to argue that a translation is really a kind of rotation. Consider the translation $\mathbf{T}_{(1,0)}$ with translation vector $(1,0)$. Imagine the series of rotations $R_n$ indexed by $n$ with center $(0,n)$ through an angle $\dfrac{1}{2 \pi n}$. Exercise: For any bounded region $D$ of the plane, I can find an $n_0$ such that $R_n -\mathbf{T}_{(1,0)}$ for $n> n_0$ is arbitrarily small for any point in $D$. Taking this to the limit, one arrives at the conclusion that the translation $\mathbf{T}_{(1,0)}$ can be thought of as a rotation around the ideal point $(0,1,0)$ through a distance (not angle!) 1. Similar results apply for any translation; the “center point” is then the ideal point in the direction perpendicular to the translation.
Conclusion. This concludes the theoretical introduction to how euclidean isometries can be expressed as matrices. The next step is to study the jReality classes:
- de.jreality.math.Rn This class provides general report for the euclidean vector space $\mathbb{R}^n$. This includes multiplying matrices times vectors and other operations from linear algebra.
- de.jreality.math.MatrixBuilder This is the primary class for constructing euclidean isometries.
Equipped with this knowledge, you should then be prepared to go to work on Assignment1. For details consult the Javadoc for the Java class in eclipse.
Pingback: Course Log | Mathematical Visualization