Computation on Parametric Curves

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

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.). - PowerPoint PPT Presentation

Transcript of Computation on Parametric Curves

Page 1: Computation on Parametric Curves

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

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

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

Page 4: Computation on Parametric Curves

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

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 )b

T(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

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

Four Configurations

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

Page 8: Computation on Parametric Curves

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

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

Application I – Convex Hull

Van Dis & Jia 2002

O(n)

#inflections

Page 11: Computation on Parametric Curves

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

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

Existing Methods

formulation 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

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

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

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

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

t1

0 1

0 1

monotone sequences:s ,s , …

t , t , …ta

as Same convergence result

Marching II (convex-concave)

Page 18: Computation on Parametric Curves

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

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

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

Extension

Algebraic Curves

2-D Surfaces

Optimization along Curves, Surfaces