Formal definition of homogenous coordinates

183 Views Asked by At

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?

2

There are 2 best solutions below

2
On BEST ANSWER

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.)

0
On

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.