Vous êtes sur la page 1sur 10

E.

Keppel

Approximating Complex Surfaces


by Triangulation of Contour Lines

Abstract: An algorithm is described for obtaining an optimal approximation, using triangulation, of a three-dimensional surface de-
fined by randomly distributed points along contour lines. The combinatorial problem of finding the best arrangement of triangles is
treated by assuming an adequate objective function. The optimal triangulation is found using classical methods of graph theory. An il-
lustrative example gives the procedure for triangulation of contour fines of a human head for use in radiation therapy planning.

Introduction
In many branches of applied science, an important prob- and of relevant heterogeneous zones, such as the lungs,
lem concerns the mathematical description provided by bones or air gaps. The usual form under which anatomi-
a set of points on a three-dimensional surface. The cal measurements of a patient can be rapidly made avail-
choice between accurate but time-consuming surface- able consists of body contour lines in several parallel
fitting procedures and the simpler but more flexible planar cross sections drawn in life size on paper. The
numerical approximation methods depends essentially boundaries of important heterogeneities inside the body
on the practical needs and requirements in the field of can be added from anatomical atlases and fitted to the
application. proper scale with the help of x-ray photographs. For the
A specific area of biomedicine requiring surface ap- digital handling of these curves a sequence of coordinates
proximation is computer-assisted three-dimensional ra- is carefully selected along the contour lines.
diation therapy planning [ I]. Briefly, the aim of surface The major problem consists in the numerical represen-
approximation in radiation treatment is as follows. The tation of the anatomical boundaries in the computer. A
radiation energy absorbed by the body strongly depends compromise must be established between accuracy of ap-
on the thickness and the density of the tissue penetrated proximation and simplicity of mathematical handling. A
by the beam ray. The therapeutic irradiation of cancer- suitable approach for constructing a numerical model from
ous cells requires careful individual planning to ensure the contour line measurements consists in the approxima-
that despite the variations of the human anatomy the tion of the anatomical boundaries by triangulation. This
adequate dose of radiation covers the tumor volume to method, as shown in Fig. 1, consists in joining points
be treated, whereas the surrounding healthy tissue is of neighboring contour lines to triangles in such a man-
properly spared excessive exposure. The planning ne- ner that one obtains triangular planar elements which
cessitates the availability of a reliable individual geo- delimit a polyhedron approximating the surface of
metrical model of the patient's body for a computer sim- interest.
ulation of the treatment dosimetry. Although the advantages of this model for medical
In the routine practice of radiation therapy the accu- computing purposes were recognized some time ago [2],
racy of dosage calculations depends in large measure on attempts at realization for three-dimensional therapy
2 the adequacy of the description of body irregularities planning computations were abandoned because no reli-

E. KEPPEL IBM J. RES. DEVELOP.


able algorithm existed for triangulating complex surfaces z
satisfactorily in all cases.
The triangulation problem resides in the fact that con-
tour lines do not contain sufficient information regarding
the system of gradients associated with the surface they
describe. Moreover, the combinatorial aspect of the
problem becomes apparent when one considers how
many different triangle arrangements T can be con-
structed for a fixed number of contour points. It can be
shown that between two contour lines consisting of n
and m points,
T(m, n) = [(m - 1) + (n + I)]!/[(m - l)!(n - I)!].
(1)

The expression (1) demonstrates that for relatively few


