Space-Filling Tetrahedron

Author

Eric W. Weisstein
July 28, 2026

This notebook downloaded from http://mathworld.wolfram.com/notebooks/Polyhedra/SpaceFillingTetrahedron.nb.

For more information, see Eric's MathWorld entry http://mathworld.wolfram.com/SpaceFillingTetrahedron.html.

©2026 Wolfram Research, Inc. except for portions noted otherwise

Additional Authors

Coordinate data and construction code from
Ed Pegg, Jr.
July 27, 2026

Definitions

pointTransform[points_, matrix_, shift_] := (matrix . # + shift) & /@ points;
makeCell[seed_, transforms_] := pointTransform[seed, #[[1]], #[[2]]] & /@ transforms;
tetrahedronVolume[points_] := Abs[Det[(# - First[points]) & /@ Rest[points]]]/6;
squaredDistanceKey[points_] := Sort[SquaredEuclideanDistance @@@ Subsets[points, {2}]];
isometryMatrixQ[matrix_] := Simplify[Transpose[matrix] . matrix == IdentityMatrix[3]] && MemberQ[{-1, 1}, Det[matrix]];
cellCheck[entry_] := Module[{pieces, unionVolume, totalVolume, hullVolume},
	pieces = entry["DisplayPieces"];
	unionVolume = Quiet[RegionMeasure[RegionUnion @@ (ConvexHullMesh /@ pieces)], BoundaryMeshRegion::bsuncl];
	totalVolume = Total[tetrahedronVolume /@ pieces];
	hullVolume = RegionMeasure[ConvexHullMesh[DeleteDuplicates[Flatten[pieces, 1]]]];
	<|
		"Pieces" -> Length[pieces],
		"SquaredEdgeLengths" -> squaredDistanceKey[entry["Seed"]],
		"Isometries" -> And @@ (isometryMatrixQ[First[#]] & /@ entry["Transforms"]),
		"Congruent" -> SameQ @@ (squaredDistanceKey /@ entry["Pieces"]),
		"DisjointAndComplete" -> Simplify[unionVolume == totalVolume == hullVolume]
		|>
	];
pieceGraphic[points_] := Graphics3D[
	{Directive[StandardOrange, Opacity[0.72], EdgeForm[Directive[LightDarkSwitched@Black, Thin]]], MeshPrimitives[ConvexHullMesh[points], 2]},
	Boxed -> False, Lighting -> "ThreePoint", PlotRange -> All,
	ViewPoint -> {1.7, -2.1, 1.35}
	];
cellGraphic[pieces_] := Module[{allPoints},
	allPoints = DeleteDuplicates[Flatten[pieces, 1]];
	Graphics3D[
		{
			MapIndexed[
				{ColorData[97][1 + Mod[First[#2] - 1, 12]], Opacity[0.52], EdgeForm[Directive[LightDarkSwitched@Black, Thin]], MeshPrimitives[ConvexHullMesh[#1], 2]} &,
				pieces
				],
			Directive[LightDarkSwitched @ Black, Opacity[1], AbsoluteThickness[1.15]], MeshPrimitives[ConvexHullMesh[allPoints], 1]
			},
		Boxed -> False, Lighting -> "ThreePoint", PlotRange -> All,
		SphericalRegion -> True,
		ViewPoint -> {1.7, -2.1, 1.35}
		]
	];
entryCard[entry_] := Labeled[
	Row[{pieceGraphic[entry["Seed"]], cellGraphic[entry["DisplayPieces"]]}],
	Style[First[entry["Names"]], Italic, 14, FontFamily -> "Times", LightDarkSwitched@Black], Top
	];

Data

The five entries are fixed representatives of the classical space-filling tetrahedra described by Sommerville, Baumgartner, Hill, and Goldberg. The coordinate data below are exact.

names = {
	{"Sommerville No. 1", "Baumgartner T", "Hill 1-60"},
	{"Sommerville No. 2", "Baumgartner T1", "Hill special"},
	{"Sommerville No. 3", "Hill 2-45"},
	{"Sommerville No. 4", "Baumgartner T4"},
	{"Baumgartner T3", "Hill 2-60"}
	};
cellNames = {"triangular prism", "parallelepiped", "cube", "oblique triangular prism", "oblique triangular prism"};
tetrahedra = {
	{{1, 1, 1}, {2, 2, 0}, {2, 2, 2}, {3, 1, 1}},
	{{1, 1, 1}, {2, 2, 0}, {2, 2, 2}, {2, 1, 1}},
	{{1, 1, 1}, {2, 2, 0}, {2, 2, 2}, {2, 0, 0}},
	{{1, 1, 1}, {2, 2, 0}, {2, 2, 2}, {2, 3/2, 1}},
	{{0, 3, 3}, {1, 4, 2}, {3, 2, 4}, {1, 0, 2}}
	};
cellTransforms = {
	{
		{IdentityMatrix[3], {0, 0, 0}},
		{{{0, 1, 0}, {-1, 0, 0}, {0, 0, -1}}, {0, 4, 2}},
		{{{-1, 0, 0}, {0, 0, -1}, {0, 1, 0}}, {3, 3, -1}}
		},
	{
		{IdentityMatrix[3], {0, 0, 0}},
		{{{0, -1, 0}, {0, 0, -1}, {-1, 0, 0}}, {3, 3, 3}},
		{{{-1, 0, 0}, {0, 0, -1}, {0, -1, 0}}, {3, 3, 3}},
		{{{0, -1, 0}, {0, 0, -1}, {1, 0, 0}}, {3, 3, -1}},
		{{{-1, 0, 0}, {0, 0, -1}, {0, 1, 0}}, {3, 3, -1}},
		{{{1, 0, 0}, {0, -1, 0}, {0, 0, -1}}, {0, 4, 2}}
		},
	{
		{IdentityMatrix[3], {0, 0, 0}},
		{{{0, 1, 0}, {1, 0, 0}, {0, 0, -1}}, {0, 0, 2}},
		{{{1, 0, 0}, {0, -1, 0}, {0, 0, -1}}, {0, 2, 2}},
		{{{0, 1, 0}, {0, 0, 1}, {1, 0, 0}}, {0, 0, 0}},
		{{{0, -1, 0}, {0, 0, -1}, {1, 0, 0}}, {2, 2, 0}},
		{{{0, 1, 0}, {0, 0, 1}, {-1, 0, 0}}, {0, 0, 2}},
		{{{0, -1, 0}, {1, 0, 0}, {0, 0, 1}}, {2, 0, 0}},
		{{{0, -1, 0}, {0, 0, -1}, {-1, 0, 0}}, {2, 2, 2}},
		{{{0, 1, 0}, {-1, 0, 0}, {0, 0, -1}}, {0, 2, 2}},
		{{{0, -1, 0}, {-1, 0, 0}, {0, 0, 1}}, {2, 2, 0}},
		{{{-1, 0, 0}, {0, 1, 0}, {0, 0, 1}}, {2, 0, 0}},
		{{{-1, 0, 0}, {0, -1, 0}, {0, 0, -1}}, {2, 2, 2}}
		},
	{
		{IdentityMatrix[3], {0, 0, 0}},
		{{{-1, 0, 0}, {0, 1, 0}, {0, 0, -1}}, {4, 0, 2}},
		{{{0, 0, -1}, {0, -1, 0}, {-1, 0, 0}}, {3, 3, 3}},
		{{{0, 0, -1}, {0, -1, 0}, {1, 0, 0}}, {3, 3, -1}},
		{{{0, 0, -1}, {-1, 0, 0}, {0, 1, 0}}, {3, 3, -1}},
		{{{1, 0, 0}, {0, 0, -1}, {0, -1, 0}}, {0, 2, 2}},
		{{{-1, 0, 0}, {0, 0, -1}, {0, -1, 0}}, {4, 2, 2}},
		{{{0, 1, 0}, {-1, 0, 0}, {0, 0, -1}}, {1, 3, 1}},
		{{{0, -1, 0}, {0, 0, -1}, {-1, 0, 0}}, {4, 2, 2}},
		{{{0, -1, 0}, {0, 0, -1}, {1, 0, 0}}, {4, 2, -2}},
		{{{0, 0, -1}, {1, 0, 0}, {0, 1, 0}}, {3, -1, -1}},
		{{{0, 1, 0}, {1, 0, 0}, {0, 0, -1}}, {1, -1, 1}}
		},
	{
		{IdentityMatrix[3], {0, 0, 0}},
		{{{0, 0, 1}, {0, -1, 0}, {1, 0, 0}}, {-1, 4, 1}},
		{{{0, 1, 0}, {0, 0, -1}, {-1, 0, 0}}, {1, 6, 3}},
		{{{0, -1, 0}, {-1, 0, 0}, {0, 0, -1}}, {5, 5, 4}},
		{{{-1, 0, 0}, {0, 0, 1}, {0, 1, 0}}, {4, 0, 0}},
		{{{0, 0, -1}, {1, 0, 0}, {0, -1, 0}}, {5, 1, 4}}
		}
	};
cells = MapThread[makeCell, {tetrahedra, cellTransforms}];
entries = MapThread[
	<|"Names" -> #1, "Cell" -> #2, "Seed" -> #3, "Transforms" -> #4, "Pieces" -> #5, "DisplayPieces" -> #6|> &,
	{names, cellNames, tetrahedra, cellTransforms, cells, cells}
	];

Figures

In each panel, the orange tetrahedron is the seed and the multicolored solid is an assembled space-filling cell.

GraphicsGrid[
Partition[entryCard/@entries,UpTo[3]],
Dividers->All,
Alignment->Top
]

References

M. Goldberg, "Three Infinite Families of Tetrahedral Space-Fillers," Journal of Combinatorial Theory, Series A 16 (1974), 348-354. https://doi.org/10.1016/0097-3165(74)90058-2

M. Senechal, "Which Tetrahedra Fill Space?" Mathematics Magazine 54 (1981), 227-243. https://doi.org/10.1080/0025570X.1981.11976933

D. M. Y. Sommerville, "Space-Filling Tetrahedra in Euclidean Space," Proceedings of the Edinburgh Mathematical Society 41 (1922), 49-57. https://doi.org/10.1017/S001309150007783X