International
Tables for
Crystallography
Volume B
Reciprocal space
Edited by U. Shmueli

International Tables for Crystallography (2006). Vol. B. ch. 3.3, pp. 360-361   | 1 | 2 |

Section 3.3.1.1.2. Homogeneous coordinates

R. Diamonda*

aMRC Laboratory of Molecular Biology, Hills Road, Cambridge CB2 2QH, England
Correspondence e-mail: rd10@cam.ac.uk

3.3.1.1.2. Homogeneous coordinates

| top | pdf |

Homogeneous coordinates have found wide application in computer graphics. For some equipment their use is essential, and they are of value analytically even if the available hardware does not require their use.

Homogeneous coordinates employ four quantities, X, Y, Z and W, to define the position of a point, rather than three. The fourth coordinate has a scaling function so that it is the quantity [X/W] (as delivered to the display hardware) which controls the left–right positioning of the point within the picture. A point with [|X / W|\lt 1] is in the picture, normally, and those with [|X / W|\gt 1] are outside it, but see Section 3.3.1.3.5.[link]

There are many reasons why homogeneous coordinates may be adopted, among them the following:

  • (i) X, Y, Z and W may be held as integers, thus enabling fast arithmetic whilst offering much of the flexibility of floating-point working. A single W value may be common to a whole array of X, Y, Z values.

  • (ii) Perspective transformations can be implemented without the need for any division. Only high-speed matrix multiplication using integer arithmetic is necessary, provided only that the drawing hardware can provide displacements proportional to the ratio of two signals, X and W or Y and W. Rotation, translation, scaling and the application of perspective are all affected by operations of the same form, namely multiplication of a four-vector by a [4 \times 4] matrix. The hardware may thus be kept relatively simple since only one type of operation needs to be provided for.

  • (iii) Since kX, kY, kZ, kW represents the same point as X, Y, Z, W, the hardware may be arranged to maximize resolution without risk of integer overflow.

For analytical purposes it is convenient to regard homogeneous transformations in terms of partitioned matrices [\pmatrix{{\bi M} &{\bf V}\cr {\bf U} &{N}\cr} \pmatrix{{\bf X}\cr {W}\cr},] where M is a [3 \times 3] matrix, V and X are three-element column vectors, U is a three-element row vector and N and W are scalars.

Matrices and vectors which are equivalent under the considerations of (iii[link]) above will be related by the sign ≃ in what follows.

Hardware systems which use true floating-point representations have less need of homogeneous coordinates and for these N and W may normally be set to unity.








































to end of page
to top of page