contour points, the number of possible triangle permuta-
tions is very large: According to (1), n = m = 12 points,
7
for example, provides about 10 triangle combinations
and thus different surface shapes. This example obvi- Figure 1 Method of approximating, by means of triangles, the
ously precludes an exhaustive search for the optimal tri- surface of a volume defined by contour lines.
angulation.
This paper describes a computer algorithm for finding
an optimal approximation, using triangles, of a surface
defined by a set of contour lines. Instead of giving a
formal mathematical treatment of the problem, we pre- The first decomposition step consists in handling each
sent a simple and reliable computer method for triangu- pair of adjacent contour lines independently. When an
lating arbitrary surfaces defined by randomly distributed object is defined by more than two cross sections, each
points along the contours. This method is applicable lateral surface band delimited by two neighboring con-
without restriction to any contour lines twisted into con- tour lines is triangulated separately, and the entire sur-
vex and concave portions. face is obtained by handling subsequently all pairs of
This new approach is described in the sections follow- adjacent contour lines.
ing. It consists in assuming an adequately simple objec- The decisive decomposition process finds application
tive function for the handling of the optimization prob- when arbitrarily flexed contour lines, i.e., with alternat-
lem. This combinatorial scheme of triangulation then ing sign of curvature, are handled. For simplicity of pre-
permits resolution of the problem with known graph- sentation, we first assume the contour lines to be closed
theoretical techniques. In the last section an example of and the contour points ordered in a positive, e.g., an an-
triangulating an anatomical surface illustrates the ticlockwise, sequence. The sign of curvature is then
method. conventionally fixed; a sequence of three consecutive
contour points is convex if the curvature of the circle
Iteration scheme of the algorithm going through the three points has a positive sign and is
We consider an unknown three-dimensional surface of concave otherwise. The triangulation of a pair of arbi-
interest for which a map of contour lines is given in a trary contour lines is achieved by an iterative decompo-
Cartesian coordinate system as shown in Fig. I. A con- sition of the contour points into point subsets of exclu-
tour line represents a cross section of constant z value sively convex or concave sequences, alternately. The
and is numerically provided by the x-y coordinates of an example in Fig. 2 illustrates such a stepwise decomposi-
ordered, randomly distributed sequence of points on the tion of a closed set S of contour points into purely con-
contour line. The total number of contour points given vex and concave subsets Sp i = 1, 2, 3,' . '. The convex
depends in practice on the desired accuracy. The spac- subset SI for the first iteration step is obtained by re-
ing between cross sections is assumed to be variable. moving from S any point A k for which the circle going
The main strategy for finding the optimal arrangement through Ak_l' A k and A k+ 1 has negative sign of curvature.
of triangles approximating the unknown surface is to Remaining point sequences are then tested for opposite
decompose the given set of contour points into subsets sign of curvature in the same way, and the process is
such that a proper objective function may be stated sep- repeated until the contour points are separated into con-
arately for each subset. vex or concave sequences. 3

JANUARY 1975 TRIANGULATION OF CONTOUR LINES


y
tion is that which maximizes the volume of the subpoly-
hedron formed by the reversed point sequence A 7 , A 6 ,
A 5 , A 4 , A 3, A 7 or, equivalently, that which minimizes the
volume of the polyhedron formed by the sequence A 3 ,
A 4 , A 5 , A 6 , A 7 , 0A' This last decomposition indicates the
general objective function for any contour line subsec-
tion-also valid for nonclosed contour lines; the poly-


hedron, the volume of which is to be maximized (or
minimized), is that formed with the origin A and 0B of


the x-y coordinate system in the contour planes and the
contour point subsections of interest. A and 0B may be
x arbitrarily located, since the volumes are algebraically
oriented. Figure 2 describes the decomposition of the
total polyhedron volume into additive subvolumes and
justifies the iterative scheme presented here.
We now show for later use that an elementary expres-
Figure 2 Example of iterative decomposition of a set of con- sion can be derived for the volume of the polyhedron
tour points S = {AI' A 2 , " 'A 22 } into alternately concave and con-
vex subsets. originated by a fixed triangulation of any contour line.
We consider the example shown in Fig. 3. A decomposi-
I. convex subset Sl = {Al'A 2 , A 3 , A"A g,A 9 , A 10' A 11'A 12 , tion of the polyhedron A 1AzA3"', A mB1B2B3,, B n into
A 20 , A 21 , A 22 } pentahedrons pa =Ar4i+l BjOAOB and pb ==AiBjBj+10 AOB'
2. concave subsets S,' = {A 3 , A 4 , A 5 , A 6 , A,}, with i = I to m and j = I to n, for the total volume may be
1
S.'
= {A 12' A 14, AI" AlB' A 20 } . written as
3. convex subsets S3 = {A 12' A 13' A 14},
Sa' = {A 14' A 15' A 16' AI'}'
and S:"= {AlB' A 19 , A 20 } . V T OT = 2: Vol (pa) + 2: Vol (pb). (2)
a b

