300 likes | 512 Views
Translational Covering of Closed Planar Cubic B-Spline Curves. Cristina Neacsu, Karen Daniels University of Massachusetts Lowell. B-Spline Curves & Surfaces. Used in geometric modeling, graphics. Gerald Farin. Curves and Surfaces for Computer Aided Geometric Design, Academic Press, 1988.
E N D
Translational Covering of Closed Planar Cubic B-Spline Curves Cristina Neacsu, Karen Daniels University of Massachusetts Lowell
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 www.aerohydro.com/products/rg/ papers/nasa_rg1/nasaf1.htm www.cs.columbia.edu/ ~laza/heart3D/
B-Spline Curves • B-Splines are defined by control polygons • Periodic Cubic B-Spline Curves • Use a special set ofcubicblending functions that have only local influence and each curve segment depends only on the4neighboring control points. • Current work assumption: • non-self-intersecting control polygons (at most one inflection point per curve segment).
Sample Application Areas Sensors Locate, Identify, Track, Observe Lethal Action CAD Sensor Coverage Targeting
NP-Hard Spline Covering Problem • Covering Items: • set of spline bounded regions B = {B1, …, Bj, …, Bm} • Target Item: spline bounded region A • Output:asolution such that Translated Bs cover A Sample A and B B2 B1 A
Construct Inner polygonal approximation to B Outer polygonal approximation to A Construct Outer polygonal approximation to B Inner polygonal approximation to A Combinatorial Covering Algorithm feasible infeasible Combinatorial Covering Algorithm Original instance feasible Construct Cover ? feasible infeasible ? Original instance infeasible Approach
7 {3} 8 {1} 6 {1} 9 {3} 5 {3} 10 {2} 4 {2} 11 {2} P 3 {2} 12 {3} 2 {1} 13 {3} 1 {1} Previous 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
D P4 P3 C M B P2 L A P1 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] l1 l2
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.
Polygonal ApproximationNumber of Vertices • The total number of vertices of the polygonal approximation is: • where n is the number of control points of the control polygon, nNis thenumber ofcurve 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.
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 1999. P. J. Laurent, et al (Eds.). Vanderbilt University Press, 2000, p. 239:246. • D. Lutterkort and J. Peters. TightLinear Envelopes for Splines. Numerische Mathematik 89, 4 (2001), 735:748.
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 Hexits C through P2P22.
Polygonal Approximation • Curve Segment withnondegenerate-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, Hcan exit C only through SP3 if X2 is outside C, or through EP2, if X1 is outside C.
Group choices: G1 for Q1 G2 for Q2 andgroup k has been assigned to some Qj Combinatorial Covering ProcedureLagrangian-Cover Triangles: Groups: Qj’s: 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
maximize 3 4 removing constraints minimize 2 l>=0 and subtracting term < 0 1 Lower bounds come from any feasible solution to 1 1 Lagrangian Relaxation Lagrange Multipliers 2 3 Lagrangian Relaxation LR(l) Lagrangian Dual: min LR(l), subject to l >= 0 4 • 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
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 gkjwith largest coefficient For candidate l values, solve SP1, SP2
P Triangle Subdivision Invariant: T is a triangulation of P T’ T I T’ uncovered triangle II
C++, LEDA library 450 MHz SPARC Ultra Results 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 6. 4.
Results 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 12. 8. 11.
Construct Inner polygonal approximation to B Outer polygonal approximation to A Construct Outer polygonal approximation to B Inner polygonal approximation to A Combinatorial Covering Algorithm feasible infeasible Combinatorial Covering Algorithm Original instance feasible Construct Cover ? feasible infeasible ? Original instance infeasible Future Work • Remove constraint of single inflection point • Cusps, loops
Rigid, 2D, Exact, Spline, Translation this work: future work: flexible 3D approximate rotation Future Work – continued • Generalize further the covering problem If I do not find an exact covering, can I modify Qj’s control polygons such that they can cover P?
Backup – Polygonal Covering • Input: • Covering Items: Q = {Q1, Q2 , ... , Qm} • Target Items: P = {P1, P2 , ... , Ps} • Subgroup G of • Output: a solution g = {g1, …,gj , ... , gm}, , such that Translated Q Covers P Sample P and Q P2 P1 Q1 Q2 Q3 NP-hard Rigid, 2D, Exact, Polygonal & Point, Translation
Backup Subdivision
Backup Number of points in polygonal approximation
pi+1 pi+2 pi 1 i 0 pi-1 Backup Each segment of a cubic B-spline curve is influenced by only 4control points, and conversely each control point influences only 4 curve segments. p1* p1 p2 p0 p3 p5 p4
1 F 0 u 1 Backup For segment i of a periodic cubic B-spline curve we have: with for open curves and whereFj,4are called blending functions and they are: F3,4 F2,4 1 F2,4 F3,4 F1,4 F4,4 F4,4 F1,4 u 0 u=1
Backup for open curves Periodic cubic B-spline curves are well suited to produce closed curves. In matrix notation: p1 p2 1 2 0 for closed curves p0 p3 3 5 Periodic Cubic B-Spline Curves 4 p5 p4
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.
Brought into objective function for Lagrangian Relaxation Backup 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 Variables: Parameters: