and simplicial coordinates
Cartesian coordinates use a set of mutually orthogonal unit
basis vectors to span a space. In the photo to the right,
the familiar 3‑D Cartesian unit vectors
k⃗ are modeled with toothpicks
stuck into a styrofoam origin. These vectors satisfy the definition of a
Together, those two properties provide that any
point in 3‑space has unique Cartesian coordinates
- they are
(there's no way to express any of the basis vectors as a
linear combination of the others)
(any point in 3‑space can be expressed as a
linear combination of the basis vectors)
Simplicial coordinates define unit vectors pointing from the center of a
simplex to its vertices.
This discussion considers simplicial coordinates based on
To map a plane, simplicial coordinates
use three unit vectors pointing toward the vertices of an
equilateral triangle. To map space, simplicial coordinates
use four unit vectors pointing toward the vertices of a regular tetrahedron.
Planar and spatial simplicial unit vectors (for triangular and
tetrahedral coordinates, respectively) are the black arrows
in these illustrations:
Simplicial coordinates generalize to higher dimensions and in each
case use one more coordinate than Cartesian coordinates do.
The unit vectors defined in simplicial coordinates are not
independent and thus not a basis
by the conventional linear algebra definition.
Whereas Cartesian coordinates for a point are unique,
simplicial coordinates are not. Any triple of triangular coordinates
is a member of an infinite
of triples (a+m,b+m,c+m)
all referring to the same point
(where m is any real number).
Similarly, any 4‑tuple (a,b,c,d)
of tetrahedral coordinates is a member
of an equivalence class of 4‑tuples
Non‑uniqueness is hardly unprecedented in coordinate systems.
Polar coordinates (r,θ)
belong to an equivalence class of coordinates
all referring to the same point
(where n is any integer).
The reader may be wondering what simplicial coordinates are good for.
I'll mention some applications later but this discussion is primarily
about the form and character of simplicial coordinates which are of
interest in their own right.
Let's consider calculations. Using Cartesian coordinates, distance between
two points is readily calculated by a Pythagorean formula.
How would you calculate distance between points at triangular coordinates
How would you calculate the
of two vectors in a plane from their triangular coordinates?
How would these and other calculations be
done using tetrahedral spatial coordinates?
Simplicial coordinates seem to have
a notably different flavor than Cartesian coordinates.
Whereas Cartesian unit basis vectors are at 90° to one another,
tetrahedral coordinate unit vectors are at about 109.47°.
But the two types of system are more related
than they might seem at first blush.
Consider the plane defined by the equation
in Cartesian 3‑D coordinates. This plane has
<1,1,1>, includes the origin, and is parallel to the plane that includes
the points (1,0,0), (0,1,0), and (0,0,1).
The orthogonal projection
of any point with Cartesian coordinates
onto the plane
can be found by subtracting
from all three coordinates.
E.g., the point at (1,4,4) projects to (‑2,1,1).
A vector from (1,4,4) to its projection at (-2,1,1)
is orthogonal (i.e., normal) to the plane.
The set of points which project to any given point
on the plane
are an equivalency class. Their coordinates are given by
where m is any real number.
This is the same computational form seen in the equivalence class
of triangular coordinates described earlier.
The relationship between Cartesian 3-D coordinates and planar triangular
coordinates can be appreciated visually. Viewed from a certain
perspective—e.g., with one's eye at (10,10,10)—the
three Cartesian unit basis vectors look like the unit vectors
of triangular coordinates. The photo below is an oblique view
of the same toothpick model of Cartesian unit vectors seen in
a photo at the top of this page.
We have at our disposal a useful correspondence:
planar simplicial coordinates
work like Cartesian 3‑space coordinates projected onto the plane
To perform any desired calculation with triangular coordinates
reconsider them as Cartesian coordinates
project them onto the plane
and use established methods for calculating with Cartesian coordinates.
The projection step is as described earlier: subtract
from all three coordinates. The results of some calculations will require
scaling, as the Cartesian basis vectors no longer have unity length after
An analogous correspondence exists between tetrahedral
coordinates and Cartesian 4‑space coordinates.
The correspondence can be applied in a strictly formal manner,
i.e. it requires no superhuman ability to visualize
higher-dimensional spaces. To calculate with tetrahedral coordinates
normalize by subtracting
from all four coordinates, then calcuate by considering the resulting
coordinates to be Cartesian 4‑D coordinates projected into a
Again, scaling will be required for some calculations. Sample code for
calculating with tetrahedral (also known as "quadray") coordinates is at
A word is in order as to why this correspondence works in spatial
and higher dimensions. It's easy enough to see how Cartesian 3‑D basis
vectors project to triangular coordinate vectors in a plane, but how can we
know that Cartesian 4‑D basis vectors indeed project to the vertices
of a regular tetrahedron?
Cartesian basis vectors in n dimensions
have coordinates (1,0,...,0,0), (0,1,...0,0), ... (0,0,...,1,0), (0,0,...,0,1).
Each vector has a single 1 coordinate and all the rest 0,
and the 1 coordinate is in a different place in each vector.
To project the basis vectors, subtract 1/n from each
coordinate. Each 0 coordinate becomes ‑1/n
and each 1 coordinate becomes
These projected vectors all have the same length,
The dot product of any pair of projected vectors is
(‑1/n). Thus the angle subtended by
any pair of vectors is arccos(‑1/(n‑1)).
(I've omitted steps of algebra here; it's all straightforward.)
The uniformity of length and subtended angle between pairs
suffice to show that the
n projected vectors point to vertices
of an n‑1 dimensional regular simplex.
Note that arccos(-1/3) indeed gives the angle between any pair of
tetrahedral coordinate unit vectors (approximately 109.47°).
Regarding applications of simplicial coordinates:
they can be normalized to be identical to barycentric coordinates,
for which Wikipedia describes
applications. The normalization step to convert simplicial coordinates
into barycentrics is similar to the projection step in the discussion above,
except that barycentric coordinates sum to 1 rather than to 0.
E.g, normalize triangular coordinates
from each coordinate.
Tetrahedral coordinates also have pedagogical value by virtue of being
an alternative to more familiar systems. Just as studying a second
language leads to deeper understanding of one's mother tongue,
one gains perspective from study of alternate mathematical representations.
For discussions on conceptual and philosophical aspects of tetrahedral
(also called "quadray") coordinates, see Kirby Urner's
return to Tom's home page