Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Composite Bézier curve
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== Smoothly joining cubic Béziers === Given two cubic Bézier curves with control points <math>[\mathbf P_0,\mathbf P_1,\mathbf P_2,\mathbf P_3]</math> and <math>[\mathbf P_3,\mathbf P_4,\mathbf P_5,\mathbf P_6]</math> respectively, the constraints for ensuring continuity at <math>\mathbf P_3</math> can be defined as follows: * <math>C^0/G^0</math> (positional continuity) requires that they meet at the same point, which all Bézier splines do by definition. In this example, the shared point is <math>\mathbf P_3</math> * <math>C^1</math> (velocity continuity) requires the neighboring control points around the join to be mirrors of each other. In other words, they must follow the constraint of <math>\mathbf P_4=2\mathbf P_3-\mathbf P_2</math> * <math>G^1</math> (tangent continuity) requires the neighboring control points to be [[collinearity|collinear]] with the join. This is less strict than <math>C^1</math> continuity, leaving an extra degree of freedom which can be parameterized using a scalar <math>\beta_1</math>. The constraint can then be expressed by <math>\mathbf P_4=\mathbf P_3+(\mathbf P_3-\mathbf P_2)\beta_1</math> While the following continuity constraints are possible, they are rarely used with cubic Bézier splines, as other splines like the [[B-spline]] or the [[Beta-spline|β-spline]]<ref> {{Cite journal|title=Properties of β-splines|last=Goodman|first=T.N.T|journal=Journal of Approximation Theory |language=en|date=1983-12-09|volume=44 |issue=2 |pages=132–153 |doi=10.1016/0021-9045(85)90076-0 |doi-access=free}}</ref> will naturally handle higher constraints without loss of local control. * <math>C^2</math> (acceleration continuity) is constrained by <math>\mathbf P_5 =\mathbf P_1+4(\mathbf P_3-\mathbf P_2)</math>. However, applying this constraint across an entire cubic Bézier spline will cause a cascading loss of local control over the tangent points. The curve will still pass through every third point in the spline, but control over its shape will be lost. In order to achieve <math>C^2</math> continuity using cubic curves, it's recommended to use a cubic uniform B-spline instead, as it ensures <math>C^2</math> continuity without loss of local control, at the expense of no longer being guaranteed to pass through specific points * <math>G^2</math> (curvature continuity) is constrained by <math>\mathbf P_5=\mathbf P_3+(\mathbf P_3-\mathbf P_2)(2\beta_1+\beta_1^2+\beta_2/2)+(\mathbf P_1-\mathbf P_2)\beta_1^2</math>, leaving two degrees of freedom compared to <math>C^2</math>, in the form of two scalars <math>\beta_1</math> and <math>\beta_2</math>. Higher degrees of geometric continuity is possible, though they get increasingly complex<ref> {{Cite web|url=https://www2.eecs.berkeley.edu/Pubs/TechRpts/1986/6081.html|title=Geometric Continuity: A Parametrization Independent Measure of Continuity for Computer Aided Geometric Design|last=DeRose|first=Anthony D.|language=en|date=1985-08-01}} </ref> * <math>C^3</math> (jolt continuity) is constrained by <math>\mathbf P_6=\mathbf P_3+(\mathbf P_3-\mathbf P_0)+6(\mathbf P_1-\mathbf P_2+\mathbf P_3-\mathbf P_2)</math>. Applying this constraint to the cubic Bézier spline will cause a complete loss of local control, as the entire spline is now fully constrained and defined by the first curve's control points. In fact, it is arguably no longer a spline, as its shape is now equivalent to extrapolating the first curve indefinitely, making it not only <math>C^3</math> continuous, but <math>C^\infin</math>, as joins between separate curves no longer exist
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)