Geometry & CAGD
Splines: joining curves without a visible seam
One Bézier is a segment. Real shapes need many joined smoothly — that is what a spline is.
A single cubic can only make a simple S or arc. Any real outline — a letter "S", a car body, a font glyph — is many cubic segments joined end to end. If you just place them next to each other you get a visible kink. The whole game is controlling the smoothness at those joints.
Smoothness has grades, and it is worth knowing the names because they are used constantly:
· C0 — the endpoints meet. The curve is connected but may kink.
· G1 — the endpoints meet and the tangent directions match. There is no corner, though the curve may speed up or slow down at the join.
· C1 — the endpoints and first-derivative vectors match. This implies G1 and also keeps the parameterised speed continuous.
· C2 — the first and second derivatives match, so the curve’s bending changes continuously too.
A0 ---------- A1 [J] B1 ---------- B2
^ ^
| |
control before control after
G1 <=> A1, J, B1 are collinear, with matching tangent direction
C1 <=> 3(J - A1) == 3(B1 - J) (same parameter interval)
C2 also requires the second-derivative vectors to match
(equal handle lengths alone are not enough)When you drag a handle and the opposite handle stays in line, a design tool is enforcing tangent alignment (G1). If it also keeps the handle vectors equal under the same parameter scaling, it enforces C1. Once you know the distinction, you can deliberately break tangent alignment to make a sharp corner — what "corner" mode does.
What does C1 continuity guarantee?
Spline
Many polynomial segments joined with a chosen level of smoothness.
C0 / G1 / C1 / C2
Position / tangent direction / first derivatives / first and second derivatives.
Kink
A visible direction change where two segments meet.
Review cards
Spline
Many polynomial segments joined with a chosen level of smoothness.
C0 / G1 / C1 / C2
Position / tangent direction / first derivatives / first and second derivatives.
Kink
A visible direction change where two segments meet.
Sources for this lesson
Below are the references, editions and original links for further reading and checking.
BookCurves and Surfaces for CAGD: A Practical Guide
Gerald Farin
5th edition, Morgan Kaufmann
CAGD 的经典全貌:Bézier、B 样条、有理形式,实用导向。
CourseCAGD — Computer Aided Geometric Designfree
CSE 274, UC San Diego(Albert Chern)
最新开课学期(讲义与作业公开)
B 样条与 NURBS 的课堂讲义,把 Cox–de Boor 递推讲得比教材更直观。
Lights up these nodes in the hub:g-03 · g-02