Transcript
Page 1: Cristina Neacsu, Karen Daniels University of Massachusetts Lowell

Cristina Neacsu, Karen Daniels University of Massachusetts Lowell

Page 2: Cristina Neacsu, Karen Daniels University of Massachusetts Lowell

B-Spline Curves & SurfacesB-Spline Curves & Surfaces

• Used in geometric modeling, graphics

Gerald Farin. Curves and Surfaces for Computer Aided Geometric Design, Academic Press, 1988

www.cs.columbia.edu/ ~laza/heart3D/ www.aerohydro.com/products/rg/ papers/nasa_rg1/nasaf1.htmTheo Pavlidis. Algorithms for Graphics and Image Processing, ComputerScience Press, 1982

Page 3: Cristina Neacsu, Karen Daniels University of Massachusetts Lowell

B-Spline CurvesB-Spline Curves• B-Splines are defined by control polygons• Periodic Cubic B-Spline Curves

– Use a special set of cubic blending functions that have only local influence and each curve segment depends only on the 4 neighboring control points.

• Current work assumption:– non-self-intersecting control polygons (at most one inflection point per curve segment).

Page 4: Cristina Neacsu, Karen Daniels University of Massachusetts Lowell

Sample Application AreasSample Application Areas

CADCAD

Sensors

Lethal ActionLocate, Identify,Track, Observe

Sensor CoverageSensor CoverageTargetingTargeting

Page 5: Cristina Neacsu, Karen Daniels University of Massachusetts Lowell

Spline Covering ProblemSpline Covering Problem

mj

j jBA

