Computation on Parametric Curves Yan-Bin Jia Department of Computer Science Iowa State University...
-
Upload
norah-tate -
Category
Documents
-
view
222 -
download
0
description
Transcript of Computation on Parametric Curves Yan-Bin Jia Department of Computer Science Iowa State University...
Computation on Parametric Curves
Yan-Bin Jia
Department of Computer Science Iowa State University Ames, IA 50011-1040, USA [email protected]
Dec 16, 2002
Why Curved Objects?
Frequent subjects of maneuver (pen, mouse, cup, etc.)
Actions and mechanics are inherently continuous / differential and subject to local geometry of bodies
Contact kinematics
Dynamics
Control
Shape localization, recognition, reconstruction
Not well studied compared to polygonal and polyhedral objects
Outline of the Talk
1. Constructing common tangents of two curves2. Computing all pairs of antipodal points
Primitive used by other algorithms
antipodal grasp
Previous Work Antipodal Grasp & Points
Hong et al. 1990; Chen & Burdick 1992; Ponce et al. 1993;Blake & Taylor 1993
Curve ProcessingGoodman 1991; Kriegman & Ponce 1991; Manocha & Canny 1992; Sakai 1999; Jia 2001
Computational GeometryPreparata & Hong 1977; Yao 1982; Chazelle et al. 1993;Matousek & Schwarzkopf 1996; Ramos 1997; Bespamyatnikh 1998
Grasping & Fixturing Salisbury & Roth 1983; Mishra et al. 1987; Nguyen 1988; Markenscoff et al. 1992; Trinkle 1992; Brost & Goldberg 1994; Bicchi 1995, Kumar & Bicchi 2000
Common Tangent of Two Segments
Assumptions for clarity (removable):
i) Curvature everywhere positive or everywhere negative
iii) Total curvatures (–, ) (and with equal absolute value)
T
S
T(s )bT(s )b
T(s )a
total curvature
ii) Opposite normals at corresponding endpoints
sb
t a
bt
saT(s )a
How Many Common Tangents?
Theorem
a) have at most two common tangents incident on points with opposite normals.
b) are always on the same side of every common tangent or always on different sides.
Two segments satisfying conditions (i)—(iv)
Four Configurations
How to distinguish them? (N, translation of tangents, etc)
An Iterative Procedure
t1
2t
s0
t0
s2
s1
Sequences { s } and { t } converge quadratically to s* and t*. k k
s* t*
To find common tangencies with the same normal, reverse the normal vector field on one segment.
( k 15, # low-level iterations 300 )
Preprocessing I Step 1 Compute all simple inflections.
Step 2 Split every segment whose total curvature [–, ].
simple Inflection: = 0 but 0
> 0
< 0
< 0
> 0
Step 3 Shortening either or both segments
Assumptions i)-iii)satisfied.
Application I – Convex Hull
Van Dis & Jia 2002
O(n)
#inflections
Application II – Antipodal Points
closed cubic spline (10 pairs) = 3/(1+0.5 cos(3))
limacon
= 4 + 2.5 cos
elliptic lemniscate
= (6 cos + 3 sin )2 2 2 2 1/2
Antipodal Points
Two points whose inward normals are i) collinear ii) pointing at each other.
t*s*
a simple close curve
Existing Methodsformulation nonlinear programming + heuristics
Incomplete – not guaranteed to find one, not to mention all of them.
Inefficient – many initial estimates often needed.
Why not exploit global & local (differential) geometry together?
Antipodal Angle
s
N(s)
t
N(t )r(s)
s and t are antipodal if and only if (s) = 0.
: antipodal angle
simple antipodal points s* and t* if (s*) = 0 but (s*) 0.
s*
t*N(s) + N(t) = 0
Locally, define opposite points by
Assumption
iv) Normals at opposite points (s, t) point towards each other.
Opposite Angle Sign at Endpoints
antipodal angle increases monotonically as s increases.
no antipodal points otherwise.
t a
S
T
sasb
bt
(s )a(s )b
unique pair of antipodal points if (s ) < 0 and (s ) > 0.a b
Bisection over [s , s ]. a b
s*
t*
Both segments are concave.
Same Angle Sign at Endpoints
Otherwise, termination at the other endpoints.
If exist, linear convergence to the closest pair.
t*
s*
as
ta
s =0
t =0
t2t1
s12s
0 1
0 1
monotone sequencess ,s , …t , t , …
as
tb
Marching I (convex-convex)
Cont’d
The ray of N(t ) or N(t ) must intersect segment Sa b
s =0
t = 0
s1
t2
2s
t*s*
tbbs
t10 1
0 1
monotone sequences:s ,s , …t , t , …ta
as Same convergence result
Marching II (convex-concave)
Recursively Finding All pairs
bisection
march
t*1s*1
t*2
2s*
Case 1 Case 1
Case 2 (bisection)
Recursion tree: Case 1 (march)s* , t* 1 1
s* , t* 2 2
Preprocessing II
Step 4 Compute common tangent lines
bt
sa sb
ta
a pair of normals pointing away from each other
Steps 1, 2, 3
Conclusion
Design of algorithms for curve computing
Completeness – up to numerical resolution
Interleaving marching with numerical bisection (exploiting of local geometry)
Dissecting the curve into monotone segments (preprocessing of global geometry)
Provable convergence rates (depending on curvatures)
Efficiency – O(n + m) two-level calls of numerical primitives2
#inflections #antipodal pairs
running time is tight
Extension
Algebraic Curves
2-D Surfaces
Optimization along Curves, Surfaces