javascript - 使用 JavaScript 在 HTML Canvas 上绘制螺旋

标签 javascript html math canvas

我已经搜索过,但没有找到任何关于如何使用 JavaScript 在 Canvas 中绘制螺旋线的内容。

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

此外,我猜想我必须使用三 Angular 函数和极坐标绘图,而且我已经有一段时间没有这样做了。如果是这种情况,您能否为我指出正确的数学方向。

最佳答案

阿基米德螺线表示为 r=a+b(angle)。将其转换成x、y坐标,表示为x=(a+b*angle)*cos(angle), y=(a+b*angle)*sin( Angular )。然后你可以将 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/

相关文章:

javascript:函数中可选的第一个参数

javascript - 运行 fancybox-thumb 时隐藏其他图像

html - 具有特定 CSS 属性的 CSS 选择器

c# - C# 和 Java 之间的随机行为差异 : the seed

c - C中的浮点运算是关联的吗?

javascript - 如何从 unicode 字符串中获取正确的元素?

javascript - 将一组重叠范围划分为一组非重叠范围

javascript - Jquery实时读取文本区域

php - Wordpress:CSS 文件不工作?

java - 将点坐标转换为图像