cristina neacsu, karen daniels university of massachusetts lowell
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Cristina Neacsu, Karen Daniels University of Massachusetts Lowell](https://reader036.vdocument.in/reader036/viewer/2022062304/56813488550346895d9b6b51/html5/thumbnails/1.jpg)
Cristina Neacsu, Karen Daniels University of Massachusetts Lowell
![Page 2: Cristina Neacsu, Karen Daniels University of Massachusetts Lowell](https://reader036.vdocument.in/reader036/viewer/2022062304/56813488550346895d9b6b51/html5/thumbnails/2.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062304/56813488550346895d9b6b51/html5/thumbnails/3.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062304/56813488550346895d9b6b51/html5/thumbnails/4.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062304/56813488550346895d9b6b51/html5/thumbnails/5.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062304/56813488550346895d9b6b51/html5/thumbnails/6.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062304/56813488550346895d9b6b51/html5/thumbnails/7.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062304/56813488550346895d9b6b51/html5/thumbnails/8.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062304/56813488550346895d9b6b51/html5/thumbnails/9.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062304/56813488550346895d9b6b51/html5/thumbnails/10.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062304/56813488550346895d9b6b51/html5/thumbnails/11.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062304/56813488550346895d9b6b51/html5/thumbnails/12.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062304/56813488550346895d9b6b51/html5/thumbnails/13.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062304/56813488550346895d9b6b51/html5/thumbnails/14.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062304/56813488550346895d9b6b51/html5/thumbnails/15.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062304/56813488550346895d9b6b51/html5/thumbnails/16.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062304/56813488550346895d9b6b51/html5/thumbnails/17.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062304/56813488550346895d9b6b51/html5/thumbnails/18.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062304/56813488550346895d9b6b51/html5/thumbnails/19.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062304/56813488550346895d9b6b51/html5/thumbnails/20.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062304/56813488550346895d9b6b51/html5/thumbnails/21.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062304/56813488550346895d9b6b51/html5/thumbnails/22.jpg)
![Page 23: Cristina Neacsu, Karen Daniels University of Massachusetts Lowell](https://reader036.vdocument.in/reader036/viewer/2022062304/56813488550346895d9b6b51/html5/thumbnails/23.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062304/56813488550346895d9b6b51/html5/thumbnails/24.jpg)
BackupBackup
Subdivision
![Page 25: Cristina Neacsu, Karen Daniels University of Massachusetts Lowell](https://reader036.vdocument.in/reader036/viewer/2022062304/56813488550346895d9b6b51/html5/thumbnails/25.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062304/56813488550346895d9b6b51/html5/thumbnails/26.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062304/56813488550346895d9b6b51/html5/thumbnails/27.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062304/56813488550346895d9b6b51/html5/thumbnails/28.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062304/56813488550346895d9b6b51/html5/thumbnails/29.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062304/56813488550346895d9b6b51/html5/thumbnails/30.jpg)
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