Splines Flashcards
The idea behind curve segments
An editable representation of a curve with “nice” properties (maintains its shape as a curve after editing)
Linear curve segments
An nth degree curve segment is created from the affine combination of (n-1)-degree segments.
Eg. Line segment is an affine combination of points.
deCastelajau Algorithm
Find a point on a curve segment.
1. Join points Pi by line segments
2. While # segments > 1, Join the t: (1-t) points of those line segments by line segments
3. The interpolated point on the final line segment is a point on the curve
And the final line segment is tangent to the curve at t
2 Properties of Bernstein Polynomials
- Partition of unity: the sum of bernstein polynomials of degree n = 1
- Non-negativity: bernstein bases are all positive.
Bernstein Polynomials
A basis space for representing polynomials based on affine combinations of linear curve segments. Can be evaluated recursively
Hermite Interpolation
Only define the tangent vector at starting point vertices.
Piecewise polynomials
Have continuity of 1st and 2nd derivatives
Catmull-Rom Splines
Just specify the points and cubic hermite will make up the derivatives from the points. Tangent at point i is equal the slope between points i-1, i+1.
B-Splines
Splines with local manipulation and piecewise definition. Must create our own basis. Can use bernstein polynomials.
Uniform B-Spline
When all knots on the spline are evenly spaced
Bezier Patches
Use the same bezier spline techniques to control a polygon. Use patch basis functions.