我已经搜索过但还没有找到关于如何使用JavaScript在 Canvas 上绘制螺旋线的任何信息。

我认为可能可以使用贝塞尔曲线进行操作,如果不起作用,请使用lineTo(),但这似乎要困难得多。

另外,要做到这一点,我猜我将不得不使用三角函数和极坐标作图,自从这样做以来已经有一段时间了。如果是这样的话,您能指出我正确的数学方向吗?

最佳答案

阿基米德螺旋线表示为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);
}

注意上面假设a = 1和b = 1。

这是一个jsfiddle链接:http://jsfiddle.net/jingshaochen/xJc7M/

关于javascript - 使用JavaScript在HTML Canvas 上绘制螺旋,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6824391/

10-13 01:41