A triangulation criterion for purely convex contour The superscript a represents the pentahedrons having a
lines is now formulated. Let two convex sets of contour triangular face Ar4i+lBj with two vertices from the con-
points Sa = {AI' A 2, A 3,' .., Am} and Sb = {BI' B 2, B 3,' .., tour point set Sa, and the superscript b similarly repre-
B n } , and a trial triangulation between them be given, as sents the pentahedrons with two vertices Bj and Bj +1
shown in Fig. 3. Let us consider the polyhedron A 1AzA3' from the set s: A further partitioning of each pentahed-
..., A mB1B2B3, .., B n originated by this triangle arrange- ron pa or pb into tetrahedrons is
ment. We assume the following objective function for
a(Ar4i+l
optimal triangulation of the two convex contour lines Sa pa(Ar4i+1BjOAOB) = T1 Bj OB)
and s: + T2
a(Ar4i+1040B)'
The triangulation which maximizes the volume of the
polyhedron A 1A2A3, .., A mB1B2B3, .., B n gives the opti-
mal approximation of the surface provided by a pair of pb(AiBjBj+PAOB) = T/(AjBjBj+10A)
closed convex contour lines. + T 2!'(BjB j+10,OB)'
This objective function also extends obviously to con-
cave contour point subsets. We consider Fig. 2 as an ex-
ample of an arbitrarily flexed contour line, containing con- Equation (2) then becomes a summation over four kinds
cave sequences of contour points. We suppose the vol- of tetrahedrons:
ume of any polyhedron A 1AzA3' .., A mB1B2I!3' .., B n to VT OT =2: Vol (T 1
a
) +2: Vol (T 1
b
) +Ca+C b'
be algebraically oriented such that the volume is positive a b

for an anticlockwise sequence of the vertex points, and where the two last terms
otherwise negative. (Let BI' B 2 , , B n be a contour m-l
point set similar to AI' A 2, ..., Am of Fig. 2.) One can Ca = 2: Vol [T2
a(Ar4i+1
0AOB)],
then see that concave contour sections, as for example i=l

the point sequence A 3, A 4 , A 5 , A 6 , A 7 , become convex by n-l


reversing their sequence. According to the above criteri- Cb = 2: Vol [T2b(BjBj+10AOB)]
4 on, the optimal approximation by triangles of this sec- j~1

E. KEPPEL IBM J. RES. DEVELOP.


represent the volume of the two pyramids A lA" .. " z
AmO B and B IB 2 , ' " BnG A' which are independent of the
particular triangulation assumed a priori and are thus
constant.
The volume of the tetrahedrons T I a and T I b is given by

(3 a)

b ~ ~ ~
Vol (T I (AiBjBj+l 0A)) =HOABj x 0ABj+I)OAAi
b
= vi j (3b)

Figure 3 The polyhedron arising through a trial triangulation


