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

sna*_*che 3 javascript geometry spiral parametric-equations

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

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

只需使用rtn作为参数,我怎么能计算出每个等距点的坐标?

MBo*_*MBo 5

您想要等距放置与弧长相对应的点。阿基米德螺线(公式4)的弧长相当复杂

s(t) = 1/(2*a) * (t * Sqrt(1 + t*t) + ln(t + Sqrt(1+t*t)))
Run Code Online (Sandbox Code Playgroud)

对于精确位置,可以使用数值方法,计算等距 s1、s2、s3 的 t 值......等差数列。不过也有可能。

可能的第一种近似 - 计算某些 t 序列的 s(t) 值,然后获取所需 s 值的间隔并应用线性插值。

第二种方法 - 使用Clackson 滚动公式近似,这种方法看起来很简单 (对于小的 t 值可能不精确)

 t = 2 * Pi * Sqrt(2 * s / a)
Run Code Online (Sandbox Code Playgroud)

检查:相当可靠的结果

在此处输入图片说明