Geometric Continuity

Geometric Continuity of Bézier Splines

We follow the Farin-Boehm construction, see "Geometric Continuity of Parametric Curves: Constructions of Geometrically Continuous Splines" by Brian A. Barsky and Tony D. DeRose.  Without loss of generality we set \(\Delta_F = [0,1]\) and \(\Delta_G = [1,2]\). By the theorem on the characterization of Geometric continuity we have \[ \begin{align} G'(1) &= \beta_1 F'(1)\\ G''(1) &= \beta_1^2 F''(1) + \beta_2 F'(1)\\ \end{align} \] where \(\beta_1\) and \(\beta_2\) are the \(\beta\)-constraints or also called shape parameters. We use the expresions of the derivative of Bézier curves in terms of the control points for bouth curves and obtain: \[ \begin{align} G^0-\text{continuity: } &\mathbf{b}_n = \mathbf{c}_0\\ G^1-\text{continuity: } &\beta_1(\mathbf{b}_n - \mathbf{b}_{n-1}) = \mathbf{c}_1 - \mathbf{c}_0\\ G^2-\text{continuity: } &\beta_1^2 (n-1)(\mathbf{b}_n - 2\mathbf{b}_{n-1} + \mathbf{b}_{n-2})  + \beta_2(\mathbf{b}_n - \mathbf{b}_{n-1})  = (n-1) (\mathbf{c}_2 - 2\mathbf{c}_{1} + \mathbf{c}_{0})  \end{align} \] Then, given the left curve \(F\) we construct the \(C^2\) continuity at \(u = 1\) by setting the first three coefficients \(\mathbf{c}_0, \mathbf{c}_1, \mathbf{c}_2\) of \(G\) as follows:

Select and drag control points in order to interact with the graphic representation. Use the sliders to change the values of the beta constraints, and observe how the curve behaves.



The JavaScript Code