Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.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 对于在HTML5画布中绘制正弦函数的图形,所有输入是什么?_Javascript_Canvas - Fatal编程技术网

Javascript 对于在HTML5画布中绘制正弦函数的图形,所有输入是什么?

Javascript 对于在HTML5画布中绘制正弦函数的图形,所有输入是什么?,javascript,canvas,Javascript,Canvas,我试图创建一个简单的图形计算器,在画布上绘制正弦函数 我在另一个堆栈交换问题上发现了以下代码: var c = document.getElementById("myCanvas"); var ctx = c.getContext("2d"); var i; ctx.stroke(); var counter = 0, x=0,y=180; //100 iterations var increase = 90/180*Math.PI / 9; for(i=0; i<=360; i+=

我试图创建一个简单的图形计算器,在画布上绘制正弦函数

我在另一个堆栈交换问题上发现了以下代码:

var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
var i;

ctx.stroke();

var counter = 0, x=0,y=180;

//100 iterations
var increase = 90/180*Math.PI / 9;
for(i=0; i<=360; i+=10){

     ctx.moveTo(x,y);
    x = i;
    y =  180 - Math.sin(counter) * 120;
    counter += increase;

    ctx.lineTo(x,y);
    ctx.stroke();
    //alert( " x : " + x + " y : " + y + " increase : " + counter ) ;
}
var c=document.getElementById(“myCanvas”);
var ctx=c.getContext(“2d”);
var i;
ctx.stroke();
变量计数器=0,x=0,y=180;
//100次迭代
var增加=90/180*Math.PI/9;

对于(i=0;i我刚刚在现有代码中添加了变量。它们都不是实际变量,只有
120
对于
振幅
已经在那里了

var c=document.getElementById(“myCanvas”);
var ctx=c.getContext(“2d”);
var i;
变量计数器=0,x=0,y=180;
var振幅=120,
相位=180,
频率=2;
//周期=1/频率
//100次迭代
var增加=0.5*Math.PI/90;

对于(i=0;i我刚刚在现有代码中添加了变量。它们都不是实际变量,只有
120
对于
振幅
已经在那里了

var c=document.getElementById(“myCanvas”);
var ctx=c.getContext(“2d”);
var i;
变量计数器=0,x=0,y=180;
var振幅=120,
相位=180,
频率=2;
//周期=1/频率
//100次迭代
var增加=0.5*Math.PI/90;

对于(i=0;i
我可以仅仅通过更改sin来将其更改为cos或tan吗?
这是一个严肃的问题吗?程序员是上帝的,他们可以做任何事情:)我的意思是,除了用cos/tan替换sin之外,我还需要做任何其他事情来更改函数吗。不相关,但这
stroke()
绝对应该跳出这个for循环:前面所有的lineTo都堆积在同一条路径上,并且不断地被透支。第一个是噪音。
我可以通过改变它来将sin改变为cos或tan吗?
这是个严肃的问题吗?程序员是上帝的,他们可以做任何事情:)我的意思是,除了用cos/tan.Unrelated替换sin之外,我还需要做其他事情来更改函数吗
绝对应该跳出这个for循环:前面所有的lineTo都堆积在同一条路径上,并且不断地被透支。第一个是噪音。谢谢,这就是我一直在寻找的。但是,有没有办法让函数不那么尖锐?@Ethan:哦,不那么锯齿,曲线更平滑。我已经更新了我的答案。@Cerbus:谢谢,似乎相位不起作用,只是在侧面画了一条线。你能解决这个问题吗?谢谢,这就是我一直在寻找的。但是,有没有办法让函数变得不那么尖锐?@Ethan:哦,不那么锯齿,曲线更平滑。我已经更新了我的答案。@Cerbus:谢谢,相位似乎也不起作用,只是在画而已旁边有一条线,你能修好吗?