Download presentation
1
Cristina Neacsu, Karen Daniels University of Massachusetts Lowell
Translational Covering of Closed Planar Cubic B-Spline Curves Cristina Neacsu, Karen Daniels University of Massachusetts Lowell
2
B-Spline Curves & Surfaces
Used in geometric modeling, graphics Gerald Farin. Curves and Surfaces for Computer Aided Geometric Design, Academic Press, 1988 Theo Pavlidis. Algorithms for Graphics and Image Processing, ComputerScience Press, 1982 papers/nasa_rg1/nasaf1.htm ~laza/heart3D/
3
B-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).
4
Sample Application Areas
Sensors Locate, Identify, Track, Observe Lethal Action CAD Sensor Coverage Targeting
5
Spline Covering Problem
NP-Hard 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
6
Approach Combinatorial Covering Algorithm Original instance feasible
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
7
Previous Work - Covering
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 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
8
Previous Work - Splines
Convex hull property & variation diminishing property [Gerald Farin. Curves and Surfaces for CAD. Academic Press 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 P3 P4 l1 l2
9
Curve 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.
10
Polygonal Approximation Number 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.
11
Polygonal Approximations
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 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 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.
12
Polygonal Approximation
Curve segment with non-N-shaped control polyline Theorem: For a non-N-shaped control polyline, X1 and X2 cannot both be outside C. C is the convex hull of SP2P3E H = {H1, H2}, where H1 is SX1M and H2 is MX2E Corollary: For a non-N-shaped control polyline, if X1 or X2 is outside C, then H exits C through P2P22.
13
Polygonal Approximation
Curve Segment with nondegenerate-N-shaped control polyline H = N Theorem: 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.
14
Combinatorial Covering Procedure Lagrangian-Cover
Triangles: Groups: Qj’s: Group choices: G1 for Q1 G2 for Q2 and group k has been assigned to some Qj T1 G1 Q1 T2 T3 G2 T4 Q2 T5 G3 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
15
Lagrangian Relaxation
1 2 Lagrange Multipliers 1 2 3 maximize l>=0 and subtracting term < 0 removing constraints 4 minimize Lower bounds come from any feasible solution to 3 Lagrangian Relaxation LR(l) 4 Lagrangian Dual: min LR(l), subject to l >= 0 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
16
Lagrangian Relaxation
Lagrangian Relaxation LR(l) LR(l) is separable SP1 SP2 Solve: if (1-li) >=0 then set ti=1 else set ti=0 Solve: Redistribute: Solve j sub-subproblems - compute gkj coefficients - set to 1 gkj with largest coefficient For candidate l values, solve SP1, SP2
17
Triangle Subdivision Invariant: T is a triangulation of P I II P T T’
uncovered triangle II
18
Results C++, LEDA library 450 MHz SPARC Ultra # m n l r A B k Time 1.
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 # m n l r A B k Time 1. 2 6 12 26 C 7 2. 18 N 17 3. 3 4 8 24 21 4. 15 33 51 1573 5. 10 22 N&C 452 6. 16 56 31 1394 C++, LEDA library 450 MHz SPARC Ultra 6. 4.
19
Results # m n l r A B k Time 7. 4 15 36 40 N C 1787 8. 12 28 68 31
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 # m n l r A B k Time 7. 4 15 36 40 N C 1787 8. 12 28 68 31 2187 9. 5 17 37 57 N&C 1984 10. 16 48 2937 11. 13 27 67 1084 12. 6 35 72 1846* 8. 12. 11.
20
Future 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 ? Outer polygonal approximation to B Inner polygonal approximation to A Original instance infeasible
21
Future Work – continued
Generalize further the covering problem Rigid, 2D, Exact, Spline, Translation this work: flexible approximate 3D rotation future work: If I do not find an exact covering, can I modify Qj’s control polygons such that they can cover P?
22
Thank you!
23
Backup – Polygonal Covering
Input: Covering Items: Q = {Q1, Q2 , ... , Qm} Target Items: P = {P1, P2 , ... , Ps} Subgroup G of Output: a solution g = {g 1, …,g j , ... , g m}, , such that Sample P and Q Translated Q Covers P P2 P1 Q1 Q2 Q3 Rigid, 2D, Exact, Polygonal & Point, Translation NP-hard
24
Backup Subdivision
25
Backup Number of points in polygonal approximation
26
Backup 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 p1* p1 p2 p0 p3 p5 p4
27
Backup For segment i of a periodic cubic B-spline curve we have: with
for open curves and where Fj,4 are called blending functions and they are: F 1 u F3,4 F2,4 1 F3,4 F2,4 F1,4 F4,4 F4,4 F1,4 u u=1
28
Periodic Cubic B-Spline Curves
Backup for open curves Periodic cubic B-spline curves are well suited to produce closed curves. In matrix notation: p1 p2 1 2 for closed curves p0 p3 3 5 4 Periodic Cubic B-Spline Curves p5 p4
29
Backup 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.
30
Backup Variables: Parameters:
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 Brought into objective function for Lagrangian Relaxation 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 Variables: Parameters:
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.