沿阿基米德螺线等距离放置点

时间:2017-06-24 21:15:35

标签: javascript geometry spiral parametric-equations

我有一个由参数方程x = r t * cos(t)y = r t * sin(t)确定的阿基米德螺线。

我需要沿螺旋线等距离放置n点。等距的确切定义并不重要 - 它只需要是近似的。

仅使用rtn作为参数,如何计算每个等距点的坐标?

1 个答案:

答案 0 :(得分:2)

您希望等距离对应于弧长。阿基米德螺旋(formula 4)的弧长相当复杂

s(t) = 1/(2*a) * (t * Sqrt(1 + t*t) + ln(t + Sqrt(1+t*t)))

并且对于精确位置,可以使用数值方法,计算等距s1,s2,s3 ...算术级数的t值。虽然有可能。

可以进行第一次近似 - 计算某些t序列的s(t)值,然后得到所需s值的间隔并应用线性插值。

第二种方式 - 使用Clackson scroll formula近似,这种方法看起来very simple(对于小t值可能不准确)

 t = 2 * Pi * Sqrt(2 * s / a)

检查:结果非常可靠

enter image description here