沿阿基米德螺线等距放置点
Placing points equidistantly along an Archimedean spiral
我有一个由参数方程 x = r t * cos(t)
和 y = r t * sin(t)
确定的阿基米德螺线。
我需要沿着螺旋线等距放置 n
个点。等距的确切定义并不重要 - 它只需要是近似的。
仅使用r
、t
和n
作为参数,如何计算每个等距点的坐标?
您想根据弧长等距放置点。阿基米德螺线 (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 approximation, this approach looks very simple(对于较小的 t 值可能不精确)
t = 2 * Pi * Sqrt(2 * s / a)
检查:相当可靠的结果
我有一个由参数方程 x = r t * cos(t)
和 y = r t * sin(t)
确定的阿基米德螺线。
我需要沿着螺旋线等距放置 n
个点。等距的确切定义并不重要 - 它只需要是近似的。
仅使用r
、t
和n
作为参数,如何计算每个等距点的坐标?
您想根据弧长等距放置点。阿基米德螺线 (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 approximation, this approach looks very simple(对于较小的 t 值可能不精确)
t = 2 * Pi * Sqrt(2 * s / a)
检查:相当可靠的结果