Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在画布上画曲线_Javascript_Html_Canvas_Html5 Canvas - Fatal编程技术网

Javascript 在画布上画曲线

Javascript 在画布上画曲线,javascript,html,canvas,html5-canvas,Javascript,Html,Canvas,Html5 Canvas,可以用它们的方程式在画布上画曲线吗?如果是,怎么做?假设我有数学方程y=0,5*x^2,如何打印方程的图形 我尝试使用bezierCurveTo和quadraticCurveTo方法失败。您需要填充点数组,然后使用moveTo和lineTo绘制它。像这样的 var x1 = 0; // Minimum x var x2 = 10; // Maximum x var xstep = 0.1; // How smooth the curve should be // ctx is the conte

可以用它们的方程式在画布上画曲线吗?如果是,怎么做?假设我有数学方程y=0,5*x^2,如何打印方程的图形


我尝试使用
bezierCurveTo
quadraticCurveTo
方法失败。

您需要填充点数组,然后使用
moveTo
lineTo
绘制它。像这样的

var x1 = 0; // Minimum x
var x2 = 10; // Maximum x
var xstep = 0.1; // How smooth the curve should be
// ctx is the context object
// You may want to apply some transformations to the coordinate system
for (var x = x1; x < x2; x += xstep) {
    var y = 0.5 * x * x;
    if (x == x1) { 
         ctx.moveTo(x, y); // First point
    } else {
         ctx.lineTo(x, y); // Subsequent points
    }
}

ctx.stroke();
var x1=0;//最小x
变量x2=10;//最大x
var xstep=0.1;//曲线应该有多平滑
//ctx是上下文对象
//您可能希望对坐标系应用一些变换
对于(变量x=x1;x

bezierCurveTo
quadraticCurveTo
等具有固定的方程形式。我不确定它们是否可以用来绘制抛物线,但任意曲线都是不可能的。

您需要填充点数组,然后使用
moveTo
lineTo
来绘制它。像这样的

var x1 = 0; // Minimum x
var x2 = 10; // Maximum x
var xstep = 0.1; // How smooth the curve should be
// ctx is the context object
// You may want to apply some transformations to the coordinate system
for (var x = x1; x < x2; x += xstep) {
    var y = 0.5 * x * x;
    if (x == x1) { 
         ctx.moveTo(x, y); // First point
    } else {
         ctx.lineTo(x, y); // Subsequent points
    }
}

ctx.stroke();
var x1=0;//最小x
变量x2=10;//最大x
var xstep=0.1;//曲线应该有多平滑
//ctx是上下文对象
//您可能希望对坐标系应用一些变换
对于(变量x=x1;x

bezierCurveTo
quadraticCurveTo
等具有固定的方程形式。我不确定它们是否可以用来画抛物线,但任意曲线都是不可能的。

+1给出了简洁的答案。顺便说一句,如果中间控制点与起点和终点控制点的中点相切,
quadraticCurveTo
可以生成抛物线<如果二次曲线的两个中间控制点设置为同一点,则代码>bezierCurveTo
的作用与二次曲线相同。+1表示简洁明了的答案。顺便说一句,如果中间控制点与起点和终点控制点的中点相切,
quadraticCurveTo
可以生成抛物线<如果二次曲线的两个中间控制点设置为同一点,则代码>bezierCurveTo
的作用与二次曲线相同。