# Formal definition of homogenous coordinates

From Multiple View Geometry (Second Edition)

Formally, points are represented by equivalence classes of coordinate triples, where two triples are equivalent when they differ by a common multiple. These are called the homogeneous coordinates of the point. Given a coordinate triple $(kx, ky, k)$, we can get the original coordinates back by dividing by $k$ to get $(x, y)$.

I wanted to clarify what "These" is referring to. According to this passage, I would define this equivalence class as the following (is a class a set governed by some definition?)

$\{(kx, ky, k)\mid k \in \mathbb{R} \}$

Are the homogenous coordinates elements of this set? e.g. is $(2x, 2y, 2)$ a homogenous coordinate? They also use the language of "of the point" - what point is that referring to, $(x, y, 1)$ ?

Furthermore, where does the name "homogenous coordinates" even come from?

• The confusing part is: What is meant by "the original coordinates"? Some context seems to be missing. In particular, there is no such thing as "original coordinates" for the coordinate triple $(0,0,1)$. – Hagen von Eitzen Dec 30 '17 at 12:46

The homogeneous coordinates of a single point are the whole equivalence class, i.e. the set of all multiples, excluding the null vector. For finite points this means

$$\{(kx,ky,k)\mid k\in\mathbb R\setminus\{0\}\}$$

but you can also get homogeneous coordinates for points at infinity, so more generally you'd have

$$\{(kx,ky,kz)\mid k\in\mathbb R\setminus\{0\}\}\qquad \text{with}\quad (x,y,z)\neq(0,0,0)$$

i.e. all the multiples of any three-element vector, again excluding the null vector. For $z=0,(x,y)\neq(0,0)$ you'd get what is typically referred to as a point at infinity.

A single vector $(x,y,z)$ from one of these equivalence classes is called a representative or representant. Often computations can be performed at the level of these representative, so that sometimes the distinction between representative vectors and the equivalence classes they describe is not explicit in the notation, but merely implicit from the context.

The space of all homogeneous coordinates is often denoted as

$$\frac{\mathbb R^3\setminus\{(0,0,0)\}}{\mathbb R\setminus\{0\}}$$

This quotient construction means you take the set of all three-element vectors, excluding the null vector, and then form equivalence classes using scalar multiples, again excluding zero.

(Writing this, I realized that there is some problem here with singular and plural: a single coordinate as in one element from the vector doesn't make any sense for homogeneous coordinates, and the plural coordinates makes it a bit harder to distinguish a single equivalence class from multiple such classes.)

• Thank you!! The last clarification helps a lot. So to clarify, $(2x, 2y, 2)$ and $(3x, 3y, 3)$ are both homogenous coordinates of $(x, y, 1)$? Can we say that $(2x, 2y, 4)$ is a homogenous coordinate of $(x, y, 2)$ ? – Carpetfizz Dec 30 '17 at 13:11
• @Carpetfizz: Essentially yes. For many situations the representative with $z=1$ would be considered canonical, so $(2x,2y,4)$ would have the canonical representation $(x/2,y/2,1)$. And in the context of the “original coordinates” from your citation, one might drop the last $1$ and say $(3x,3y,3)$ represents $(x,y)$ while $(2x,2y,4)$ represents $(x/2,y/2)$. But that fails for points at infinity, so it's useful to consider choice of representative and dropping of a coordinate as two distinct steps. – MvG Dec 30 '17 at 15:53

Formally, points are represented by equivalence classes of coordinate triples, where two triples are equivalent when they differ by a common multiple.

Firstly, consider all the tuples $(x,y,z)$ where $x$ and $y$ and $z$ are not all zero, and consider the equivalence relation $(x,y,z) \sim (x',y',z') \iff \exists k: x=kx' \land y=ky' \land z=kz'$. Then, a point is an equivalence class of the tuples under this equivalence relation.

These are called the homogeneous coordinates of the point.

Every tuple is homogeneous coordinates of a point (an equivalence class).

Given a coordinate triple $(kx, ky, k)$, we can get the original coordinates back by dividing by $k$ to get $(x, y)$.

$(2x,2y,2)$ is an example of homogeneous coordinates of the point $(x,y)$.

As for the origin of the name, I refer you this list of properties of homogeneous coordinates.