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

我需要沿着螺旋线等距放置n点。等距的确切定义没有太大关系-只需近似即可。

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

最佳答案

您想要等距放置与弧长相对应的点。阿基米德螺旋(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)


检查:相当可靠的结果

javascript - 沿阿基米德螺旋线等距放置点-LMLPHP

08-19 10:14