绘制具有多个点的平滑曲线是一项具有挑战性的任务。有许多算法可以帮助我们使用特定点绘制曲线。贝塞尔曲线是曲线绘制技术中的一种。关于如何使用 JavaScript 通过多个点绘制平滑曲线总是有很多讨论。因此,我们可以通过多个点绘制平滑曲线。
为了画一条线,我们应该有一条线的斜率。所以在这里我们通过取 x 和 y 的多个输入来计算一条线的斜率。为了绘制平滑曲线,我们应该有多个输入/点,我们可以通过这些输入/点来绘制平滑曲线。在这里,我们试图获得一个随机数,并试图为其绘制一条平滑的曲线。
在这里,我们给您一些关于使用多个点绘制平滑曲线的想法。请仔细阅读此代码,我们将进一步解释。
例子:
Smooth Curve
GeeksforGeeks
输出:
解释:当我们运行这个程序时,每次它都会接受随机输入,这就是为什么它在每次执行时都会生成一条新的平滑曲线。
- 先决条件:HTML Canvas 基础
- 使用 DOM 概念将画布对象的引用存储在变量“cv”中。
- 如果没有画布的绘制上下文,则无法在其上绘制任何内容。
var cv = document.getElementById("GFG"); var ctx = cv.getContext("2d");
- 返回直线斜率的梯度函数。
function gradient(a, b) { return (b.y-a.y)/(b.x-a.x); }
- BeginPath 方法用于启动或重置路径。
- MoveTo 方法用于将路径移动到画布中的指定点。
ctx.beginPath(); ctx.moveTo(points[0].x, points[0].y);
- Stroke 用于绘制您使用所有这些方法定义的路径。
ctx.stroke();