From 4e34774afbd4a0885faf3a0c466948505fe46d28 Mon Sep 17 00:00:00 2001 From: Pomax Date: Thu, 27 Aug 2020 21:46:01 -0700 Subject: [PATCH] tracing --- docs/chapters/curvature/content.en-GB.md | 4 +- docs/chapters/curvature/curvature.js | 5 +- docs/chapters/curvefitting/content.en-GB.md | 2 +- docs/chapters/drawing/content.en-GB.md | 6 +- docs/chapters/tracing/content.en-GB.md | 18 +-- docs/chapters/tracing/distance-function.js | 46 +++++++ docs/chapters/tracing/handler.js | 126 ------------------ docs/chapters/tracing/tracing.js | 103 ++++++++++++++ docs/chapters/yforx/content.en-GB.md | 6 +- .../fe32474b4616ee9478e1308308f1b6bf.svg | 1 + .../14cb9fbbaae9e7d87ae6bef3ea7a782e.svg | 1 + .../1b2e086966d7e8088e4b51a11d9ec063.png | Bin 99649 -> 0 bytes .../5fcfb0572cae06717506c84768aa568c.png | Bin 0 -> 48870 bytes .../876d7b2750d7c29068ac6181c3634d25.png | Bin 0 -> 98402 bytes .../a98d37a0653461ad4e6065d8277c8834.png | Bin 50386 -> 0 bytes .../77a11d65d7cffc4b84a85c4bec837792.svg | 1 + .../25e9697557129c651e9c7cc4e4878b16.png | Bin 0 -> 20797 bytes .../4f2cd306ec6fa0340ac7f410744b3118.png | Bin 0 -> 16658 bytes docs/index.html | 49 ++++--- docs/ja-JP/index.html | 47 ++++--- docs/js/custom-element/api/graphics-api.js | 12 +- docs/js/custom-element/api/types/bezier.js | 17 ++- docs/zh-CN/index.html | 49 ++++--- 23 files changed, 278 insertions(+), 215 deletions(-) create mode 100644 docs/chapters/tracing/distance-function.js delete mode 100644 docs/chapters/tracing/handler.js create mode 100644 docs/chapters/tracing/tracing.js create mode 100644 docs/images/chapters/circles/fe32474b4616ee9478e1308308f1b6bf.svg create mode 100644 docs/images/chapters/control/14cb9fbbaae9e7d87ae6bef3ea7a782e.svg delete mode 100644 docs/images/chapters/curvature/1b2e086966d7e8088e4b51a11d9ec063.png create mode 100644 docs/images/chapters/curvature/5fcfb0572cae06717506c84768aa568c.png create mode 100644 docs/images/chapters/curvature/876d7b2750d7c29068ac6181c3634d25.png delete mode 100644 docs/images/chapters/curvature/a98d37a0653461ad4e6065d8277c8834.png create mode 100644 docs/images/chapters/matrixsplit/77a11d65d7cffc4b84a85c4bec837792.svg create mode 100644 docs/images/chapters/tracing/25e9697557129c651e9c7cc4e4878b16.png create mode 100644 docs/images/chapters/tracing/4f2cd306ec6fa0340ac7f410744b3118.png diff --git a/docs/chapters/curvature/content.en-GB.md b/docs/chapters/curvature/content.en-GB.md index e5348ac8..0615bf70 100644 --- a/docs/chapters/curvature/content.en-GB.md +++ b/docs/chapters/curvature/content.en-GB.md @@ -8,9 +8,9 @@ What we want is to ensure that the [curvature](https://en.wikipedia.org/wiki/Cur Problem solved! -However, there's a problem with this approach: if we think about this a little more, we realise that "what a curve looks like" and its derivative values are pretty much entirely unrelated. After all, the section on [reordering curves](#reordering) showed us that the same looking curve can have an infinite number of curve expressions of arbitraryly high Bezier degree, and each of those will have _widly_ different derivative values. +However, there's a problem with this approach: if we think about this a little more, we realise that "what a curve looks like" and its derivative values are pretty much entirely unrelated. After all, the section on [reordering curves](#reordering) showed us that the same looking curve can have an infinite number of curve expressions of arbitraryly high Bézier degree, and each of those will have _widly_ different derivative values. -So what we really want is some kind of expression that's not based on any particular expression of `t`, but is based on something that is invariant to the _kind_ of function(s) we use to draw our curve. And the prime candidate for this is our curve expression, reparameterised for distance: no matter what order of Bezier curve we use, if we were able to rewrite it as a function of distance-along-the-curve, all those different degree Bezier functions would end up being _the same_ function for "coordinate at some distance D along the curve". +So what we really want is some kind of expression that's not based on any particular expression of `t`, but is based on something that is invariant to the _kind_ of function(s) we use to draw our curve. And the prime candidate for this is our curve expression, reparameterised for distance: no matter what order of Bézier curve we use, if we were able to rewrite it as a function of distance-along-the-curve, all those different degree Bézier functions would end up being _the same_ function for "coordinate at some distance D along the curve". We've seen this before... that's the arc length function. diff --git a/docs/chapters/curvature/curvature.js b/docs/chapters/curvature/curvature.js index 4e97212c..8a33c1b3 100644 --- a/docs/chapters/curvature/curvature.js +++ b/docs/chapters/curvature/curvature.js @@ -3,8 +3,9 @@ let q, c; setup() { q = new Bezier(this, 60,55, 125,160, 365,165); c = new Bezier(this, 385,165, 645,165, 645,70, 750,165); - - setSlider(`.slide-control`, `position`, 0); + if (this.parameters.omni) { + setSlider(`.slide-control`, `position`, 0); + } setMovable(q.points.concat(c.points)); } diff --git a/docs/chapters/curvefitting/content.en-GB.md b/docs/chapters/curvefitting/content.en-GB.md index 0baf99dd..44ad1e95 100644 --- a/docs/chapters/curvefitting/content.en-GB.md +++ b/docs/chapters/curvefitting/content.en-GB.md @@ -251,7 +251,7 @@ Here, the "to the power negative one" is the notation for the [matrix inverse](h So before we try that out, how much code is involved in implementing this? Honestly, that answer depends on how much you're going to be writing yourself. If you already have a matrix maths library available, then really not that much code at all. On the other hand, if you are writing this from scratch, you're going to have to write some utility functions for doing your matrix work for you, so it's really anywhere from 50 lines of code to maybe 200 lines of code. Not a bad price to pay for being able to fit curves to prespecified coordinates. -So let's try it out! The following graphic lets you place points, and will start computing exact-fit curves once you've placed at least three. You can click for more points, and the code will simply try to compute an exact fit using a Bezier curve of the appropriate order. Four points? Cubic Bezier. Five points? Quartic. And so on. Of course, this does break down at some point: depending on where you place your points, it might become mighty hard for the fitter to find an exact fit, and things might actually start looking horribly off once you hit 10th or higher order curves. But it might not! +So let's try it out! The following graphic lets you place points, and will start computing exact-fit curves once you've placed at least three. You can click for more points, and the code will simply try to compute an exact fit using a Bézier curve of the appropriate order. Four points? Cubic Bézier. Five points? Quartic. And so on. Of course, this does break down at some point: depending on where you place your points, it might become mighty hard for the fitter to find an exact fit, and things might actually start looking horribly off once you hit 10th or higher order curves. But it might not!
diff --git a/docs/chapters/drawing/content.en-GB.md b/docs/chapters/drawing/content.en-GB.md index 3cd051fe..54f03b4f 100644 --- a/docs/chapters/drawing/content.en-GB.md +++ b/docs/chapters/drawing/content.en-GB.md @@ -1,10 +1,10 @@ -# Drawing Bezier paths +# Drawing Bézier paths - draw with a mouse, stylus, or finger - RDP to reduce the number of points along the path - abstract curve through points: - - high order bezier, split and reduced - - fit compound bezier + - high order Bézier, split and reduced + - fit compound Bézier - catmull-rom
diff --git a/docs/chapters/tracing/content.en-GB.md b/docs/chapters/tracing/content.en-GB.md index 46203102..39733d84 100644 --- a/docs/chapters/tracing/content.en-GB.md +++ b/docs/chapters/tracing/content.en-GB.md @@ -4,20 +4,20 @@ Say you want to draw a curve with a dashed line, rather than a solid line, or yo Now you have a problem. -The reason you have a problem is that Bézier curves are parametric functions with non-linear behaviour, whereas moving a train along a track is about as close to a practical example of linear behaviour as you can get. The problem we're faced with is that we can't just pick *t* values at some fixed interval and expect the Bézier functions to generate points that are spaced a fixed distance apart. In fact, let's look at the relation between "distance long a curve" and "*t* value", by plotting them against one another. +The reason you have a problem is that Bézier curves are parametric functions with non-linear behaviour, whereas moving a train along a track is about as close to a practical example of linear behaviour as you can get. The problem we're faced with is that we can't just pick `t` values at some fixed interval and expect the Bézier functions to generate points that are spaced a fixed distance apart. In fact, let's look at the relation between "distance long a curve" and "`t` value", by plotting them against one another. -The following graphic shows a particularly illustrative curve, and it's length-to-t plot. For linear traversal, this line needs to be straight, running from (0,0) to (length,1). This is, it's safe to say, not what we'll see, we'll see something wobbly instead. To make matters even worse, the length-to-*t* function is also of a much higher order than our curve is: while the curve we're using for this exercise is a cubic curve, which can switch concave/convex form once at best, the plot shows that the distance function along the curve is able to switch forms three times (to see this, try creating an S curve with the start/end close together, but the control points far apart). +The following graphic shows a particularly illustrative curve, and it's distance-for-t plot. For linear traversal, this line needs to be straight, running from (0,0) to (length,1). That is, it's safe to say, not what we'll see: we'll see something very wobbly, instead. To make matters even worse, the distance-for-t function is also of a much higher order than our curve is: while the curve we're using for this exercise is a cubic curve, which can switch concave/convex form twice at best, the distance function is our old friend the arc length function, which can have more inflection points. - + -We see a function that might be invertible, but we won't be able to do so, symbolically. You may remember from the section on arc length that we cannot actually compute the true arc length function as an expression of *t*, which means we also can't compute the true inverted function that gives *t* as an expression of length. So how do we fix this? +So, how do we "cut up" the arc length function at regular intervals, when we can't really work with it? We basically cheat: we run through the curve using `t` values, determine the distance-for-this-`t`-value at each point we generate during the run, and then we find "the closest `t` value that matches some required distance" using those values instead. If we have a low number of points sampled, we can then even refine which `t` value "should" work for our desired distance by interpolating between two points, but if we have a high enough number of samples, we don't even need to bother. -One way is to do what the graphic does: simply run through the curve, determine its *t*-for-length values as a set of discrete values at some high resolution (the graphic uses 100 discrete points), and then use those as a basis for finding an appropriate *t* value, given a distance along the curve. This works quite well, actually, and is fairly fast. +So let's do exactly that: the following graph is similar to the previous one, showing how we would have to "chop up" our distance-for-t curve in order to get regularly spaced points on the curve. It also shows what using those `t` values on the real curve looks like, by coloring each section of curve between two distance markers differently: -We can use some colour to show the difference between distance-based and time based intervals: the following graph is similar to the previous one, except it segments the curve in terms of equal-distance intervals. This shows as regular colour intervals going down the graph, but the mapping to *t* values is not linear, so there will be (highly) irregular intervals along the horizontal axis. It also shows the curve in an alternating colouring based on the t-for-distance values we find our LUT: + + + - - -Use your up and down arrow keys to increase or decrease the number of equidistant segments used to colour the curve. +Use the slider to increase or decrease the number of equidistant segments used to colour the curve. However, are there better ways? One such way is discussed in "[Moving Along a Curve with Specified Speed](http://www.geometrictools.com/Documentation/MovingAlongCurveSpecifiedSpeed.pdf)" by David Eberly of Geometric Tools, LLC, but basically because we have no explicit length function (or rather, one we don't have to constantly compute for different intervals), you may simply be better off with a traditional lookup table (LUT). diff --git a/docs/chapters/tracing/distance-function.js b/docs/chapters/tracing/distance-function.js new file mode 100644 index 00000000..c5fc6a12 --- /dev/null +++ b/docs/chapters/tracing/distance-function.js @@ -0,0 +1,46 @@ +let curve; + +setup(api) { + curve = new Bezier(this, 65, 150, 15, 35, 175, 245, 35, 140); + setMovable(curve.points); +} + +draw() { + resetTransform(); + clear(); + + curve.drawSkeleton(); + curve.drawCurve(); + curve.drawPoints(); + + let w = this.width/2; + let h = this.height; + let len = curve.length(); + + translate(w,0); + line(0, 0, 0, h); + scale(0.85); + translate(30,30); + + setStroke(`black`); + drawAxes("t", 0, 1, "d", 0, len|0, w, h); + this.plotDistanceFunction(w, h, len); +} + +plotDistanceFunction(w, h, len) { + noFill(); + let LUT = curve.getLUT(this.steps * 10); + let d = 0; + start(); + vertex(0,0); + for(let i=1, e=LUT.length, p1, p2; i target) { - p--; - break; - } - } - if(p<0) p=0; - if(p===pts.length) p=pts.length-1; - ts.push(pts[p]); - } - - for(i=0; i { - var pt = { x: api.utils.map(p.t,0,1,0,fwh), y: 0 }; - var pd = { x: 0, y: api.utils.map(p.d,0,len,0,fwh) }; - api.setColor("black"); - api.drawCircle(pt, 3, offset); - api.drawCircle(pd, 3, offset); - api.setColor("lightgrey"); - api.drawLine(pt, {x:pt.x, y:pd.y}, offset); - api.drawLine(pd, {x:pt.x, y:pd.y}, offset); - }); - - offset = {x:2*w, y:0}; - api.drawLine({x:0,y:0}, {x:0,y:h}, offset); - - var idx=0, colors = ["rgb(240,0,200)", "rgb(0,40,200)"]; - api.setColor(colors[idx]); - var p0 = curve.get(pts[0].t), p1; - api.drawCircle(curve.get(0), 4, offset); - - for (i=1, p1; i @@ -33,7 +33,7 @@ You might be wondering "where did all the other 'minus x' for all the other valu ``` // prepare our values for root finding: x = a value we already know -xcoord = our set of bezier curve's x coordinates +xcoord = our set of Bézier curve's x coordinates foreach p in xcoord: p.x -= x // find our root, of which we know there is exactly one: diff --git a/docs/images/chapters/circles/fe32474b4616ee9478e1308308f1b6bf.svg b/docs/images/chapters/circles/fe32474b4616ee9478e1308308f1b6bf.svg new file mode 100644 index 00000000..0a70cf4b --- /dev/null +++ b/docs/images/chapters/circles/fe32474b4616ee9478e1308308f1b6bf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/images/chapters/control/14cb9fbbaae9e7d87ae6bef3ea7a782e.svg b/docs/images/chapters/control/14cb9fbbaae9e7d87ae6bef3ea7a782e.svg new file mode 100644 index 00000000..7e17c4e5 --- /dev/null +++ b/docs/images/chapters/control/14cb9fbbaae9e7d87ae6bef3ea7a782e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/images/chapters/curvature/1b2e086966d7e8088e4b51a11d9ec063.png b/docs/images/chapters/curvature/1b2e086966d7e8088e4b51a11d9ec063.png deleted file mode 100644 index 198b6bfd4cbecfbeef5d5c3c18394f460529b636..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 99649 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 literal 0 HcmV?d00001 diff --git a/docs/images/chapters/curvature/876d7b2750d7c29068ac6181c3634d25.png b/docs/images/chapters/curvature/876d7b2750d7c29068ac6181c3634d25.png new file mode 100644 index 0000000000000000000000000000000000000000..35f05f801add30679534edca8c3144b488f59eb7 GIT binary patch literal 98402 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 R6A17l^-cb3wW#5b{|9=BAC3S3 literal 0 HcmV?d00001 diff --git a/docs/images/chapters/curvature/a98d37a0653461ad4e6065d8277c8834.png b/docs/images/chapters/curvature/a98d37a0653461ad4e6065d8277c8834.png deleted file mode 100644 index 98fc1f360ed4cf388c8a336514966d0c1f47f6e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50386 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 \ No newline at end of file diff --git a/docs/images/chapters/tracing/25e9697557129c651e9c7cc4e4878b16.png b/docs/images/chapters/tracing/25e9697557129c651e9c7cc4e4878b16.png new file mode 100644 index 0000000000000000000000000000000000000000..e1a6cb399b8da963688ac2a68fab19232293089a GIT binary patch literal 20797 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 z zEXRn*(B5%n%INE5*gdTO5_Q z;oE?;V9pV;Ec|RXlIU++iB0b8$0GxYBh`5j9mnAkLMd zZ6YZC0;-|3+t?8z-i1*_Qfr$^0S6co6J z4R(QELkB^Kla54)QqZLlxq0AXy3hKr6JO44I#i*{1d)P-$mL_oz+uaYQ*}{E=F{1? z))8lNfpYH85L^(4OdfiCu}TC0?3l*BBkZ?L5R;%mkuE-bD1~5xk(|TK;*5c-^N-9#c{jw~-o6K03HiolqDw2b;7AX&JfiNxsR$s>`a!6+t`5C~G|H9- zYodM-oRm0CJrvI>+$@TK_x~IlliD^Ba`d5vT5R#=wKaKXJ9%MdRuy#nNqCp~<4h`% z&mS5RRr+;uVbP9vJA@k4$n2#!E(G&8632UA9hb*hJ_3K|=M%wq1}rjYW7bfDxFPXX zhw=oVT3kIMO>POoD(V^4E0nmxOOMQJD6g!}+>et=_C$!Bb8duWV)~0phgb-00h;zk9cyI(B&y;-OxeU(uHX-v! z5I2(J;9I^#XdCBBX1Nf8c7(^TG)iph;>kOh$fcUyk+Do1nRtM7PPD2_de1NiDY=^c;NZg+( z$OK^61nG3}t<}z*=kR|D$RYl}05|vGZ3afRKX&*aSH-DEoqcq+Q?XpJjCk4}6iW*` zyJN#8_-L~4!dz_EyVllgooZ29@PFtsB7pk=o6D@deq_O T_8lB}bkbgp{nTuA3;+KEv4e?1 literal 0 HcmV?d00001 diff --git a/docs/index.html b/docs/index.html index 5a6738a1..4d1edebc 100644 --- a/docs/index.html +++ b/docs/index.html @@ -353,7 +353,7 @@ function Bezier(3,t):

Also shown is the interpolation function for a 15th 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.

If we want to change the curve, we need to change the weights of each point, effectively changing the interpolations. The way to do this is about as straightforward as possible: just multiply each point with a value that changes its strength. These values are conventionally called "weights", and we can add them to our original Bézier function:

- +

That looks complicated, but as it so happens, the "weights" are actually just the coordinate values we want our curve to have: for an nth order curve, w0 is our start coordinate, wn is our last coordinate, and everything in between is a controlling coordinate. Say we want a cubic curve that starts at (110,150), is controlled by (25,190) and (210,250) and ends at (210,30), we use this Bézier curve:

Which gives us the curve we saw at the top of the article:

@@ -637,7 +637,7 @@ function drawCurve(points[], t):

Splitting curves using matrices

Another way to split curves is to exploit the matrix representation of a Bézier curve. In the section on matrices, we saw that we can represent curves as matrix multiplications. Specifically, we saw these two forms for the quadratic and cubic curves respectively: (we'll reverse the Bézier coefficients vector for legibility)

- +

and

Let's say we want to split the curve at some point t = z, forming two new (obviously smaller) Bézier curves. To find the coordinates for these two Bézier curves, we can use the matrix representation and some linear algebra. First, we separate out the actual "point on the curve" information into a new matrix multiplication:

@@ -1271,8 +1271,8 @@ function getCubicRoots(pa, pb, pc, pd) {

Finding Y, given X

-

One common task that pops up in things like CSS work, or parametric equalisers, or image leveling, or any other number of applications where Bezier curves are used as control curves in a way that there is really only ever one "y" value associated with one "x" value, you might want to cut out the middle man, as it were, and compute "y" directly based on "x". After all, the function looks simple enough, finding the "y" value should be simple too, right? Unfortunately, not really. However, it is possible and as long as you have some code in place to help, it's not a lot of a work either.

-

We'll be tackling this problem in two stages: the first, which is the hard part, is figuring out which "t" value belongs to any given "x" value. For instance, have a look at the following graphic. On the left we have a Bezier curve that looks for all intents and purposes like it fits our criteria: every "x" has one and only one associated "y" value. On the right we see the function for just the "x" values: that's a cubic curve, but not a really crazy cubic curve. If you move the graphic's slider, you will see a red line drawn that corresponds to the x coordinate: this is a vertical line in the left graphic, and a horizontal line on the right.

+

One common task that pops up in things like CSS work, or parametric equalisers, or image leveling, or any other number of applications where Bézier curves are used as control curves in a way that there is really only ever one "y" value associated with one "x" value, you might want to cut out the middle man, as it were, and compute "y" directly based on "x". After all, the function looks simple enough, finding the "y" value should be simple too, right? Unfortunately, not really. However, it is possible and as long as you have some code in place to help, it's not a lot of a work either.

+

We'll be tackling this problem in two stages: the first, which is the hard part, is figuring out which "t" value belongs to any given "x" value. For instance, have a look at the following graphic. On the left we have a Bézier curve that looks for all intents and purposes like it fits our criteria: every "x" has one and only one associated "y" value. On the right we see the function for just the "x" values: that's a cubic curve, but not a really crazy cubic curve. If you move the graphic's slider, you will see a red line drawn that corresponds to the x coordinate: this is a vertical line in the left graphic, and a horizontal line on the right.

@@ -1291,7 +1291,7 @@ function getCubicRoots(pa, pb, pc, pd) {

You might be wondering "where did all the other 'minus x' for all the other values a, b, c, and d go?" and the answer there is that they all cancel out, so the only one we actually need to subtract is the one at the end. Handy! So now we just solve this equation using Cardano's algorithm, and we're left with some rather short code:

// prepare our values for root finding:
 x = a value we already know
-xcoord = our set of bezier curve's x coordinates
+xcoord = our set of Bézier curve's x coordinates
 foreach p in xcoord: p.x -= x
 
 // find our root, of which we know there is exactly one:
@@ -1395,8 +1395,8 @@ y = curve.get(t).y

For instance, we can start by ensuring that the two curves share an end coordinate, so that there is no "gap" between the end of one and the start of the next curve, but that won't guarantee that things look right: both curves can be going in wildly different directions, and the resulting joined geometry will have a corner in it, rather than a smooth transition from one curve to the next.

What we want is to ensure that the curvature at the transition from one curve to the next "looks good". So, we start with a shared coordinate, and then also require that derivatives for both curves match at that coordinate. That way, we're assured that their tangents line up, which must mean the curve transition is perfectly smooth. We can even make the second, third, etc. derivatives match up for better and better transitions.

Problem solved!

-

However, there's a problem with this approach: if we think about this a little more, we realise that "what a curve looks like" and its derivative values are pretty much entirely unrelated. After all, the section on reordering curves showed us that the same looking curve can have an infinite number of curve expressions of arbitraryly high Bezier degree, and each of those will have widly different derivative values.

-

So what we really want is some kind of expression that's not based on any particular expression of t, but is based on something that is invariant to the kind of function(s) we use to draw our curve. And the prime candidate for this is our curve expression, reparameterised for distance: no matter what order of Bezier curve we use, if we were able to rewrite it as a function of distance-along-the-curve, all those different degree Bezier functions would end up being the same function for "coordinate at some distance D along the curve".

+

However, there's a problem with this approach: if we think about this a little more, we realise that "what a curve looks like" and its derivative values are pretty much entirely unrelated. After all, the section on reordering curves showed us that the same looking curve can have an infinite number of curve expressions of arbitraryly high Bézier degree, and each of those will have widly different derivative values.

+

So what we really want is some kind of expression that's not based on any particular expression of t, but is based on something that is invariant to the kind of function(s) we use to draw our curve. And the prime candidate for this is our curve expression, reparameterised for distance: no matter what order of Bézier curve we use, if we were able to rewrite it as a function of distance-along-the-curve, all those different degree Bézier functions would end up being the same function for "coordinate at some distance D along the curve".

We've seen this before... that's the arc length function.

So you might think that in order to find the curvature of a curve, we now need to solve the arc length function itself, and that this would be quite a problem because we just saw that there is no way to actually do that. Thankfully, we don't. We only need to know the form of the arc length function, which we saw above and is fairly simple, rather than needing to solve the arc length function. If we start with the arc length expression and the run through the steps necessary to determine its derivative (with an alternative, shorter demonstration of how to do this found over on Stackexchange), then the integral that was giving us so much problems in solving the arc length function disappears entirely (because of the fundamental theorem of calculus), and what we're left with us some surprisingly simple maths that relates curvature (denoted as κ, "kappa") to—and this is the truly surprising bit—a specific combination of derivatives of our original function.

Let me highlight what just happened, because it's pretty special:

@@ -1404,7 +1404,7 @@ y = curve.get(t).y
  • we wanted to make curves line up, and initially thought to match the curves' derivatives, but
  • that turned out to be a really bad choice, so instead
  • we picked a function that is basically impossible to work with, and then worked with that, which
  • -
  • gives us a simple formula that is based on the curves' derivatives.
  • +
  • gives us a simple formula that is and expression using the curves' derivatives.
  • That's crazy!

    But that's also one of the things that makes maths so powerful: even if your initial ideas are off the mark, you might be much closer than you thought you were, and the journey from "thinking we're completely wrong" to "actually being remarkably close to being right" is where we can find a lot of insight.

    @@ -1425,7 +1425,7 @@ y = curve.get(t).y

    With all of that covered, let's line up some curves! The following graphic gives you two curves that look identical, but use quadratic and cubic functions, respectively. As you can see, despite their derivatives being necessarily different, their curvature (thanks to being derived based on maths that "ignores" specific function derivative, and instead gives a formulat that smooths out any differences) is exactly the same. And because of that, we can put them together such that the point where they overlap has the same curvature for both curves, giving us the smoothest transition.

    - + Scripts are disabled. Showing fallback image. @@ -1434,7 +1434,7 @@ y = curve.get(t).y

    So let's revisit the previous graphic with the curvature visualised on both sides of our curves, as well as showing the circle that "fits" our curve at some point that we can control by using a slider:

    - + Scripts are disabled. Showing fallback image. @@ -1445,16 +1445,25 @@ y = curve.get(t).y

    Tracing a curve at fixed distance intervals

    Say you want to draw a curve with a dashed line, rather than a solid line, or you want to move something along the curve at fixed distance intervals over time, like a train along a track, and you want to use Bézier curves.

    Now you have a problem.

    -

    The reason you have a problem is that Bézier curves are parametric functions with non-linear behaviour, whereas moving a train along a track is about as close to a practical example of linear behaviour as you can get. The problem we're faced with is that we can't just pick t values at some fixed interval and expect the Bézier functions to generate points that are spaced a fixed distance apart. In fact, let's look at the relation between "distance long a curve" and "t value", by plotting them against one another.

    -

    The following graphic shows a particularly illustrative curve, and it's length-to-t plot. For linear traversal, this line needs to be straight, running from (0,0) to (length,1). This is, it's safe to say, not what we'll see, we'll see something wobbly instead. To make matters even worse, the length-to-t function is also of a much higher order than our curve is: while the curve we're using for this exercise is a cubic curve, which can switch concave/convex form once at best, the plot shows that the distance function along the curve is able to switch forms three times (to see this, try creating an S curve with the start/end close together, but the control points far apart).

    - +

    The reason you have a problem is that Bézier curves are parametric functions with non-linear behaviour, whereas moving a train along a track is about as close to a practical example of linear behaviour as you can get. The problem we're faced with is that we can't just pick t values at some fixed interval and expect the Bézier functions to generate points that are spaced a fixed distance apart. In fact, let's look at the relation between "distance long a curve" and "t value", by plotting them against one another.

    +

    The following graphic shows a particularly illustrative curve, and it's distance-for-t plot. For linear traversal, this line needs to be straight, running from (0,0) to (length,1). That is, it's safe to say, not what we'll see: we'll see something very wobbly, instead. To make matters even worse, the distance-for-t function is also of a much higher order than our curve is: while the curve we're using for this exercise is a cubic curve, which can switch concave/convex form twice at best, the distance function is our old friend the arc length function, which can have more inflection points.

    + + + + Scripts are disabled. Showing fallback image. + -

    We see a function that might be invertible, but we won't be able to do so, symbolically. You may remember from the section on arc length that we cannot actually compute the true arc length function as an expression of t, which means we also can't compute the true inverted function that gives t as an expression of length. So how do we fix this?

    -

    One way is to do what the graphic does: simply run through the curve, determine its t-for-length values as a set of discrete values at some high resolution (the graphic uses 100 discrete points), and then use those as a basis for finding an appropriate t value, given a distance along the curve. This works quite well, actually, and is fairly fast.

    -

    We can use some colour to show the difference between distance-based and time based intervals: the following graph is similar to the previous one, except it segments the curve in terms of equal-distance intervals. This shows as regular colour intervals going down the graph, but the mapping to t values is not linear, so there will be (highly) irregular intervals along the horizontal axis. It also shows the curve in an alternating colouring based on the t-for-distance values we find our LUT:

    - +

    So, how do we "cut up" the arc length function at regular intervals, when we can't really work with it? We basically cheat: we run through the curve using t values, determine the distance-for-this-t-value at each point we generate during the run, and then we find "the closest t value that matches some required distance" using those values instead. If we have a low number of points sampled, we can then even refine which t value "should" work for our desired distance by interpolating between two points, but if we have a high enough number of samples, we don't even need to bother.

    +

    So let's do exactly that: the following graph is similar to the previous one, showing how we would have to "chop up" our distance-for-t curve in order to get regularly spaced points on the curve. It also shows what using those t values on the real curve looks like, by coloring each section of curve between two distance markers differently:

    + + + + Scripts are disabled. Showing fallback image. + + + -

    Use your up and down arrow keys to increase or decrease the number of equidistant segments used to colour the curve.

    +

    Use the slider to increase or decrease the number of equidistant segments used to colour the curve.

    However, are there better ways? One such way is discussed in "Moving Along a Curve with Specified Speed" by David Eberly of Geometric Tools, LLC, but basically because we have no explicit length function (or rather, one we don't have to constantly compute for different intervals), you may simply be better off with a traditional lookup table (LUT).

    @@ -1673,7 +1682,7 @@ with quadratic or cubic curves:

    Here, the "to the power negative one" is the notation for the matrix inverse. But that's all we have to do: we're done. Starting with P and inventing some t values based on the polygon the coordinates in P define, we can compute the corresponding Bézier coordinates C that specify a curve that goes through our points. Or, if it can't go through them exactly, as near as possible.

    So before we try that out, how much code is involved in implementing this? Honestly, that answer depends on how much you're going to be writing yourself. If you already have a matrix maths library available, then really not that much code at all. On the other hand, if you are writing this from scratch, you're going to have to write some utility functions for doing your matrix work for you, so it's really anywhere from 50 lines of code to maybe 200 lines of code. Not a bad price to pay for being able to fit curves to prespecified coordinates.

    -

    So let's try it out! The following graphic lets you place points, and will start computing exact-fit curves once you've placed at least three. You can click for more points, and the code will simply try to compute an exact fit using a Bezier curve of the appropriate order. Four points? Cubic Bezier. Five points? Quartic. And so on. Of course, this does break down at some point: depending on where you place your points, it might become mighty hard for the fitter to find an exact fit, and things might actually start looking horribly off once you hit 10th or higher order curves. But it might not!

    +

    So let's try it out! The following graphic lets you place points, and will start computing exact-fit curves once you've placed at least three. You can click for more points, and the code will simply try to compute an exact fit using a Bézier curve of the appropriate order. Four points? Cubic Bézier. Five points? Quartic. And so on. Of course, this does break down at some point: depending on where you place your points, it might become mighty hard for the fitter to find an exact fit, and things might actually start looking horribly off once you hit 10th or higher order curves. But it might not!

    @@ -1945,7 +1954,7 @@ with quadratic or cubic curves:

    which we can then substitute in the expression for a:

    A quick check shows that plugging these values for a and b into the expressions for Cx and Cy give the same x/y coordinates for both "a away from A" and "b away from B", so let's continue: now that we know the coordinate values for C, we know where our on-curve point T for t=0.5 (or angle φ/2) is, because we can just evaluate the Bézier polynomial, and we know where the circle arc's actual point P is for angle φ/2:

    - +

    We compute T, observing that if t=0.5, the polynomial values (1-t)², 2(1-t)t, and t² are 0.25, 0.5, and 0.25 respectively:

    Which, worked out for the x and y components, gives:

    diff --git a/docs/ja-JP/index.html b/docs/ja-JP/index.html index 3433cbea..8eb2e3f5 100644 --- a/docs/ja-JP/index.html +++ b/docs/ja-JP/index.html @@ -634,7 +634,7 @@ function drawCurve(points[], t):

    行列による曲線の分割

    曲線分割には、ベジエ曲線の行列表現を利用する方法もあります。行列についての節では、行列の乗算で曲線が表現できることを確認しました。特に2次・3次のベジエ曲線に関しては、それぞれ以下のような形になりました(読みやすさのため、ベジエの係数ベクトルを反転させています)。

    - +

    ならびに

    曲線をある点t = zで分割し、新しく2つの(自明ですが、より短い)ベジエ曲線を作ることを考えましょう。曲線の行列表現と線形代数を利用すると、この2つのベジエ曲線の座標を求めることができます。まず、実際の「曲線上の点」の情報を分解し、新しい行列の積のかたちにします。

    @@ -1268,8 +1268,8 @@ function getCubicRoots(pa, pb, pc, pd) {

    Finding Y, given X

    -

    One common task that pops up in things like CSS work, or parametric equalisers, or image leveling, or any other number of applications where Bezier curves are used as control curves in a way that there is really only ever one "y" value associated with one "x" value, you might want to cut out the middle man, as it were, and compute "y" directly based on "x". After all, the function looks simple enough, finding the "y" value should be simple too, right? Unfortunately, not really. However, it is possible and as long as you have some code in place to help, it's not a lot of a work either.

    -

    We'll be tackling this problem in two stages: the first, which is the hard part, is figuring out which "t" value belongs to any given "x" value. For instance, have a look at the following graphic. On the left we have a Bezier curve that looks for all intents and purposes like it fits our criteria: every "x" has one and only one associated "y" value. On the right we see the function for just the "x" values: that's a cubic curve, but not a really crazy cubic curve. If you move the graphic's slider, you will see a red line drawn that corresponds to the x coordinate: this is a vertical line in the left graphic, and a horizontal line on the right.

    +

    One common task that pops up in things like CSS work, or parametric equalisers, or image leveling, or any other number of applications where Bézier curves are used as control curves in a way that there is really only ever one "y" value associated with one "x" value, you might want to cut out the middle man, as it were, and compute "y" directly based on "x". After all, the function looks simple enough, finding the "y" value should be simple too, right? Unfortunately, not really. However, it is possible and as long as you have some code in place to help, it's not a lot of a work either.

    +

    We'll be tackling this problem in two stages: the first, which is the hard part, is figuring out which "t" value belongs to any given "x" value. For instance, have a look at the following graphic. On the left we have a Bézier curve that looks for all intents and purposes like it fits our criteria: every "x" has one and only one associated "y" value. On the right we see the function for just the "x" values: that's a cubic curve, but not a really crazy cubic curve. If you move the graphic's slider, you will see a red line drawn that corresponds to the x coordinate: this is a vertical line in the left graphic, and a horizontal line on the right.

    @@ -1288,7 +1288,7 @@ function getCubicRoots(pa, pb, pc, pd) {

    You might be wondering "where did all the other 'minus x' for all the other values a, b, c, and d go?" and the answer there is that they all cancel out, so the only one we actually need to subtract is the one at the end. Handy! So now we just solve this equation using Cardano's algorithm, and we're left with some rather short code:

    // prepare our values for root finding:
     x = a value we already know
    -xcoord = our set of bezier curve's x coordinates
    +xcoord = our set of Bézier curve's x coordinates
     foreach p in xcoord: p.x -= x
     
     // find our root, of which we know there is exactly one:
    @@ -1392,8 +1392,8 @@ y = curve.get(t).y

    For instance, we can start by ensuring that the two curves share an end coordinate, so that there is no "gap" between the end of one and the start of the next curve, but that won't guarantee that things look right: both curves can be going in wildly different directions, and the resulting joined geometry will have a corner in it, rather than a smooth transition from one curve to the next.

    What we want is to ensure that the curvature at the transition from one curve to the next "looks good". So, we start with a shared coordinate, and then also require that derivatives for both curves match at that coordinate. That way, we're assured that their tangents line up, which must mean the curve transition is perfectly smooth. We can even make the second, third, etc. derivatives match up for better and better transitions.

    Problem solved!

    -

    However, there's a problem with this approach: if we think about this a little more, we realise that "what a curve looks like" and its derivative values are pretty much entirely unrelated. After all, the section on reordering curves showed us that the same looking curve can have an infinite number of curve expressions of arbitraryly high Bezier degree, and each of those will have widly different derivative values.

    -

    So what we really want is some kind of expression that's not based on any particular expression of t, but is based on something that is invariant to the kind of function(s) we use to draw our curve. And the prime candidate for this is our curve expression, reparameterised for distance: no matter what order of Bezier curve we use, if we were able to rewrite it as a function of distance-along-the-curve, all those different degree Bezier functions would end up being the same function for "coordinate at some distance D along the curve".

    +

    However, there's a problem with this approach: if we think about this a little more, we realise that "what a curve looks like" and its derivative values are pretty much entirely unrelated. After all, the section on reordering curves showed us that the same looking curve can have an infinite number of curve expressions of arbitraryly high Bézier degree, and each of those will have widly different derivative values.

    +

    So what we really want is some kind of expression that's not based on any particular expression of t, but is based on something that is invariant to the kind of function(s) we use to draw our curve. And the prime candidate for this is our curve expression, reparameterised for distance: no matter what order of Bézier curve we use, if we were able to rewrite it as a function of distance-along-the-curve, all those different degree Bézier functions would end up being the same function for "coordinate at some distance D along the curve".

    We've seen this before... that's the arc length function.

    So you might think that in order to find the curvature of a curve, we now need to solve the arc length function itself, and that this would be quite a problem because we just saw that there is no way to actually do that. Thankfully, we don't. We only need to know the form of the arc length function, which we saw above and is fairly simple, rather than needing to solve the arc length function. If we start with the arc length expression and the run through the steps necessary to determine its derivative (with an alternative, shorter demonstration of how to do this found over on Stackexchange), then the integral that was giving us so much problems in solving the arc length function disappears entirely (because of the fundamental theorem of calculus), and what we're left with us some surprisingly simple maths that relates curvature (denoted as κ, "kappa") to—and this is the truly surprising bit—a specific combination of derivatives of our original function.

    Let me highlight what just happened, because it's pretty special:

    @@ -1401,7 +1401,7 @@ y = curve.get(t).y
  • we wanted to make curves line up, and initially thought to match the curves' derivatives, but
  • that turned out to be a really bad choice, so instead
  • we picked a function that is basically impossible to work with, and then worked with that, which
  • -
  • gives us a simple formula that is based on the curves' derivatives.
  • +
  • gives us a simple formula that is and expression using the curves' derivatives.
  • That's crazy!

    But that's also one of the things that makes maths so powerful: even if your initial ideas are off the mark, you might be much closer than you thought you were, and the journey from "thinking we're completely wrong" to "actually being remarkably close to being right" is where we can find a lot of insight.

    @@ -1422,7 +1422,7 @@ y = curve.get(t).y

    With all of that covered, let's line up some curves! The following graphic gives you two curves that look identical, but use quadratic and cubic functions, respectively. As you can see, despite their derivatives being necessarily different, their curvature (thanks to being derived based on maths that "ignores" specific function derivative, and instead gives a formulat that smooths out any differences) is exactly the same. And because of that, we can put them together such that the point where they overlap has the same curvature for both curves, giving us the smoothest transition.

    - + Scripts are disabled. Showing fallback image. @@ -1431,7 +1431,7 @@ y = curve.get(t).y

    So let's revisit the previous graphic with the curvature visualised on both sides of our curves, as well as showing the circle that "fits" our curve at some point that we can control by using a slider:

    - + Scripts are disabled. Showing fallback image. @@ -1442,16 +1442,25 @@ y = curve.get(t).y

    Tracing a curve at fixed distance intervals

    Say you want to draw a curve with a dashed line, rather than a solid line, or you want to move something along the curve at fixed distance intervals over time, like a train along a track, and you want to use Bézier curves.

    Now you have a problem.

    -

    The reason you have a problem is that Bézier curves are parametric functions with non-linear behaviour, whereas moving a train along a track is about as close to a practical example of linear behaviour as you can get. The problem we're faced with is that we can't just pick t values at some fixed interval and expect the Bézier functions to generate points that are spaced a fixed distance apart. In fact, let's look at the relation between "distance long a curve" and "t value", by plotting them against one another.

    -

    The following graphic shows a particularly illustrative curve, and it's length-to-t plot. For linear traversal, this line needs to be straight, running from (0,0) to (length,1). This is, it's safe to say, not what we'll see, we'll see something wobbly instead. To make matters even worse, the length-to-t function is also of a much higher order than our curve is: while the curve we're using for this exercise is a cubic curve, which can switch concave/convex form once at best, the plot shows that the distance function along the curve is able to switch forms three times (to see this, try creating an S curve with the start/end close together, but the control points far apart).

    - +

    The reason you have a problem is that Bézier curves are parametric functions with non-linear behaviour, whereas moving a train along a track is about as close to a practical example of linear behaviour as you can get. The problem we're faced with is that we can't just pick t values at some fixed interval and expect the Bézier functions to generate points that are spaced a fixed distance apart. In fact, let's look at the relation between "distance long a curve" and "t value", by plotting them against one another.

    +

    The following graphic shows a particularly illustrative curve, and it's distance-for-t plot. For linear traversal, this line needs to be straight, running from (0,0) to (length,1). That is, it's safe to say, not what we'll see: we'll see something very wobbly, instead. To make matters even worse, the distance-for-t function is also of a much higher order than our curve is: while the curve we're using for this exercise is a cubic curve, which can switch concave/convex form twice at best, the distance function is our old friend the arc length function, which can have more inflection points.

    + + + + Scripts are disabled. Showing fallback image. + -

    We see a function that might be invertible, but we won't be able to do so, symbolically. You may remember from the section on arc length that we cannot actually compute the true arc length function as an expression of t, which means we also can't compute the true inverted function that gives t as an expression of length. So how do we fix this?

    -

    One way is to do what the graphic does: simply run through the curve, determine its t-for-length values as a set of discrete values at some high resolution (the graphic uses 100 discrete points), and then use those as a basis for finding an appropriate t value, given a distance along the curve. This works quite well, actually, and is fairly fast.

    -

    We can use some colour to show the difference between distance-based and time based intervals: the following graph is similar to the previous one, except it segments the curve in terms of equal-distance intervals. This shows as regular colour intervals going down the graph, but the mapping to t values is not linear, so there will be (highly) irregular intervals along the horizontal axis. It also shows the curve in an alternating colouring based on the t-for-distance values we find our LUT:

    - +

    So, how do we "cut up" the arc length function at regular intervals, when we can't really work with it? We basically cheat: we run through the curve using t values, determine the distance-for-this-t-value at each point we generate during the run, and then we find "the closest t value that matches some required distance" using those values instead. If we have a low number of points sampled, we can then even refine which t value "should" work for our desired distance by interpolating between two points, but if we have a high enough number of samples, we don't even need to bother.

    +

    So let's do exactly that: the following graph is similar to the previous one, showing how we would have to "chop up" our distance-for-t curve in order to get regularly spaced points on the curve. It also shows what using those t values on the real curve looks like, by coloring each section of curve between two distance markers differently:

    + + + + Scripts are disabled. Showing fallback image. + + + -

    Use your up and down arrow keys to increase or decrease the number of equidistant segments used to colour the curve.

    +

    Use the slider to increase or decrease the number of equidistant segments used to colour the curve.

    However, are there better ways? One such way is discussed in "Moving Along a Curve with Specified Speed" by David Eberly of Geometric Tools, LLC, but basically because we have no explicit length function (or rather, one we don't have to constantly compute for different intervals), you may simply be better off with a traditional lookup table (LUT).

    @@ -1670,7 +1679,7 @@ with quadratic or cubic curves:

    Here, the "to the power negative one" is the notation for the matrix inverse. But that's all we have to do: we're done. Starting with P and inventing some t values based on the polygon the coordinates in P define, we can compute the corresponding Bézier coordinates C that specify a curve that goes through our points. Or, if it can't go through them exactly, as near as possible.

    So before we try that out, how much code is involved in implementing this? Honestly, that answer depends on how much you're going to be writing yourself. If you already have a matrix maths library available, then really not that much code at all. On the other hand, if you are writing this from scratch, you're going to have to write some utility functions for doing your matrix work for you, so it's really anywhere from 50 lines of code to maybe 200 lines of code. Not a bad price to pay for being able to fit curves to prespecified coordinates.

    -

    So let's try it out! The following graphic lets you place points, and will start computing exact-fit curves once you've placed at least three. You can click for more points, and the code will simply try to compute an exact fit using a Bezier curve of the appropriate order. Four points? Cubic Bezier. Five points? Quartic. And so on. Of course, this does break down at some point: depending on where you place your points, it might become mighty hard for the fitter to find an exact fit, and things might actually start looking horribly off once you hit 10th or higher order curves. But it might not!

    +

    So let's try it out! The following graphic lets you place points, and will start computing exact-fit curves once you've placed at least three. You can click for more points, and the code will simply try to compute an exact fit using a Bézier curve of the appropriate order. Four points? Cubic Bézier. Five points? Quartic. And so on. Of course, this does break down at some point: depending on where you place your points, it might become mighty hard for the fitter to find an exact fit, and things might actually start looking horribly off once you hit 10th or higher order curves. But it might not!

    @@ -1942,7 +1951,7 @@ with quadratic or cubic curves:

    which we can then substitute in the expression for a:

    A quick check shows that plugging these values for a and b into the expressions for Cx and Cy give the same x/y coordinates for both "a away from A" and "b away from B", so let's continue: now that we know the coordinate values for C, we know where our on-curve point T for t=0.5 (or angle φ/2) is, because we can just evaluate the Bézier polynomial, and we know where the circle arc's actual point P is for angle φ/2:

    - +

    We compute T, observing that if t=0.5, the polynomial values (1-t)², 2(1-t)t, and t² are 0.25, 0.5, and 0.25 respectively:

    Which, worked out for the x and y components, gives:

    diff --git a/docs/js/custom-element/api/graphics-api.js b/docs/js/custom-element/api/graphics-api.js index f55a0930..928ccea7 100644 --- a/docs/js/custom-element/api/graphics-api.js +++ b/docs/js/custom-element/api/graphics-api.js @@ -26,12 +26,6 @@ class GraphicsAPI extends BaseAPI { `CENTER`, `LEFT`, `RIGHT`, - `HATCH1`, - `HATCH2`, - `HATCH3`, - `HATCH4`, - `HATCH5`, - `HATCH6`, ]; } @@ -608,7 +602,7 @@ class GraphicsAPI extends BaseAPI { /** * convenient axis drawing function * - * api.drawAxes(pad, "t",0,1, "S","0%","100%"); + * api.drawAxes("t",0,1, "S","0%","100%"); * */ drawAxes(hlabel, hs, he, vlabel, vs, ve, w, h) { @@ -619,12 +613,12 @@ class GraphicsAPI extends BaseAPI { this.line(0, 0, 0, h); const hpos = 0 - 5; - this.text(`${hlabel} →`, this.width / 2, hpos, this.CENTER); + this.text(`${hlabel} →`, w / 2, hpos, this.CENTER); this.text(hs, 0, hpos, this.CENTER); this.text(he, w, hpos, this.CENTER); const vpos = -10; - this.text(`${vlabel}\n↓`, vpos, this.height / 2, this.RIGHT); + this.text(`${vlabel}\n↓`, vpos, h / 2, this.RIGHT); this.text(vs, vpos, 0 + 5, this.RIGHT); this.text(ve, vpos, h, this.RIGHT); } diff --git a/docs/js/custom-element/api/types/bezier.js b/docs/js/custom-element/api/types/bezier.js index d7baab2a..4113a38b 100644 --- a/docs/js/custom-element/api/types/bezier.js +++ b/docs/js/custom-element/api/types/bezier.js @@ -6,14 +6,29 @@ import { Bezier as Original } from "../../lib/bezierjs/bezier.js"; */ class Bezier extends Original { static defaultQuadratic(apiInstance) { + if (!apiInstance) { + throw new Error( + `missing reference of API instance in Bezier.defaultQuadratic(instance)` + ); + } return new Bezier(apiInstance, 70, 250, 20, 110, 220, 60); } static defaultCubic(apiInstance) { + if (!apiInstance) { + throw new Error( + `missing reference of API instance in Bezier.defaultCubic(instance)` + ); + } return new Bezier(apiInstance, 110, 150, 25, 190, 210, 250, 210, 30); } constructor(apiInstance, ...coords) { + if (!apiInstance || !apiInstance.setMovable) { + throw new Error( + `missing reference of API instance in Bezier constructor` + ); + } super(...coords); this.api = apiInstance; this.ctx = apiInstance.ctx; @@ -74,7 +89,7 @@ class Bezier extends Original { drawCurve(color = `#333`) { const ctx = this.ctx; ctx.cacheStyle(); - ctx.lineWidth = 2; + ctx.lineWidth = 1; ctx.strokeStyle = color; ctx.beginPath(); const lut = this.getLUT().slice(); diff --git a/docs/zh-CN/index.html b/docs/zh-CN/index.html index 431f3d4e..76206b78 100644 --- a/docs/zh-CN/index.html +++ b/docs/zh-CN/index.html @@ -349,7 +349,7 @@ function Bezier(3,t):

    上面有一张是15th阶的插值方程。如你所见,在所有控制点中,起点和终点对曲线形状的贡献比其他点更大些。

    如果我们要改变曲线,就需要改变每个点的权重,有效地改变插值。可以很直接地做到这个:只要用一个值乘以每个点,来改变它的强度。这个值照惯例称为“权重”,我们可以将它加入我们原始的贝塞尔函数:

    - +

    看起来很复杂,但实际上“权重”只是我们想让曲线所拥有的坐标值:对于一条nth阶曲线,w0是起始坐标,wn是终点坐标,中间的所有点都是控制点坐标。假设说一条曲线的起点为(120,160),终点为(220,40),并受点(35,200)和点(220,260)的控制,贝塞尔曲线方程就为:

    这就是我们在文章开头看到的曲线:

    @@ -628,7 +628,7 @@ function drawCurve(points[], t):

    Splitting curves using matrices

    Another way to split curves is to exploit the matrix representation of a Bézier curve. In the section on matrices, we saw that we can represent curves as matrix multiplications. Specifically, we saw these two forms for the quadratic and cubic curves respectively: (we'll reverse the Bézier coefficients vector for legibility)

    - +

    and

    Let's say we want to split the curve at some point t = z, forming two new (obviously smaller) Bézier curves. To find the coordinates for these two Bézier curves, we can use the matrix representation and some linear algebra. First, we separate out the actual "point on the curve" information into a new matrix multiplication:

    @@ -1262,8 +1262,8 @@ function getCubicRoots(pa, pb, pc, pd) {

    Finding Y, given X

    -

    One common task that pops up in things like CSS work, or parametric equalisers, or image leveling, or any other number of applications where Bezier curves are used as control curves in a way that there is really only ever one "y" value associated with one "x" value, you might want to cut out the middle man, as it were, and compute "y" directly based on "x". After all, the function looks simple enough, finding the "y" value should be simple too, right? Unfortunately, not really. However, it is possible and as long as you have some code in place to help, it's not a lot of a work either.

    -

    We'll be tackling this problem in two stages: the first, which is the hard part, is figuring out which "t" value belongs to any given "x" value. For instance, have a look at the following graphic. On the left we have a Bezier curve that looks for all intents and purposes like it fits our criteria: every "x" has one and only one associated "y" value. On the right we see the function for just the "x" values: that's a cubic curve, but not a really crazy cubic curve. If you move the graphic's slider, you will see a red line drawn that corresponds to the x coordinate: this is a vertical line in the left graphic, and a horizontal line on the right.

    +

    One common task that pops up in things like CSS work, or parametric equalisers, or image leveling, or any other number of applications where Bézier curves are used as control curves in a way that there is really only ever one "y" value associated with one "x" value, you might want to cut out the middle man, as it were, and compute "y" directly based on "x". After all, the function looks simple enough, finding the "y" value should be simple too, right? Unfortunately, not really. However, it is possible and as long as you have some code in place to help, it's not a lot of a work either.

    +

    We'll be tackling this problem in two stages: the first, which is the hard part, is figuring out which "t" value belongs to any given "x" value. For instance, have a look at the following graphic. On the left we have a Bézier curve that looks for all intents and purposes like it fits our criteria: every "x" has one and only one associated "y" value. On the right we see the function for just the "x" values: that's a cubic curve, but not a really crazy cubic curve. If you move the graphic's slider, you will see a red line drawn that corresponds to the x coordinate: this is a vertical line in the left graphic, and a horizontal line on the right.

    @@ -1282,7 +1282,7 @@ function getCubicRoots(pa, pb, pc, pd) {

    You might be wondering "where did all the other 'minus x' for all the other values a, b, c, and d go?" and the answer there is that they all cancel out, so the only one we actually need to subtract is the one at the end. Handy! So now we just solve this equation using Cardano's algorithm, and we're left with some rather short code:

    // prepare our values for root finding:
     x = a value we already know
    -xcoord = our set of bezier curve's x coordinates
    +xcoord = our set of Bézier curve's x coordinates
     foreach p in xcoord: p.x -= x
     
     // find our root, of which we know there is exactly one:
    @@ -1386,8 +1386,8 @@ y = curve.get(t).y

    For instance, we can start by ensuring that the two curves share an end coordinate, so that there is no "gap" between the end of one and the start of the next curve, but that won't guarantee that things look right: both curves can be going in wildly different directions, and the resulting joined geometry will have a corner in it, rather than a smooth transition from one curve to the next.

    What we want is to ensure that the curvature at the transition from one curve to the next "looks good". So, we start with a shared coordinate, and then also require that derivatives for both curves match at that coordinate. That way, we're assured that their tangents line up, which must mean the curve transition is perfectly smooth. We can even make the second, third, etc. derivatives match up for better and better transitions.

    Problem solved!

    -

    However, there's a problem with this approach: if we think about this a little more, we realise that "what a curve looks like" and its derivative values are pretty much entirely unrelated. After all, the section on reordering curves showed us that the same looking curve can have an infinite number of curve expressions of arbitraryly high Bezier degree, and each of those will have widly different derivative values.

    -

    So what we really want is some kind of expression that's not based on any particular expression of t, but is based on something that is invariant to the kind of function(s) we use to draw our curve. And the prime candidate for this is our curve expression, reparameterised for distance: no matter what order of Bezier curve we use, if we were able to rewrite it as a function of distance-along-the-curve, all those different degree Bezier functions would end up being the same function for "coordinate at some distance D along the curve".

    +

    However, there's a problem with this approach: if we think about this a little more, we realise that "what a curve looks like" and its derivative values are pretty much entirely unrelated. After all, the section on reordering curves showed us that the same looking curve can have an infinite number of curve expressions of arbitraryly high Bézier degree, and each of those will have widly different derivative values.

    +

    So what we really want is some kind of expression that's not based on any particular expression of t, but is based on something that is invariant to the kind of function(s) we use to draw our curve. And the prime candidate for this is our curve expression, reparameterised for distance: no matter what order of Bézier curve we use, if we were able to rewrite it as a function of distance-along-the-curve, all those different degree Bézier functions would end up being the same function for "coordinate at some distance D along the curve".

    We've seen this before... that's the arc length function.

    So you might think that in order to find the curvature of a curve, we now need to solve the arc length function itself, and that this would be quite a problem because we just saw that there is no way to actually do that. Thankfully, we don't. We only need to know the form of the arc length function, which we saw above and is fairly simple, rather than needing to solve the arc length function. If we start with the arc length expression and the run through the steps necessary to determine its derivative (with an alternative, shorter demonstration of how to do this found over on Stackexchange), then the integral that was giving us so much problems in solving the arc length function disappears entirely (because of the fundamental theorem of calculus), and what we're left with us some surprisingly simple maths that relates curvature (denoted as κ, "kappa") to—and this is the truly surprising bit—a specific combination of derivatives of our original function.

    Let me highlight what just happened, because it's pretty special:

    @@ -1395,7 +1395,7 @@ y = curve.get(t).y
  • we wanted to make curves line up, and initially thought to match the curves' derivatives, but
  • that turned out to be a really bad choice, so instead
  • we picked a function that is basically impossible to work with, and then worked with that, which
  • -
  • gives us a simple formula that is based on the curves' derivatives.
  • +
  • gives us a simple formula that is and expression using the curves' derivatives.
  • That's crazy!

    But that's also one of the things that makes maths so powerful: even if your initial ideas are off the mark, you might be much closer than you thought you were, and the journey from "thinking we're completely wrong" to "actually being remarkably close to being right" is where we can find a lot of insight.

    @@ -1416,7 +1416,7 @@ y = curve.get(t).y

    With all of that covered, let's line up some curves! The following graphic gives you two curves that look identical, but use quadratic and cubic functions, respectively. As you can see, despite their derivatives being necessarily different, their curvature (thanks to being derived based on maths that "ignores" specific function derivative, and instead gives a formulat that smooths out any differences) is exactly the same. And because of that, we can put them together such that the point where they overlap has the same curvature for both curves, giving us the smoothest transition.

    - + Scripts are disabled. Showing fallback image. @@ -1425,7 +1425,7 @@ y = curve.get(t).y

    So let's revisit the previous graphic with the curvature visualised on both sides of our curves, as well as showing the circle that "fits" our curve at some point that we can control by using a slider:

    - + Scripts are disabled. Showing fallback image. @@ -1436,16 +1436,25 @@ y = curve.get(t).y

    Tracing a curve at fixed distance intervals

    Say you want to draw a curve with a dashed line, rather than a solid line, or you want to move something along the curve at fixed distance intervals over time, like a train along a track, and you want to use Bézier curves.

    Now you have a problem.

    -

    The reason you have a problem is that Bézier curves are parametric functions with non-linear behaviour, whereas moving a train along a track is about as close to a practical example of linear behaviour as you can get. The problem we're faced with is that we can't just pick t values at some fixed interval and expect the Bézier functions to generate points that are spaced a fixed distance apart. In fact, let's look at the relation between "distance long a curve" and "t value", by plotting them against one another.

    -

    The following graphic shows a particularly illustrative curve, and it's length-to-t plot. For linear traversal, this line needs to be straight, running from (0,0) to (length,1). This is, it's safe to say, not what we'll see, we'll see something wobbly instead. To make matters even worse, the length-to-t function is also of a much higher order than our curve is: while the curve we're using for this exercise is a cubic curve, which can switch concave/convex form once at best, the plot shows that the distance function along the curve is able to switch forms three times (to see this, try creating an S curve with the start/end close together, but the control points far apart).

    - +

    The reason you have a problem is that Bézier curves are parametric functions with non-linear behaviour, whereas moving a train along a track is about as close to a practical example of linear behaviour as you can get. The problem we're faced with is that we can't just pick t values at some fixed interval and expect the Bézier functions to generate points that are spaced a fixed distance apart. In fact, let's look at the relation between "distance long a curve" and "t value", by plotting them against one another.

    +

    The following graphic shows a particularly illustrative curve, and it's distance-for-t plot. For linear traversal, this line needs to be straight, running from (0,0) to (length,1). That is, it's safe to say, not what we'll see: we'll see something very wobbly, instead. To make matters even worse, the distance-for-t function is also of a much higher order than our curve is: while the curve we're using for this exercise is a cubic curve, which can switch concave/convex form twice at best, the distance function is our old friend the arc length function, which can have more inflection points.

    + + + + Scripts are disabled. Showing fallback image. + -

    We see a function that might be invertible, but we won't be able to do so, symbolically. You may remember from the section on arc length that we cannot actually compute the true arc length function as an expression of t, which means we also can't compute the true inverted function that gives t as an expression of length. So how do we fix this?

    -

    One way is to do what the graphic does: simply run through the curve, determine its t-for-length values as a set of discrete values at some high resolution (the graphic uses 100 discrete points), and then use those as a basis for finding an appropriate t value, given a distance along the curve. This works quite well, actually, and is fairly fast.

    -

    We can use some colour to show the difference between distance-based and time based intervals: the following graph is similar to the previous one, except it segments the curve in terms of equal-distance intervals. This shows as regular colour intervals going down the graph, but the mapping to t values is not linear, so there will be (highly) irregular intervals along the horizontal axis. It also shows the curve in an alternating colouring based on the t-for-distance values we find our LUT:

    - +

    So, how do we "cut up" the arc length function at regular intervals, when we can't really work with it? We basically cheat: we run through the curve using t values, determine the distance-for-this-t-value at each point we generate during the run, and then we find "the closest t value that matches some required distance" using those values instead. If we have a low number of points sampled, we can then even refine which t value "should" work for our desired distance by interpolating between two points, but if we have a high enough number of samples, we don't even need to bother.

    +

    So let's do exactly that: the following graph is similar to the previous one, showing how we would have to "chop up" our distance-for-t curve in order to get regularly spaced points on the curve. It also shows what using those t values on the real curve looks like, by coloring each section of curve between two distance markers differently:

    + + + + Scripts are disabled. Showing fallback image. + + + -

    Use your up and down arrow keys to increase or decrease the number of equidistant segments used to colour the curve.

    +

    Use the slider to increase or decrease the number of equidistant segments used to colour the curve.

    However, are there better ways? One such way is discussed in "Moving Along a Curve with Specified Speed" by David Eberly of Geometric Tools, LLC, but basically because we have no explicit length function (or rather, one we don't have to constantly compute for different intervals), you may simply be better off with a traditional lookup table (LUT).

    @@ -1664,7 +1673,7 @@ with quadratic or cubic curves:

    Here, the "to the power negative one" is the notation for the matrix inverse. But that's all we have to do: we're done. Starting with P and inventing some t values based on the polygon the coordinates in P define, we can compute the corresponding Bézier coordinates C that specify a curve that goes through our points. Or, if it can't go through them exactly, as near as possible.

    So before we try that out, how much code is involved in implementing this? Honestly, that answer depends on how much you're going to be writing yourself. If you already have a matrix maths library available, then really not that much code at all. On the other hand, if you are writing this from scratch, you're going to have to write some utility functions for doing your matrix work for you, so it's really anywhere from 50 lines of code to maybe 200 lines of code. Not a bad price to pay for being able to fit curves to prespecified coordinates.

    -

    So let's try it out! The following graphic lets you place points, and will start computing exact-fit curves once you've placed at least three. You can click for more points, and the code will simply try to compute an exact fit using a Bezier curve of the appropriate order. Four points? Cubic Bezier. Five points? Quartic. And so on. Of course, this does break down at some point: depending on where you place your points, it might become mighty hard for the fitter to find an exact fit, and things might actually start looking horribly off once you hit 10th or higher order curves. But it might not!

    +

    So let's try it out! The following graphic lets you place points, and will start computing exact-fit curves once you've placed at least three. You can click for more points, and the code will simply try to compute an exact fit using a Bézier curve of the appropriate order. Four points? Cubic Bézier. Five points? Quartic. And so on. Of course, this does break down at some point: depending on where you place your points, it might become mighty hard for the fitter to find an exact fit, and things might actually start looking horribly off once you hit 10th or higher order curves. But it might not!

    @@ -1936,7 +1945,7 @@ with quadratic or cubic curves:

    which we can then substitute in the expression for a:

    A quick check shows that plugging these values for a and b into the expressions for Cx and Cy give the same x/y coordinates for both "a away from A" and "b away from B", so let's continue: now that we know the coordinate values for C, we know where our on-curve point T for t=0.5 (or angle φ/2) is, because we can just evaluate the Bézier polynomial, and we know where the circle arc's actual point P is for angle φ/2:

    - +

    We compute T, observing that if t=0.5, the polynomial values (1-t)², 2(1-t)t, and t² are 0.25, 0.5, and 0.25 respectively:

    Which, worked out for the x and y components, gives: