qw3*_*w3n 19 html javascript math html5 canvas
我已经搜索过并且没有找到任何关于如何使用JavaScript在画布上绘制螺旋的真正信息.
我认为有可能用bezier曲线来做,如果这不起作用lineTo(),但这似乎要困难得多.
另外,为了做到这一点,我猜我将不得不使用三角法和极坐标图表,并且我已经有一段时间了.如果是这种情况,你可以指出我在数学上正确的方向.
Jin*_*hen 41
阿基米德螺旋表示为r=a+b(angle).将其转换为x,y坐标,将表示为x=(a+b*angle)*cos(angle),y=(a+b*angle)*sin(angle).然后你可以把角度放在for循环中并做这样的事情:
for (i=0; i< 720; i++) {
angle = 0.1 * i;
x=(1+angle)*Math.cos(angle);
y=(1+angle)*Math.sin(angle);
context.lineTo(x, y);
}
Run Code Online (Sandbox Code Playgroud)
注意,上面假设a = 1且b = 1.
这是一个jsfiddle链接:http://jsfiddle.net/jingshaochen/xJc7M/