Deprecated in Current Release
Requirements
Software operation
Defining Calibration Tasks
Definitions and Theory
Introduction
Homogeneous coordinates are a set of coordinates with useful properties for perspective geometry:
- Infinity may be represented with a finite value.
- Rotations and translations may be represented by a single matrix operation.
- Homogeneous coordinates may be used for a space with arbitrary dimension including 2D (image) and 3D (world) coordinates.
A “standard” coordinate is referred to as inhomogeneous.
Properties
- Iff the last coordinate of a homogeneous coordinate is 0, then it is at infinity.
- Iff the last coordinate of a homogeneous coordinate is not 0, then it is at a finite location.
- Two homogeneous points are the same iff there exists a non-zero scalar multiplier between them, i.e., \(\mathbf{x}=k\cdot\mathbf{y}\).
Inhomogeneous to Homogeneous
The simplest way to convert from an inhomogeneous coordinate to a homogeneous one is to append a 1 to the end of the coordinate.
\(\begin{bmatrix}x\\y\end{bmatrix}\rightarrow\begin{bmatrix}x\\y\\1\end{bmatrix}\)
\(\begin{bmatrix}X\\Y\\Z\end{bmatrix}\rightarrow\begin{bmatrix}X\\Y\\Z\\1\end{bmatrix}\)
The general conversion is to append 1 and multiply by any non-zero real number.
\(\begin{bmatrix}x\\y\end{bmatrix}\rightarrow\begin{bmatrix}k\cdot x\\k\cdot y\\k\end{bmatrix}\)
\(\begin{bmatrix}X\\Y\\Z\end{bmatrix}\rightarrow\begin{bmatrix}k\cdot X\\k\cdot Y\\k\cdot Z\\k\end{bmatrix}\)
Homogeneous to Inhomogeneous
To convert from a homogeneous coordinate to an inhomogeneous one, divide all of the components by the last one, which is discarded.
\(\begin{bmatrix}x\\y\\w\end{bmatrix}\rightarrow\begin{bmatrix}x/w\\y/w\end{bmatrix}\)
\(\begin{bmatrix}X\\Y\\Z\\W\end{bmatrix}\rightarrow\begin{bmatrix}X/W\\Y/W\\Z/W\end{bmatrix}\)