When the contour points are given by their Cartesian between two sets of contour points Sa = {A" A" A 3 , ',A m} and
coordinates Ai = {X/' Y/' ZI}, i = I to m, and Bj = Sb = {B" B" B3 , , B,,} describing closed convex contour lines.
{X/' Y/' ZB},j= I to n, we obtain for (3a) and (3b)
the formulas

a _ (ZB ZA) (X Ay A A A
1. A triangle necessarily shares two consecutive contour
(4a) points, either in set Sa or in set s: This means that
I
Vi j -"3 - i i+1 - X i +1 Yi '

if a ij = 1, then either ai+l, j = 1 or ai, j+l = 1. (6)


(4b)
2. Each contour point is joined at least once with a point
of the opposite contour. This means that
The total volume of the polyhedron, expressed by
(2), can be rewritten explicitly, using the formulas (4a) m n

and (4b), as
2: aij ::: 1 and 2: a ij ::: I. (7)
i=1 j=l

(5) 3. Junctions between the two contour lines cannot cross


VT OT " v (/
= 'L.J ij + 'L.J
" "is I) + const.
over. If
i, j i, j

a ij = I and a i + l , j = 1, then it must hold that


Expression (5) is the objective function to maximize for
obtaining the optimal triangulation. This formula shows ai, j+1 = 0, and
that each triangular face of the polyhedron P contributes
if a ij = 1 and ai, j+1 = 1, then it must hold that
additively to the total volume.
( 8)
Enumeration of all triangulations
We consider the two convex sets of contour points Sa = The binary matrix M corresponding to the triangulation
{Ai}, i = I in m, and Sb = {Bj},j= 1 to n, given in Fig. 3. of Fig, 3 is explicitly represented to allow for the recogni-
To find an appropriate formulation of the permutational tion of these three constraints:
structure of the triangulation, we describe the junctions
i = 1,2,3,4,5,'" m - 2, m - I, m
of points of opposite contour lines to triangles with the
10000 j = 1
help of a binary n X m matrix M = {a ij } . M is associated
1 1 0 0 0 2
with the sets Sa and Sb such that the matrix element a ij
is equal to unity if the ith contour point Ai of the set Sa o 100 0
o 1 1 0 0
3
4
and the jth contour point Bj of the set Sb are joined, and (9)
M= 0 0 1 1 1 5
o if they are not. A triangle consists of two junctions A iBj
and A iB k and is represented in this matrix M by two
I-elements. The requirements of the triangulation are o o n-2

1
described by the following three properties of the matrix 1 n-l
elements: o 1 n 5

JANUARY 1975 TRIANGULATION OF CONTOUR LINES


Finding the optimal triangulation
Let us consider further the two convex sets Sa and Sb of
contour points in Fig. 3, and the graph G associated with
them and shown in Fig. 4. G will be interpreted as a
"maximum cost graph" [3] by assigning to each arc N i j
= (Pij' P i+ l , j) or (Pij' Pi, j+l) a constant value represent-
ing the volume v ij of the tetrahedron A;Ai+IBjOB or
A iBjBj+I04 , with i and j running from I to m - 1 and
n - I, respectively. The value of vi j is given either by
(4a) or (4b) by

(l
Vi j v(N i) v(P i j, Pi+!. j) Vi} , or
b
= v(Pij' Pi. j+l) Vi j (10)

As already shown, the total volume of the polyhedron


originated by a triangle arrangement is the objective
function to be maximized and can be decomposed ad-
ditively into the partial tetrahedron volumes associated
c e S, 4, 5, 6, '.' ... (rn+n) with each triangular face of the polyhedron. Finding the
triangulation which maximizes this polyhedron consists,
Figure 4 Graph G {Pi " N} associated with the two contour then, in finding in graph G the path 11' going from the
point sets S" = {Ai} and Sh = {B j } of Fig. 3. The triangulation
vertex PH to the vertex Pmil such that the expression
presented in Fig. 3 and the matrix M offonnula (9) is indicated
in G by the path marked with large arrows from vertex P" to
vertex P rnn V(11') L v(Nij) (11)
Ni)"<7T

is maximum. This classical problem of graph theory may


be solved in various ways [3J. For the specific simple
structure of graph G the following algorithm is easy to
We see that the partitioning of the side surface of the realize in a computer.
polyhedron into a fixed triangle arrangement corresponds Each vertex Pij of graph G in Fig. 4 is associated with
in the matrix M to a fixed chain of adjacent l-elernents an index w ij and a pointer Pi}' We handle in turn all
joining all to a mn and obeying the rules (6) to (8). vertices along a vertical column labeled by a value c =
The enumeration of all possible triangle permutations i + i, i.e., a column consisting of the vertices Pi j satisfy-
is best described by introducing a graph G {P, N} of ing i + j = c. We progress from left to the right, starting at
vertices P and arcs N associated with the matrix M in the vertex column c = 3 and ending at c = m + n.
such a way that each element aij of the matrix (9) repre-
sents a vertex Pij of the graph (see Fig. 4). The double
1. To begin, we set in column c 3 the indices W
12
and
subscript i and j of the vertices should indicate clearly
W 2 l according to (10)
that P i j represents the same item as does the matrix ele-
ment ail' namely the segment AiB}' It is then evident that
an arc N (Pi}' P ik ) of G, joining any two vertices P i j
W12 ir; I' Pl. 2) = vl / ,
and P ik' represents the triangle AiBjBk~ The constraints W2l v(P I , I' P 2 I) = V 120.

(6) and (7) restrict the graph G to the arcs (Pi)' P i t l j )


and (Pi)' Pi,j+l) shown in Fig. 4. Condition (8) is ex- 2. For any subsequent column c = 4, 5, 6,' .. of vertices,
pressed by assigning a direction to the arcs of the graph. we calculate at each vertex Pi)
The interpretation of the graph G of Fig. 4 is extremely
simple: A sequence of adjacent arcs is called a path in
Va Wi_I. j + V(P i_ l , j' Pij), and
graph theory [3]. (Two arcs are said to be adjacent if
they have a vertex in common.) Each path joining the Vb j-I + v(P i i-v P i j )
vertices PI I and Pmn represents in G a fixed triangulation.
The total number of distinct paths from PIl to P mn is The index w i j associated with the vertex P ij is set
the total number of different triangle arrangements. It
6 can be shown that it is given by Eq, (I). ( 12)

E. KEPPEL IBM J, RES. DEVELOP.


and the pointer Pij connects the current vertex P i j z
to either vertex PH, j or to vertex Pi, j_1 of the pre-
vious column (' -- I by setting

( 13)

This pointer Pi j acts as an indicator to keep a record


in graph G of the path tt from vertex P I I to vertex Pij
giving maximum value for quantity (11), Index H'ij
contains V(7f) forthis path rr.
3. The procedure ends as soon as Pmn is reached. The
path tt max from PH to P mn with the maximum V (7f max)
value is then backtracked by following the pointers
Pij from the vertex P mn to the vertex PIll'

The general triangulation algorithm


The computation procedure for optimal triangulation
described thus far holds exclusively for pairs of convex
contour lines, This procedure, however, is also valid for
pairs of concave contour-point subsets, on the premise
that the max-operator in Eq. (12) of the algorithm is
replaced by a min-operator, since expression (I I) is
then to be minimized.
The application of this optimization algorithm to con-
tour lines with alternating sign of curvature, as illustrat- ~'
~o,
ed by Fig. 2. requires a careful adaptation into the itera- ~_\
I: '\
tion scheme previously indicated. The realization of a \~'
decomposition procedure that allows the alternating ~"
h.l"dling of convex and concave contour subsets sepa- ~~
~,'\
rately is not obvious. We explain the main lines of the
'0'"
strategy by means of an example. We assume two given ~~\
sets S,/1 and SoIJ of contour points, but now mixed into
I: . '0'~

( b)
convex and concave contour sections. Figure 5(a) will
serve us as example for the iterative decomposition of Figure 5 (a). Example of triangulation for the general case of
the triangulation process. two arbitrarily flexed contour lines defined by So" = {A l ' A 2 , " ' ,
A ,z } and Sob {8 ", B ,o}' (b) Graph associated with the
1. The first step has already been exhaustively treated contour-point subsets" SI {A" A z , A 7 , A" A", A ,2} and S,b
above: The point subset S/' {Al' A 2 , A 7 , Ax' All' {B 8 2 , B 5 , 8", 8 1 , B., B",} of Fig. 5(aj and taken for the first
"
iteration step of the triangulation algorithm, The path 11', maxi-
A l z } of the upper contour SOli and the subset S/) = mizing the polyhedron volume is indicated by large arrows, The
{BI' B z' B", B 6 , B 7 , B x' BIll} of the lower contour SOb subgraphs G I and handled in the next iteration step are
shaded.
provide two convex contour lines for which the algo-
rithm holds literally. The subsets 51" and SIIJ are de-
termined by repeated application of the circle test for
curvature sign. The graph G associated with the set
5/' and 51" is presented in 5(b). We assume that
the path 7f l traced in G has been obtained by maxi- In the first case, the points A 2 , A 7' B z ' and B 5 which
mizing expression ( II). The corresponding triangula- delimit the boundaries of the omitted contour sec-
tion is then entered into Fig. 5(a) . tions are mutually joined by the segments A 2 B 2 and
2. The second phase of the general algorithm handles A 7 B 5 Thus, the point subsets 52" = {A z' A 3 , A 6 , A 1 }
the triangulation at the omitted sections of the con- and S/' {B 2 , B:l' B 4 , B o} are clearly to be triangulat-
tour lines. Figure 5 (a) illustrates the two principal ed next. The interpretation by graph G in Fig. 5(b)
cases to be distinguished by the selection procedure indicates the computational method. If the vertices
for the next iteration steps. PZ, 2 and P7 , 5 are contained in the path 7f1' they delim- 7

JANUARY 1975 TRIANGULATION OF CONTOUR LINES


Triangulation of the contours of a human head
The triangulation method presented in this paper has
been implemented, in conjunction with the radiological
clinic at the University of Heidelberg, in a research
experimental computer program for three-dimensional
planning of radiation therapy [4]. The major feature of
this approach consists in creating a triangulated model of
all relevant anatomical surfaces involved in the treatment.
The triangulation is done by a FORTRAN subroutine that
accepts patient contour measurements in form of a set of
Cartesian x-y coordinates at cross sections of constant z
value.
To illustrate the practical details of calculation by
example, we describe the main phases of the triangula-
tion of a human head. Figure 6 shows, projected on the
screen of an IBM 2250 display unit, the initial contour
points input to the computer. To enhance the presenta-
tion, consecutive points have been joined by closed con-
tour lines, and the coordinate system into which the con-
tour points were measured has been rotated laterally in
Figure 6 Lateral view on the screen of an IBM 2250 display order to present the contour lines in a convenient over-
unit of the contour lines of a head. The contour points in each
parallel cross section have been joined to closed polygons. view.
To realize the triangulated model, the program han-
dles in turn each pair of adjacent contour lines. We then
restrict our discussion of the algorithm to only one pair
of contour lines. We concentrate our attention on the
triangulation of the fifth and sixth cross sections from the
bottom of Fig. 6. These two contour lines are shown in
Fig. 7. The choice of this pair has been made to illus-
it a subgraph G 1 of G into which a path from the ver- trate the way a correct triangulation is realized in a com-
tex P2 2 to the vertex P7,5 has to be found next such plicated region such as that of the ears.
that the polyhedron A:r4:r4~7B2B3B4BsOAOB has The program starts the triangulation procedure by ini-
minimum volume. This subgraph, labeled G 1, has tializing a binary matrix for Eq. (9) with the entries in
been shaded in Fig. 5(b) . the rows and the columns denoting the contour points of
The second and more confusing case arises when the upper and the lower cross section, respectively. This
the boundaries zr, and A 12 of the omitted upper contour matrix is permanently reserved in storage until the trian-
section are not connected with the respective limits gulation of the contour pair is achieved.
B H and B IO of the lower contour. The junctions Accordingly, in the iteration procedure of the algo-
AHBIO (instead of A"B H) and A I2BIO delimit here the rithm, the program has to select for the first iteration step
contour portion to be handled in the second iteration that subset of contour points which yields a purely con-
step. The further concave subsets are S/ = {A H' A 10' cave contour polygon for both sides. The repeated appli-
b'
All' A 12 } and S2 = ie; B", B l o } ' The second sub- cation of the circle test to convex contour sections per-
graph, G 2 , to be handled is delimited by the vertices mits only the points shown in Fig. 8 to be retained. The
PH, 8 - not p", H as in the previous case-and P 12 , 10' G 2 triangulation of the removed points is resumed during
has also been shaded in Fig. 5 (b). The recognition by later iteration steps.
the computer program of the vertex PH. H instead of To describe, according to the equations (6) to (9),
P",8 as a limit of the subgraph G 2 requires careful all possible triangle junctions between contour points of
programming, the details of which we do not present the two contour lines, a binary matrix is associated with
here. them. This 14 x 18 matrix is shown in Fig. 9. Columns
3. The last iteration step finally resolves the triangula- and rows are labeled according the subscripts of the
tion of the remaining convex contour portion S3" = points of Fig. 8. The matrix shows the result of the mini-
{A 3, A 4, As, A 6 } . Since no corresponding convex con- mum-path algorithm that maximizes the volume of the
tour section exists in Sob, the triangulation assignment polyhedron delimited by the pair of cross sections. The
8 becomes obvious in this case. binary values of the matrix elements are conventionally

E. KEPPEL IBM J. RES. DEVELOP.


Figure 7 Two adjacent contour lines from the head in Fig. 6. Figure 8 Contour points selected from Fig. 7 for the first iter-
ation of the triangulation. The points tI, and b, are assumed to
correspond a priori.
fixed such that Pij = I means a pointer "backwards" in
the matrix, i.e., it specifies the triangle a j Gt_1bj ; the val-
ue Pij = 0 on the other hand, indicates a pointer "up-
wards", i.e., it specifies the triangle at bj bj _ , . Tracking
back in the matrix from the lower-right to the upper-left Figure 10 The binary matrix of Eq. (9) set up in computer
memory to perform the triangulation of Fig. 7. The figure shows
element yields the optimal triangle partitioning of Fig. 8. the state of the matrix at the end of the first iteration step. Rows
The only significant permanent storage requirement and columns of deferred contour points are filled up with the
for the algorithm is the binary matrix of Fig. 9. In prac- character '+'. The I and 0 values correspond to the matrix of
Fig. 9. The pointer chains specify the optimal triangulation and
tice that matrix is realized in computer memory as the delimit six shaded submatrices which are to be processed in the
initially defined large matrix shown in Fig. 10: Col- next iteration.

Figure 9 The binary matrix of Eq. (9) describing for Fig. 8


the junctions of contour points [0 triangles. The matrix element
values result from the shortest path algorithm. The value Pu = I
specifies the triangle tI/it_,bp the value P i j 0 specifies the tri-
angle aib.b,_,. The chain of pointers which tracks back in the ma-
trix front (he lower right element to the upper left indicates the
optimal triangulation.

+
+++++T++++"++
+++'---'-t+++++t+
++++++++++'-++
+++ ...... t + + + + + t . f .
3 bL~-i::i{;"i7;0f)jvt.. 1 + + + + 1
6 + ++++++ ++
++++++++++
10
14
-c 20
~

" 25
0
E 26
0
0
.0 27
~
28
29 0
30 0
35
1
9

JANUARY 1975 TRIANGULATION OF CONTOUR LINES


Figure 12 Result of the triangulation of Fig. 6 as displayed on
the video terminal.

Figure 11 Convex contour sections handled during the second Figure 12 shows the three-dimensional representation
iteration of the triangulation. Each section corresponds to a of the totally triangulated contour tines of Fig. 6. One
shaded submatrix in Fig. 10. Definitively fixed triangles result-
ing from the previous iteration are indicated in the drawing. may note the removing of the hidden triangles from the
display screen. The most useful property of the triangu-
lated model is to provide a description of surfaces par-
ticularly well adapted for graphical visualization on a
display terminal. The possibility of manipulating three-
dimensional anatomical figures under visual control moti-
umns and rows corresponding to deferred contour points vated the development of the planning system in a highly
are crossed out to show the state of the matrix during interactive way. The accuracy of any particular represen-
the first iteration step. The backtrack chain of pointers tation depends on how many contour lines are used to
in Fig. 10 permits determination of the remaining con- describe the three-dimensional object, how many contour
tour sections that are candidates for the next iteration points are selected for each line, and how they are dis-
steps. The program determines all occurrences of point- tributed.
er "jumps" over deferred rows and columns. Two con-
secutivejumps delimit a submatrix that corresponds to a
nontriangulated contour section pair. In Fig. 10, six
submatrices have been recognized by the program. They Acknowledgment
correspond to six separate convex contour sections to The author is indebted to W. A. Hunt for having directed
be handled next; these are shown in Fig. 11. The pro- his attention to the subject of this paper.
gram processes this second iteration step in nearly com-
plete analogy to the first one and can loop over the same
program section.
References and note
The triangulation is completed at the end of the third it- 1. Computers in Radiology, Proceedings of the Fourth Inter-
eration step. This last step handles only the remaining national Conference on the Use of Computers in Radiation
short concave sections visible on Fig. 11. The backtrack Therapy, Uppsala, Sweden, August 7-11, 1972.
2. To the best of our knowledge no publication exists on this
chain of binary pointers is then complete in the matrix of subject. In the field of biomedicine, the triangulation tech-
Fig. 10. The program finally generates the corresponding nique was proposed by several researchers, of which Dr.
list of contour point triples, which indicates the final U. Rosenow (Gottingen, W. Germany) and Dr. J. Weinkam
(St. Louis, USA) are known to the author. Dr. W. A. Hunt
triangulation obtained for the considered pair of cross (I BM Houston, USA) elaborated upon a triangulation
10 sections. method which fails, however, for complex surfaces.

E. KEPPEL IBM J. RES. DEVELOP.


3. C. Berge, The Theory of Graphs and Its Applications, John Received June 5, 1973; Revised June 5,1974
Wiley and Sons, Inc., New York, 1967.
4. M. Bergen and E. Keppel, "A Comprehensive System for The author is located at the IBM Heidelberg Scientific
Interactive Planning in Radiation Therapy," Technical
Report 72.0/.001, IBM Scientific Center, Heidelberg, Center, Tiergartenstrassc 15, 6900 Heidelberg, Ger-
Germany, 1972. many.

11

JANUARY 1975 TRIANGULATION OF CONTOUR LINES

Vous aimerez peut-être aussi