Although the author C. R. Wylie Jr. provides the solutions to most odd-numbered
exercises, they are succinct to the point of being terse, and despite being a
well-written enjoyable book^{1}, it does not seem very popular with the
computer vision or the mathematical community at the moment, resulting in a
arduous path for those who want to study the subject on their own using this
wonderful book as their guide. For these reasons, I’m documenting my answers to
the exercises in this book.

I strongly recommend that you try to attempt the exercises yourself before looking at the solutions. Even if you initially feel that you’re making no progress, the mind is a strange and wonderful instrument and you might just get the answer after a restful nap.

My answers are organized into sections just like in the book. If you’re satisfied with your attempt and feel that you can’t proceed without help or you just want to confirm your answer then take a look!

For those of you still deliberating the relevance of projective geometry in the modern age, I just want you to know that projective geometry helped this team win a self-driving race. So get your learn on!

## Chapter 1: The Elements of Perspective

As the focus of this chapter is the historical approach to projective geometry used and developed by artists of Middle Ages, most problems are solved through construction. I started off doing the constructions by hand but thankfully discovered GeoGebra soon after and have been using it since. As the applet itself takes a while to load, I’ve uploaded the static image for each solution and linked to the applet in case you want to experiment with the solution. Click on the image to view it in full size. The $x$, $y$ and $z$ axes are colored red, green and blue respectively. Another really helpful tool is Maxima. Thankfully I don’t have to solve huge equations by hand anymore!

### 1.2 The Elements of Perspective

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

### 1.3 Plane Perspective

I love coming back to these questions after working through the later chapters.
This way I can discover the relationships the author was trying to highlight
through the exercises. In this section we discuss plane perspective
transformations which are also called *perspectivities* (Section 4.4). By
considering images of images we also come across the concept of
*projectivities* (Section 4.5) without calling it so. To be more specific, we
are discuss collineations of type III (Section 5.6) in this chapter.

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

## Chapter 5: Linear Transformations in $\Pi_2$

### 5.2 Coordinate Transformations

This is mostly similar to the concept of “Change of basis”^{2} in Linear
Algebra along with some particulars about the relationship between simultaneous
point and line coordinate transformations.

### 5.3 Collineations

Although this section deals with collineations which are *nonsingular*
transformations, in the first 7 exercises we work with *singular*
transformations too. I think this is to drive home the point that singular
transforms have all these weird edge cases and that they don’t map each point
in $\Pi_2$ to a single point in $\Pi_2$. Some points may have multiple images
and other points may not have an image at all.
For this section, I recommend using a tool, preferably a repl, with good
linear algebra support like Maxima or Python
with NumPy.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

### 5.4 Invariance of the Classification

The exercises in this section are pretty straightforward. The invariance of the
classification of collineations, based on characteristic roots, in different
coordinate systems, is proved through matrix similarity^{3}, although it is
not called that.

### 5.5 Collineations of Type I

Here we study the first type of our classification based on number of invariant points and lines. I haven’t found any other modern text using this form of classification, it seems limited to this book for some reason.

### 5.6 Collineations of Type II and III

While we do explore the characteristics of collineations of types II and III, we also get into a bit of nonlinear transformations and higher degree algebraic curves.

### 5.7 Collineations of Type IV, V and VI

Here we wrap up the discussion on the different types of collineations classified based on invariant points and lines, and see some relations between them.

Note: Collineations of type III and V are more popularly called homologies
and elations respectively in literature^{4}.

### 5.8 The Determination of a Collineation

### 5.9 Groups

I’m going to skip this for now as it is not directly pertinent to the aspects of projective geometry I want to study, i.e. single view and multiple view geometry as they relate to computer vision, in the limited time that I have.

### 5.10 Affine Transformations

This is the section I’ve been waiting to get into since I read the word
“affine” in the book *Multiple View Geometry in Computer Vision*. In the end,
as with all technical topics with weird names, it didn’t end up to be all that
complicated. Now whenever I see the word affine in the context of geometry, I
think of parallelism.

Some history for those who’re interested, Leonhard Euler supposedly introduced
the term *affine* into geometry and our good friend August Möbius wrote on it
in one of his books^{5} before it was cool.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

### 5.11 Similarity Transformations

### 5.12 Equiareal Transformations

### 5.13 Euclidean Transformations

These are more commonly known as isometries^{6}.

## References

- C.R. Wylie, Jr. (1970),
*Introduction to Projective Geometry*, Dover.^{[return]} - Wikipedia.
*Change of basis*. https://en.wikipedia.org/wiki/Change_of_basis^{[return]} - Wikipedia.
*Matrix Similarity*. https://en.wikipedia.org/wiki/Matrix_similarity^{[return]} - Coxeter, H. S. M.
*Introduction to Geometry, 2nd ed*, Wiley.^{[return]} - Wikipedia.
*Affine Geometry, History*. https://en.wikipedia.org/wiki/Affine_geometry#History^{[return]} - Wikipedia.
*Isometry*. https://en.wikipedia.org/wiki/Isometry^{[return]}