314
CHAPTER
6.
PIECEWISE LINEAR TRIANGULATED SURFACES
Figure
6.34
A
triangulated
surface
T(S}
crossed
by a
second
(transparent)
triangulated
surface
T(F}.
The cut
generates
a new
boundary
on
T(S]
without
modifying
its
geometry.
Installing
a
Boundary-on-Surface
constraint
specifying
that
the new
boundary
should
remain
stuck
on
T(F}
before
running
DSI
on
T(S}
enables
the
fault
trace
to be
"opened."
In
practice,
the
subsets
Fo(«S,
J-}
and
^(5,
F]
are
discarded. "Cut operation"
denotes
any
resampling
of
<S
resulting
in a new
triangulation
T*
(<S)
honoring
Fi(«S,
J
7
)
in the
following
sense:
The
"cut algorithm" corresponding
to
this
cut
operation
can be
outlined
as
follows:
1.
Let
"yi(S,F)
be the
empty
set.
2.
For
each
pair
of
triangles
T
s
G
T(S}
and
T/
e
T(F},
determine
the
intersec-
tion
(T
s
n
T/).
If
T
s
e
T(<S)
is a
segment,
then
add it to the set
71(5,
J
7
).
3.
Transform
the set of
segments
71
(<S,
T)
into
a set of
polygonal
curves
FI
(<5,
F).
4.
Retriangulate,
locally
or
globally,
the
surface
S to
obtain
the new
triangulation
T*(S)
honoring
the
edges
of
Fi(<S,
J
7
).
5.
Unsew
the
triangles
of
T*(S)
along
the
edges
of
Fi(«5,.F).
This
operation
is
realized
by
removing
the
«2
links
(see section
(2.4.7))
between
the
darts
associated
with
the
edges
of
ri(<5,.F).
In
spite
of its
theoretical
simplicity, implementing
the cut
algorithm
so
defined
is
extremely complex. This practical complexity
is
induced
by the
fact
that
the
above operations
(2),
(3),
and (4) are
very sensitive
to
rounding numerical
errors,
and a
naive direct implementation
of
these operations
is
unacceptable.
A
correct implementation must
be
based
on
logical geometric predicates tak-
ing
care
of the
history
of the
vertices
generated
at
step
(2).
The
role
of
these
geometrical
predicates
is to
guarantee
that
the
same logical point computed
in two
different
ways results
in one
single vertex.
A
complete description
of
such
a
complex system
is
outside
the
scope
of
this
book;
for
more details,
the
reader
is
referred
to
[109]
and
[74].
Figure (6.34) shows
an
example
of a cut
operation
corresponding
to the
intersection
of a
geological surface
by a
fault:
the new
surface
so
obtained possesses
a new
boundary corresponding
to the
fault
trace.