self-intersection detection and elimination in freeform curves and surfaces diana pekerman...
TRANSCRIPT
Self-intersection detection and elimination in freeform curves and surfaces
Diana Pekerman Department of Mathematics, Technion – IIT, Haifa 32000, Israel;
Gershon Elber Department of Computer Science, Technion – IIT, Haifa 32000, Israel;
Myung-Soo Kim School of Comp. Science and Eng., Seoul National University, Seoul, Republic of Korea
Computer-Aided Design 40 (2008) 150–159
LOGO
Your site here
An extensive body of research can be found on intersection problem, with different approaches for the intersection of freeform curves /surfaces. Or self-intersections in offset curves/surfaces.
Only a few results address the problem of self-intersections of freeform curves, much less in the case of surfaces.
Sederberg and Meyers presented a similar criterion based on cones in1988. (no closed loops exist) .
Sederberg presented a decisive collinear normal criterion in1989: And there are only a finite number of lines that are normal to the two
surfaces and each loop in the intersection must encircle at least one collinear normal line. [23]
Lee applied a plane sweep algorithm to detect all self-intersections of planar offset curves in1996 , but this approach is difficult to implement .
Elber and Cohen detected local self-intersections of offset curves in 1991 , but their approach is limited to detecting local self-intersections.
Elber in 2003 and Seong in 2006 presented a scheme to trim both local and global self-intersections of offset curves and surfaces.
1.Related Work
LOGO
Your site here
Wallner in 2001 considered the problem of computing the maximum offset distance that guarantees no local or global self-intersections.
In this work, we present an alternative approach that eliminates the self-intersection by altering the shape itself.
In addition, no algebraic method was presented to
eliminate (u − v) terms, in self-intersections. =0 C u C v
LOGO
Your site here
2.The frame of this paper
1.the detection algorithm for global self-intersection detection in freeform surfaces.
2.the global self-intersection elimination algorithm for surfaces
3.an alternative, algebraic, approach to the self-intersection detection of planar curves
LOGO
Your site here
3.Global self-intersection detection using binormal lines
One way of representing the metamorphosisbetween two univariate shapes, and , ,is by introducing, a second para -meterization for time as S(u, t). Let S(u, t), (u, t)∈ × [0, 1], denote a regular sur-face that represents a locally self-intersection-free metamorphosis betweentwo simple, regular, planar freeform curves, and .Fig. 1 illustrates an example of a surface that represents a metamorphosis betweentwo open curves, and , with aClosed-loop self-intersection component.
0C u 1C u
u
0 1,u u u
0 1,u u
0C u 1C uFig. 1. A globally self-intersecting surface with a closed-loop intersection component.
0C u 1C u
LOGO
Your site here
1 1,S u tDefinition 3.1. A surface normal-line at the parameter is a line
through that is parallel to the surface normal,
Definition 3.2. The line through and is denoted as a
surface binormal line at parameters and , where ,if it is a surface normal line at both and .
Definition 3.3. Let L be a surface binormal line of a surface at two
different parameters and , such that . <0 Then, and are denoted antipodal points of the surface .
1 1,u t 1 1 1 1
1 1
, ,,S
S u t S u tN u t
u t
1 1,u t
1 1,S u t 2 2,S u t 2 2,u t 1 1,u t
2 2,u t 1 1,S u t 2 2,S u t
,S u t 1 1,u t 2 2,u t 1 1 2 2, , ,S SN u t N u t
1 1,S u t 2 2,S u t ,S u t
LOGO
Your site here
We make several assumptions regarding the given surface . 1. we assume that is locally
self-intersection-free.
2. we assume that if the surface has a global self-intersection at some location, then there are exactly two different points in the parametric domain that are mapped to the each Euclidean
location. 3. we assume that if has global
self-intersections, then the normal directions of the surface inside each loop component do not vary by more than 90◦, and the normal field of the whole surface has a span of less than 360◦.
,S u t
,S u t
,S u t
,S u t
,S u t
1 1,u t 2 2,u t
Fig. 2. The iso-parametric curve of the surface seen in Fig. 1, shownwith its binormal lines.
Fig. 2 presents the middle iso-parametric curve, , of the surface
from Fig. 1 that contains the binormal lines with antipodal points.
mC u
LOGO
Your site here
, , 1, 2iu t Int C i
Denote the loop intersection components as ,and the two regions inthe parametric domain of that is interior to as .
Under the last assumption, any normal-line at intersects exactly once in its domain .In addition, any normal-line at intersects exactly once in the antipodal domain, .
Lemma 3.4. If a surface intersects itself in the pair of closed loops,
and , then there must exist a binormal line at two antipodal points , in the parameter domain of the surface, where .
, 1, 2iC i ,S u t
iC , 1, 2iInt C i
,S u t , , 1, 2iu t Int C i , , 1, 2iu t Int C i ,S u t
3 iInt C
,S u t1C
2C 1 1,u t 2 2,u t , , 1, 2i i iu t Int C i
LOGO
Your site here
From Lemma 3.4, the self-intersection detection problem is reduced to determining all the antipodal points in the parametric domain of .
The problem of detecting the surface’s binormal lines could be reduced to solving the following system of five constraints:
(a) (b) (c)
(d)
(e) (1)
,S u t
,, , , 0
,, , , 0
,, , , 0
,, , , 0
, , , 0s s
S u tS u t S v s
u
S u tS u t S v s
t
S v sS u t S v s
v
S v sS u t S v s
s
N u t N v s
LOGO
Your site here
, ,,S
S u v S u vN u v
u v
with four unknowns, u, t, v, s, and recalling that . The fifth constraint ensures that the solutions set will contain no points of
the form ,since at such points the normals are obviously identical.
To remedy the situation that ( ), replace two of the constraints by an equivalent, numerically more stable, conditions as follows:
, ,u t v s
, ,S u t S v s , ,u t v s
,, , , 0
,, , , 0
,, , 0
,, , 0
, , , 0
s
s
s s
S u tS u t S v s
u
S u tS u t S v s
t
S v sN v s
v
S v sN v s
s
N u t N v s
(2)
LOGO
Your site here
4.Global self-intersection elimination by shape
alteration
Let be a surface with some closed-loop intersection components, and let
be the set of N antipodal points of that lie inside the closed-
loop components
Now, we present an algorithm that attempts to eliminate all loop intersection
components in by shape alteration, seeking a surface that is
close to ,but globally self-intersection-free.
A flipping constraint over between a pair of antipodal points and
as follows:
= , = . (3)
,S u t
,S u t
,S u t
,S u t
1
, , ,N
i i i i iu t v s
,S u t
S
,u t ,v s
,S u t
,S v s ,S v s
,S u t
LOGO
Your site here
Fig. 3 illustrates the result of the flippingoperation between the two antipodal points defined in Eq. (3), which leads to the elimination of the intersection loop.
S
Fig. 3. (a) Two curves containing theantipodal points; (b) the resulting curvesafter applying the flipping constraints.
To solve the flipping constraint, we consider the minimization of thefollowing functional, over :Note the weights, and , are introduced to enable asymmetricalflipping.
2 2
1 1
, , , ,N N
i i i i i i i i i ii i
S u t S v s S v s S u t
( 4 )
In order to find the target surface that is close toin the -norm sense, one should also minimize a similarity functional, such as:
,S u t
,S u t2L
S
i i 1 i N
LOGO
Your site here
0 0 0
1 1 1
, ,
, ,
S u t S u t C u
S u t S u t C u
1 1
0 0
2
, ,t u
t u
S u t S u t dudt
1 1
0 0
2
, ,t u
t u
S u t S u t dudt
( 5 )
In sum, the optimization problem that should be solved is:minimize
2 2
1 1
, , , ,N N
i i i i i i i i i ii i
S u t S v s S v s S u t
+
Subject to ( 6 )
LOGO
Your site here
Employing the B-spline representationof the surface , Eq. (6) is actually a linearly constrained quadratic optimization ( solution by
MATLAB ) ,S u t
Fig. 4. Globally self-intersection-free intermediate curves of a globally self-intersecting metamorphosis surfacewith a closed 一 loop intersection components.
In general, the solution surface can
still have loop intersection components
because it is only locally optimal.To achieve a globally self-intersection-free surface, one can continue by applying the above algorithm gradually. Unfortunately, there is no guarantee that this optimization procedure will
terminate.
,S u t
,S u t
LOGO
Your site here
5.Algebraic self-intersection detection in planar curves
Lemma 5.1. Let and be two independent parameters of the same
polynomail curve . Then, contains the term .Proof . Finding the self-intersection locations of a polynomail curve:Clearly, all location for which satisfy and hence need to
handle all redundant solution along the diagonal .
Let . holds a redundant term of the form .Given a bivariate Bezier function that is assumed to hold the factor of , we seek to find the Bezier bivariate function such that
.In the Bezier basis function terms, this reduces to
vuC C u C v u v
1
ni i
ii
C u C v a u v
C u C v
u v C u C vu v
,u v C u C v u v ,u v
u v ,u v
, ,u v u v u v
1 1
1 1
0 0 0 0
m n m nm n m ni j ij i j ij
i j i j
u v B u B v p B u B v q
LOGO
Your site here
Lemma 5.2. Let be a bivariate polynomial in the
Bezier basis functions known to contain a factor of . Then, could be represented as ,where and
Proof
=
0 0
,m n
m nk l kl
k l
u v B u B v q
u v
,u v u v
1 1
1 1
0 0
,m n
m ni j ij
i j
u v u v B u B v p
0, 1 0,j j
np q
j 1,...j n
, 1 1,i j i j ij
i n i n mp p q
j m j j m j
1,... 1i m 1,...j n
1 1
1 1
0 0
m nm ni j ij
i j
u v B u B v p
1, , 10 0
m nm ni j i j i j
i j
i n j j m iB u B v p p
m n n m
LOGO
Your site here
Fig.5.
LOGO
Your site here
,x u v x u x v Fig. 5. The quartic Bezier curve in (a) yields the constraints in (b) and the constraints in (e),when attempting to solve for its self-intersection locations. The entire diagonal of shows up in both and and hence renders the solution difficult.
Byeliminating the term from both and
(in (c)) and (in (f)) are easily solved for the three self-intersection
locations of .Finally, (d) presents the superposition of and .
The zero sets of both functions are shown in thick gray color.
,C t x t y t ,y u v y u y v
u v x y ,u v x y
x
y
C t x
y
LOGO
Your site here
6. Examples
1. Fig. 6(a) shows the same example of a globally self-intersecting surface with a closed-loop intersection as in Fig. 1. Fig. 4(b)–(e) show several surfaces, gradually acquired from the presented algorithm and producing a self-intersection-free metamorphosis surface, after four iterations.
Fig. 6. A sequence of surfaces, acquired from the global self-intersection elimination algorithm, resulting in a self-intersection-free surface.
LOGO
Your site here
2. Fig. 7(a) shows a globally self-intersecting (metamorphosis) surface with a loop intersection component between a cow and a camel. In Fig. 7(e) zoomed-in area of the intermediate curve from (d) (middle row, left shape), which illustrates the result of global self-intersection elimination.The use of large α and β values
can improve the convergence at the cost of a less reliable process because it might produce new self-intersections during this optimization process.
Fig 。 7 。
LOGO
Your site here
3. Fig. 8 presents one example of a periodic cubic B-spline curve with one hundred control points and several hundred self-intersections. All these self-intersections are identified in less than a second.
Fig. 8. Several hundred self-intersections
of this periodic cubic B-spline curve with
one hundred control points are identified
in less than a second , using the (u 一 v)
elimination approach.
LOGO
Your site here
4. Fig.9. The proper trimming of these offsets was conducted by subdividing the offset curves at all their self-intersection locations and purging any offset segment whose minimal distance to the original curve (thick gray) is below the offset distance, up to the
offset approximation tolerance.
Fig.9.
LOGO
Your site here
In the future, the presented binormal-line algorithm for global self-intersection detection could be extended to the case of metamorphosis volume V (u, v, t), between freeform surfaces in R4, by applying the “Brouwer fixed point
theorem,to a closed sphere, thus detecting the antipodal points.
Extending the elimination of a redundant term (u-v) to the freeform surfacecase is more challenging. In fact, the obvious attempt to eliminate (u - r) (v - t)for a surface S , which is independently parameterized as S (u, v) and S (r, t), will fail simply because the expression S (u, v) 一 S (r, t) does not contain a term of (u - r) (v - t).