CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
08 - Designing Approximating Curves
Acknowledgement: Olga Sorkine-Hornung, Alexander Sorkine-Hornung, Ilya Baran
08 - Designing Approximating Curves Acknowledgement: Olga - - PowerPoint PPT Presentation
08 - Designing Approximating Curves Acknowledgement: Olga Sorkine-Hornung, Alexander Sorkine-Hornung, Ilya Baran CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo Last time Interpolating curves Monomials Lagrange Hermite
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
Acknowledgement: Olga Sorkine-Hornung, Alexander Sorkine-Hornung, Ilya Baran
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
splines
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
Bernstein polynomials Control points Control polygon
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
intersection with curve
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
Bernstein Polynomials
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
Repeated convex combination of control points
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
Repeated convex combination of control points
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
Repeated convex combination of control points
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
Repeated convex combination of control points
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
i33www.ira.uka.de/applets/mocca/html/noplugin/BezierCurve/AppDeCasteljau/index.html
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
segments, but we have to be careful with the borders to guarantee smoothness
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
1
1
m + 1
m = n + p + 1
p
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
Cp
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
N0" N1" N2" N3" N4"
Degree Knot Span
The support is always: (1 + degree) knot spans
Ni,0(u) = ⇢ 1 if ui ≤ u < ui+1 1
Ni,p(u) = u − ui ui+p − ui Ni,p−1(u)+ ui+p+1 − u ui+p+1 − ui+1 Ni+1,p−1(u)
Non-uniform knots
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
http://www.cs.technion.ac.il/~cs234325/Applets/applets/bspline/GermanApplet.html
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
http://www.cs.technion.ac.il/~cs234325/Applets/applets/bspline/GermanApplet.html
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
1
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
From%h'p://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/spline/BDspline/bsplineDcurveDclosed.html%
Closed curve Overlap the first and last control points, and align the corresponding knots Interpolating curve Increase the multiplicity of the first and last knots
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
control polyline
curve C(u) on interval [ui, ui+p+1)
Notation: m + 1 knots, n+1 control points, p degree
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
curve
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
special corner cutting rules:
Pk−p Pk−p+1 Pk−4 Pk−3 Pk−2 Pk−1 Pk Qk−p+1 Qk−3 Qk−2 Qk−1 Qk
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
u0 u1 u2 u3 u4 u5 u6 u7 u8 u9 u10 u11
0.2 0.4 0.6 0.8 1 1 1 1
0.5
u0 u1 u2 u3 u4 u5 u6 u7 u8 u9 u10 u11 u12
0.2 0.4 0.5 0.6 0.8 1 1 1 1
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
knot insertion algorithm
last generated new control point is the point on the curve that corresponds to u
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
evaluate
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
u0 u1 u2 u3 u4 u5 u6 u7 u8 u9 u10
0.25 0.5 0.75 1 1 1 1
0.4
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
differences:
subdivision step
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
1 1 u
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
followed by p+1 copies of u
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
segment becomes a Bézier curve of degree p
functions with the Bézier basis functions:
function of degree n is identical to the i-th Bézier basis function for all i in the range of 0 and n
basis, and that Bézier curves are special cases of B-spline curves
CSCI-GA.2270-001 - Computer Graphics - Daniele Panozzo
Fundamentals of Computer Graphics, Fourth Edition 4th Edition by Steve Marschner, Peter Shirley Chapter 15 Course notes: http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/