Computation on Parametric Curves Yan-Bin Jia Department of Computer Science Iowa State University...

21
Computation on Parametric Curves Yan-Bin Jia Department of Computer Science Iowa State University Ames, IA 50011-1040, USA [email protected] Dec 16, 2002

description

Outline of the Talk 1. Constructing common tangents of two curves 2. Computing all pairs of antipodal points Primitive used by other algorithms antipodal grasp

Transcript of Computation on Parametric Curves Yan-Bin Jia Department of Computer Science Iowa State University...

Page 1: Computation on Parametric Curves Yan-Bin Jia Department of Computer Science Iowa State University Ames, IA 50011-1040, USA Dec 16, 2002.

Computation on Parametric Curves

Yan-Bin Jia

Department of Computer Science Iowa State University Ames, IA 50011-1040, USA [email protected]

Dec 16, 2002

Page 2: Computation on Parametric Curves Yan-Bin Jia Department of Computer Science Iowa State University Ames, IA 50011-1040, USA 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

Page 3: Computation on Parametric Curves Yan-Bin Jia Department of Computer Science Iowa State University Ames, IA 50011-1040, USA Dec 16, 2002.

Outline of the Talk

1. Constructing common tangents of two curves2. Computing all pairs of antipodal points

Primitive used by other algorithms

antipodal grasp

Page 4: Computation on Parametric Curves Yan-Bin Jia Department of Computer Science Iowa State University Ames, IA 50011-1040, USA Dec 16, 2002.

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

Page 5: Computation on Parametric Curves Yan-Bin Jia Department of Computer Science Iowa State University Ames, IA 50011-1040, USA Dec 16, 2002.

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

Page 6: Computation on Parametric Curves Yan-Bin Jia Department of Computer Science Iowa State University Ames, IA 50011-1040, USA Dec 16, 2002.

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)

Page 7: Computation on Parametric Curves Yan-Bin Jia Department of Computer Science Iowa State University Ames, IA 50011-1040, USA Dec 16, 2002.

Four Configurations

How to distinguish them? (N, translation of tangents, etc)

Page 8: Computation on Parametric Curves Yan-Bin Jia Department of Computer Science Iowa State University Ames, IA 50011-1040, USA Dec 16, 2002.

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 )

Page 9: Computation on Parametric Curves Yan-Bin Jia Department of Computer Science Iowa State University Ames, IA 50011-1040, USA Dec 16, 2002.

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.

Page 10: Computation on Parametric Curves Yan-Bin Jia Department of Computer Science Iowa State University Ames, IA 50011-1040, USA Dec 16, 2002.

Application I – Convex Hull

Van Dis & Jia 2002

O(n)

#inflections

Page 11: Computation on Parametric Curves Yan-Bin Jia Department of Computer Science Iowa State University Ames, IA 50011-1040, USA Dec 16, 2002.

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

Page 12: Computation on Parametric Curves Yan-Bin Jia Department of Computer Science Iowa State University Ames, IA 50011-1040, USA Dec 16, 2002.

Antipodal Points

Two points whose inward normals are i) collinear ii) pointing at each other.

t*s*

a simple close curve

Page 13: Computation on Parametric Curves Yan-Bin Jia Department of Computer Science Iowa State University Ames, IA 50011-1040, USA Dec 16, 2002.

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?

Page 14: Computation on Parametric Curves Yan-Bin Jia Department of Computer Science Iowa State University Ames, IA 50011-1040, USA Dec 16, 2002.

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.

Page 15: Computation on Parametric Curves Yan-Bin Jia Department of Computer Science Iowa State University Ames, IA 50011-1040, USA Dec 16, 2002.

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.

Page 16: Computation on Parametric Curves Yan-Bin Jia Department of Computer Science Iowa State University Ames, IA 50011-1040, USA Dec 16, 2002.

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)

Page 17: Computation on Parametric Curves Yan-Bin Jia Department of Computer Science Iowa State University Ames, IA 50011-1040, USA Dec 16, 2002.

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)

Page 18: Computation on Parametric Curves Yan-Bin Jia Department of Computer Science Iowa State University Ames, IA 50011-1040, USA Dec 16, 2002.

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

Page 19: Computation on Parametric Curves Yan-Bin Jia Department of Computer Science Iowa State University Ames, IA 50011-1040, USA Dec 16, 2002.

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

Page 20: Computation on Parametric Curves Yan-Bin Jia Department of Computer Science Iowa State University Ames, IA 50011-1040, USA Dec 16, 2002.

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

Page 21: Computation on Parametric Curves Yan-Bin Jia Department of Computer Science Iowa State University Ames, IA 50011-1040, USA Dec 16, 2002.

Extension

Algebraic Curves

2-D Surfaces

Optimization along Curves, Surfaces