1

)( mj ,,,, 1

• Covering Items:

• set of spline bounded regions B = {B1, …, Bj, …, Bm}

• Target Item: spline bounded region A

• Output: a solution such that

Sample A and B Translated Bs cover A

A B1 B2

NP-Hard

Page 6: Cristina Neacsu, Karen Daniels University of Massachusetts Lowell

ApproachApproach

Construct

Inner polygonal approximation to B

Outer polygonal approximation to A

Combinatorial Covering Algorithm

feasible infeasible

Original instance feasible

Construct Cover

?

Construct

Outer polygonal approximation to B

Inner polygonal approximation to A

Combinatorial Covering Algorithm

feasible infeasible

? Original instance infeasible

Page 7: Cristina Neacsu, Karen Daniels University of Massachusetts Lowell

Previous Work - CoveringPrevious Work - Covering• Solving an apparel trim placement problem using a maximum cover problem approach (IIE Transactions 1999 Grinde, Daniels)

• Translational polygon covering using intersection graphs (CCCG’01 Daniels, Inkulu)

• A Combinatorial Maximum Cover Approach to 2D Translational Geometric Covering (CCCG’03 Daniels, Mathur, Grinde)

Rigid, 2D, Exact, Polygonal & Point, Translation

13 {3} 1 {1}12 {3}

6 {1}

5 {3}

4 {2}

3 {2}

2 {1}

11 {2}

10 {2}

9 {3}

8 {1} 7 {3}

P

Page 8: Cristina Neacsu, Karen Daniels University of Massachusetts Lowell

Previous Work - SplinesPrevious Work - Splines• Convex hull property & variation diminishing property[Gerald Farin. Curves andSurfaces for CAD. AcademicPress 1988]• Trisection method[Theo Pavlidis. Algorithms for Graphics and Image Processing. Computer Science Press 1982]• Monotone partitioning of spline-bounded shapes [Daniels 92]

• Estimate on the distance between a B-spline curve and its control polygon [D. Lutterkort and J. Peters. Linear Envelopes for Uniform B-Spline Curves. 2000]

L

M

A

B

C

D

P1

P2

P3P4

l1

l2

Page 9: Cristina Neacsu, Karen Daniels University of Massachusetts Lowell

Curve Polygonal ApproximationCurve Polygonal Approximation

• Monotone partitioning of spline-bounded shapes [Daniels 92]

• Piecewise-linear approximations using midpoints, inflection points, starting points for each curve segment, tangents at these points, and intersection between these tangents.

Page 10: Cristina Neacsu, Karen Daniels University of Massachusetts Lowell

Polygonal ApproximationPolygonal ApproximationNumber of VerticesNumber of Vertices

• The total number of vertices of the polygonal approximation is:

where n is the number of control points of the control polygon, nN is the number of curve segments with an N-shaped control polyline, nV is the number of curve segments with a V-shaped control polyline, and nS is the number of curve segments with an S-shaped control polyline.

SnVnNnnSnVnNn

n 24

7

232

22

Page 11: Cristina Neacsu, Karen Daniels University of Massachusetts Lowell

Polygonal ApproximationsPolygonal Approximations

• K. Daniels, R. D. Bergeron, G. Grinstein. Line-monotonic Partitioning of Planar Cubic B-Splines. Computer and Graphics 16, 1 (1992), 55:68.

• D. Lutterkort and J. Peters. Linear Envelopes for Uniform B-Spline Curves. Curves and Surfaces Design: Saint-Malo 1999. P. J. Laurent, et al (Eds.). Vanderbilt University Press, 2000, p. 239:246.

• D. Lutterkort and J. Peters. Tight Linear Envelopes for Splines. Numerische Mathematik 89, 4 (2001), 735:748.

Monotone envelope N (shaded) and rectangle-based envelope H (boldfaced) for non-N-shaped control polyline

Monotone envelope N (shaded) and rectangle-based envelope H (boldfaced) for N-shaped control polyline

Page 12: Cristina Neacsu, Karen Daniels University of Massachusetts Lowell

Polygonal ApproximationPolygonal Approximation

• Curve segment with non-N-shaped control polyline

P1

P4

P2 P3

S

E M

X2

X1

P22 P2

1 Z

Theorem: For a non-N-shaped control polyline, X1 and X2 cannot both be outside C.

Corollary: For a non-N-shaped control polyline, if X1 or X2 is outside C, then H exits C through P2P2

2.

• C is the convex hull

of SP2P3E

• H = {H1, H2},

where H1 is SX1M and

H2 is MX2E

Page 13: Cristina Neacsu, Karen Daniels University of Massachusetts Lowell

Polygonal ApproximationPolygonal Approximation

• Curve Segment with nondegenerate-N-shaped control polyline

P1

P2

P3

P4

I

S

E

l

X1

X2

Z2

Y2

P22

P21Theorem: For a nondegenerate N-shaped control

polyline, X1 and X2 cannot both be outside C.

Corollary: For a nondegenerate-N-shaped control polyline, H can exit C only through SP3 if X2 is outside C, or through EP2, if X1 is outside C.

H = N

Page 14: Cristina Neacsu, Karen Daniels University of Massachusetts Lowell

Combinatorial Covering Procedure

Lagrangian-CoverLagrangian-CoverQj’s:Triangles: Groups:

G1

G2

Q1

Q2

G3

T1

T2

T3

T4

T5

• Grinde, Daniels. Solving an apparel trim placement problem using a maximum cover problem approach, IIE Transactions, 1999• Daniels, Mathur, Grinde. A Combinatorial Maximum Cover Approach to 2D Translational Geometric Covering, CCCG’03

Group choices:

G1 for Q1G2 for Q2

and group k has been assigned to some Qj

Page 15: Cristina Neacsu, Karen Daniels University of Massachusetts Lowell

LagrangianLagrangianRelaxationRelaxation

Lagrangian Dual: min LR(), subject to >= 0

Lagrangian Relaxation LR()

T

i

m

j bkkjikii

kj

gat1 1 1

T

i

m

j bkkjikii

kj

gat1 1 1

Lagrange Multipliers

1

2

3

4

1

2

3

maximize

>=0 and subtracting term < 0

removing constraints

4minimize

Lower bounds come from any feasible solution to 1

kjg

kjg

kjg

• Grinde, Daniels. Solving an apparel trim placement problem using a maximum cover problem approach, IIE Transactions, 1999

• Daniels, Mathur, Grinde. A Combinatorial Maximum Cover Approach to 2D Translational Geometric Covering, CCCG’03

Page 16: Cristina Neacsu, Karen Daniels University of Massachusetts Lowell

Lagrangian RelaxationLagrangian Relaxation

Lagrangian Relaxation LR()

T

i

m

j bkkjikii

kj

gat1 1 1

i

T

ii t

1

1 maximize

T

i

m

j bkkjiki

kj

ga1 1 1

LR() is separable

SP1 SP2

Solve: if (1-i) >=0

then set ti=1

else set ti=0Solve: Redistribute:

Solve j sub-subproblems

- compute gkj coefficients

- set to 1 gkj with largest coefficient

m

j bk

T

ikjiki

kj

ga1 1 1

For candidate values, solve SP1, SP2

kjg

kjg

Page 17: Cristina Neacsu, Karen Daniels University of Massachusetts Lowell

Triangle SubdivisionTriangle Subdivision

Invariant: T is a triangulation of PP

uncovered triangle

T T’

I

II

T’

Page 18: Cristina Neacsu, Karen Daniels University of Massachusetts Lowell

ResultsResults# m n l r A B k Time

1. 2 6 12 26 C C 0 7

2. 2 12 26 18 N C 0 17

3. 3 4 8 24 C C 8 21

4. 3 15 33 51 N N 33 1573

5. 3 10 22 33 N N&C 22 452

6. 4 8 16 56 C C 31 1394

4.6.

AGENDA

m = # of Bs

n = # of points in A’s control polygon

l = # of points in A’s polygonal approx.

r = total # of points in B’s polygonal app.

C = convex

N = non-convex

k = # points in subdivision

C++, LEDA library

450 MHz SPARC Ultra

Page 19: Cristina Neacsu, Karen Daniels University of Massachusetts Lowell

ResultsResults# m n l r A B k Time

7. 4 15 36 40 N C 36 1787

8. 4 12 28 68 N N 31 2187

9. 5 17 37 57 N N&C 37 1984

10. 5 16 36 48 N C 36 2937

11. 5 13 27 67 N N 27 1084

12. 6 15 35 72 N C 37 1846*

12.11.8.

AGENDA

m = # of Bs

n = # of points in A’s control polygon

l = # of points in A’s polygonal approx.

r = total # of points in B’s polygonal app.

C = convex

N = non-convex

k = # points in subdivision

Page 20: Cristina Neacsu, Karen Daniels University of Massachusetts Lowell

Future WorkFuture Work

• Remove constraint of single inflection point

• Cusps, loops Construct

Inner polygonal approximation to B

Outer polygonal approximation to A

Combinatorial Covering Algorithm

feasible infeasible

Original instance feasible

Construct Cover

?

Construct

Outer polygonal approximation to B

Inner polygonal approximation to A

Combinatorial Covering Algorithm

feasible infeasible

? Original instance infeasible

Page 21: Cristina Neacsu, Karen Daniels University of Massachusetts Lowell

Future Work Future Work – continued– continued

• Generalize further the covering problem

Rigid, 2D, Exact, Spline, Translationthis work:

flexible approximate3D rotationfuture work:

If I do not find an exact covering, can I modify Qj’s control polygons such that they can cover P?

Page 22: Cristina Neacsu, Karen Daniels University of Massachusetts Lowell
Page 23: Cristina Neacsu, Karen Daniels University of Massachusetts Lowell

Backup – Backup – Polygonal CoveringPolygonal Covering

Q3

Q1 Q2

Sample P and Q

P1

P2

Translated Q Covers P

• Input:

– Covering Items: Q = {Q1, Q2 , ... , Qm}

– Target Items: P = {P1, P2 , ... , Ps}

– Subgroup G of

• Output: a solution = { 1, …, j , ... , m}, , such that mj

j jQP

1

)()( nRIso

Rigid, 2D, Exact, Polygonal & Point, Translation

Gj

NP-hard

Page 24: Cristina Neacsu, Karen Daniels University of Massachusetts Lowell

BackupBackup

Subdivision

Page 25: Cristina Neacsu, Karen Daniels University of Massachusetts Lowell

BackupBackup

Number of points in polygonal approximation

S

E TMI

TME

M

S

E

T1

T2 Out

In

I

S

E T1

T2

Out

In

I

Page 26: Cristina Neacsu, Karen Daniels University of Massachusetts Lowell

BackupBackup

Each segment of a cubic B-spline curve is influenced by only 4 control points, and conversely each control point influences only 4 curve segments.

pi 1 i

pi+2

pi-1

pi+1

0

p1 p2

p3

p4 p5

p0

p1

*

Page 27: Cristina Neacsu, Karen Daniels University of Massachusetts Lowell

BackupBackupFor segment i of a periodic cubic B-spline curve we have:

24,414,34,214,1 iiiii puFpuFpuFpuFup 2:1 niwith for open curves

and where Fj,4 are called blending functions and they are:

1336

1 234,1 uuuuF

4636

1 234,2 uuuF

13336

1 234,3 uuuuF

34,4 6

1uuF

10 u

0 u

1 F2,4

F3,4

F1,4 F4,4

F

1

1 u 0 u=1

F2,4 F3,4

F1,4 F4,4

Page 28: Cristina Neacsu, Karen Daniels University of Massachusetts Lowell

BackupBackup

Periodic Cubic B-Spline Curves

24,414,34,214,1 iiiii puFpuFpuFpuFup

for open curves 2:1 ni

Periodic cubic B-spline curves are well suited to produce closed curves. In matrix notation:

1mod2

1mod1

1mod

1mod1

4,44,34,24,1

ni

ni

ni

ni

i

p

p

p

p

uFuFuFuFup

1:1 ni for closed curves

p1 p2

p3

p4 p5

p0

1

2

5

4

3

0

Page 29: Cristina Neacsu, Karen Daniels University of Massachusetts Lowell

BackupBackup• C0 continuity ensures that there are no gaps or breaks between a curve’s beginning and ending points.

• C1 continuity between two curve segments requires a common tangent line at their joining point; C1 continuity also requires C0 continuity.

• C2 continuity requires that the two curves possess equal curvature at their joint.

Page 30: Cristina Neacsu, Karen Daniels University of Massachusetts Lowell

BackupBackup

Variables: Parameters:

Brought into objective function for Lagrangian Relaxation

Lagrangian Relaxation is used as a heuristic since optimal value of Lagrangian Dual is no better than Linear Programming relaxation.

exactly 1 group chosen for each Qj

value of 1 contributed to objective function for each triangle covered by a Qj, where that triangle is in a group chosen for that Qj

kjg


Top Related