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:谢谢,相位似乎也不起作用,只是在画而已旁边有一条线,你能修好吗?