这个问题可能有点难以制定,但这里有云:如何画分贝塞尔曲线动力学JS
当KineticJS使用bezierCurveTo,你给它的终点的坐标曲线,以及至于控制点。是否有一种简单的方法让曲线实际上不会延续到指定的终点,而是停在曲线的另一个点上?
我问的原因是因为我想绘制一条贝塞尔曲线,然后在另一条曲线的顶端,它遵循相同的曲线,但不会一路走到最后。现在我所知道的只是用新的终点画一条新曲线,然后猜测并检查控制点,直到两条曲线匹配。但这是非常耗时的,并且看起来不完美。
这个问题可能有点难以制定,但这里有云:如何画分贝塞尔曲线动力学JS
当KineticJS使用bezierCurveTo,你给它的终点的坐标曲线,以及至于控制点。是否有一种简单的方法让曲线实际上不会延续到指定的终点,而是停在曲线的另一个点上?
我问的原因是因为我想绘制一条贝塞尔曲线,然后在另一条曲线的顶端,它遵循相同的曲线,但不会一路走到最后。现在我所知道的只是用新的终点画一条新曲线,然后猜测并检查控制点,直到两条曲线匹配。但这是非常耗时的,并且看起来不完美。
我不知道局部的贝塞尔曲线,但通过用笔画渐变绘制一条曲线可以达到同样的效果。在渐变中的同一点创建两个停靠点以创建一条较硬的颜色线。
var grd=ctx.createLinearGradient(bezStartX,bezStartY,bezEndX,bezEndX);
grd.addColorStop(0,"black");
grd.addColorStop("0.5","black");
grd.addColorStop("0.5","blue");
grd.addColorStop("1","blue");
ctx.strokeStyle=grd;
ctx.beginPath();
ctx.moveTo(bezStartX,bezStartY);
ctx.bezierCurveTo(bexCtrl1X,bezCtrl1Y,bexCtrl2X,bexCtrl2Y,bezEndX,bezEndX);
ctx.stroke();
基本上,你必须所有的点保存在磁盘阵列之前,你甚至划出一道弧线,然后绘制曲线,然后绘制最重要的是它使用相同的点另一条曲线,减去但在到底有多少 – SoluableNonagon