The Hierarchical Triangular Mesh
( 0, 0, 1 ) v
0
( 1, 0, 0 ) v
1
( 0, 1, 0 ) v
2
(1)
(-1, 0, 0 ) v
3
( 0, -1, 0 ) v
4
( 0, 0, -1 ) v
5
The first 8 nodes of the Spatial Index are defined as
v v v : S0 v v v : N0
1 5 2 1 0 4
v v v : S1 v v v : N1
2 5 3 4 0 3
(2)
v v v : S2 v v v : N2
3 5 4 3 0 2
v v v : S3 v v v : N3
4 5 1 2 0 1
The triangles are all given with the vertices traversed counterclockwise.
The construction of the next level makes use of this ordering.
|
![]() ![]() |
v + v
1 2
w = ------------
0 | v + v |
1 2
v + v
0 2
w = ------------
1 | v + v |
0 2
(3)
v + v
0 1
w = ------------
2 | v + v |
0 1
The four new triangles are given by
Triangle 0 : v w w
0 2 1
Triangle 1 : v w w
1 0 2
(4)
Triangle 2 : v w w
2 1 0
Triangle 3 : w w w
0 1 2
The node name of the new triangles is the name of the original
triangle with the triangle number appended. If the original node name
was S0, the new node names are S00, S01,
S02 and S03 (see figure 3). This
iteration can be repeated to any desired depth. The number of leaf
nodes N at a given level depth d is given by
d
N(d) = 8 * 4
(5)
The recursive process defined by equations (3,4) defines what we call the Hierarchical Triangular Mesh (HTM). The HTM is very well suited to build a Spatial Index of 3-dimensional data that has an inherent spherical distribution - like in Astronomy and Earth Sciences.
The shapes of the triangles are also different. For each level there are more and more differently-shaped triangles. The shape difference is kept within certain limits, though - the maximal inner angle of a triangle never exceeds Pi/2 and is never less than Pi/4. The sidelengths are also within a fixed minimal and maximal value per level (see figure 5).