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

标签 javascript geometry spiral parametric-equations

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

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

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

最佳答案

您想要根据弧长等距放置点。阿基米德螺线的弧长 ( formula 4 ) 相当复杂

s(t) = a/2 * (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

关于javascript - 沿着阿基米德螺线等距放置点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44741045/

相关文章:

algorithm - 如何确定多个元素的边界矩形?

c++ - 用于 C++ 的快速、庞大且可扩展的几何库

python - 在 Python 中绘制三个轴上的对数螺线

c++ - 第 933 行 : Char 34: runtime error: reference binding to null pointer of type 'struct value_type' (STL_vector. h) - Leet 代码螺旋

javascript - 我们如何移动 Electron 应用程序以在第二/外部屏幕上显示?

javascript - 触摸事件是否适用于 SVG?

javascript - 计算圆与线过圆心的交点

javascript - Phonegap应用程序无法连接到移动设备上的数据库

javascript - 有没有人知道格式化 "abbreviated"数字的好 JavaScript 片段?

arrays - 使用递归以螺旋模式遍历二维数组