mirror of
https://github.com/Pomax/BezierInfo-2.git
synced 2025-08-30 03:30:34 +02:00
.
This commit is contained in:
@@ -7,7 +7,7 @@ The following graphs show the interpolation functions for quadratic and cubic cu
|
||||
<div className="figure">
|
||||
<Graphic inline={true} title="Quadratic interpolations" draw={this.drawQuadraticLerp}/>
|
||||
<Graphic inline={true} title="Cubic interpolations" draw={this.drawCubicLerp}/>
|
||||
<Graphic inline={true} title="15th order interpolations" draw={this.draw15thLerp}/>
|
||||
<Graphic inline={true} title="15th degree interpolations" draw={this.draw15thLerp}/>
|
||||
</div>
|
||||
|
||||
Also shown is the interpolation function for a 15<sup>th</sup> order Bézier function. As you can see, the start and end point contribute considerably more to the curve's shape than any other point in the control point set.
|
||||
|
@@ -1,6 +1,6 @@
|
||||
# Derivatives
|
||||
|
||||
There's a number of useful things that you can do with Bézier curves based on their derivative, and one of the more amusing observations about Bézier curves is that their derivatives are, in fact, also Bézier curves. In fact, the derivation of a Bézier curve is relatively straight forward, although we do need a bit of math. First, let's look at the derivative rule for Bézier curves, which is:
|
||||
There's a number of useful things that you can do with Bézier curves based on their derivative, and one of the more amusing observations about Bézier curves is that their derivatives are, in fact, also Bézier curves. In fact, the differentiation of a Bézier curve is relatively straight forward, although we do need a bit of math. First, let's look at the derivative rule for Bézier curves, which is:
|
||||
|
||||
\[
|
||||
Bézier'(n,t) = n \cdot \sum_{i=0}^{n-1} (b_{i+1}-b_i) \cdot Bézier(n-1,t)_i
|
||||
|
@@ -68,7 +68,7 @@ I know what you're thinking: that doesn't look too simple, but if we remove <i>t
|
||||
linear &= \hspace{2.5em} 1 + 1 \\
|
||||
square &= \hspace{1.7em} 1 + 2 + 1\\
|
||||
cubic &= \hspace{0.85em} 1 + 3 + 3 + 1\\
|
||||
hypercubic &= 1 + 4 + 6 + 4 + 1
|
||||
quartic &= 1 + 4 + 6 + 4 + 1
|
||||
\end{aligned}
|
||||
\]
|
||||
|
||||
|
@@ -68,7 +68,7 @@
|
||||
linear &= \hspace{2.5em} 1 + 1 \\
|
||||
square &= \hspace{1.7em} 1 + 2 + 1\\
|
||||
cubic &= \hspace{0.85em} 1 + 3 + 3 + 1\\
|
||||
hypercubic &= 1 + 4 + 6 + 4 + 1
|
||||
quartic &= 1 + 4 + 6 + 4 + 1
|
||||
\end{aligned}
|
||||
\]
|
||||
|
||||
|
@@ -16,7 +16,7 @@ What we're saying here is that given the curvature function *C(t)*, we want to k
|
||||
C(t) = Bézier_x\prime(t) \cdot Bézier_y{\prime\prime}(t) - Bézier_y\prime(t) \cdot Bézier_x{\prime\prime}(t)
|
||||
\]
|
||||
|
||||
So the function *C(t)* is wholly defined by the first and second derivative functions for the parametric dimensions of our curve. And as already shown, derivatives of Bézier curves are just simpler Bézier curves, with very easy to compute new coefficients, so this should be pretty easy.
|
||||
The function *C(t)* is the cross product between the first and second derivative functions for the parametric dimensions of our curve. And, as already shown, derivatives of Bézier curves are just simpler Bézier curves, with very easy to compute new coefficients, so this should be pretty easy.
|
||||
|
||||
However as we've seen in the section on aligning, aligning lets us simplify things *a lot*, by completely removing the contributions of the first coordinate from most mathematical evaluations, and removing the last *y* coordinate as well by virtue of the last point lying on the x-axis. So, while we can evaluate *C(t) = 0* for our curve, it'll be much easier to first axis-align the curve and *then* evaluating the curvature function.
|
||||
|
||||
|
@@ -5,7 +5,7 @@ Much like lines can be chained together to form polygons, Bézier curves can be
|
||||
1. the end point of each section is the starting point of the following section, and
|
||||
2. the derivatives across that dual point line up.
|
||||
|
||||
Unless, of course, you want discontinuities; then you don't even need 2.
|
||||
Unless you want sharp corners, of course. Then you don't even need 2.
|
||||
|
||||
We'll cover three forms of poly-Bézier curves in this section. First, we'll look at the kind that just follows point 1. where the end point of a segment is the same point as the start point of the next segment. This leads to poly-Béziers that are pretty hard to work with, but they're the easiest to implement:
|
||||
|
||||
|
Reference in New Issue
Block a user