随机封闭路径与路径上的点

时间:2014-05-03 06:08:14

标签: javascript canvas svg

我想使用JavaScript生成一个SVG / canvas,其中包含一个封闭路径(一条在同一个地方开始和结束的行),其随机点数应该彼此等距(在路径上,不在空间条款。)

可以使用哪个库来实现此效果,如果可能,可以提供一个示例吗?

安吉拉

1 个答案:

答案 0 :(得分:0)

对于SVG,您可以使用Snap库,特别是使用getPointAtLength方法获取路径上的等距点。

http://snapsvg.io/docs/#Snap.path.getPointAtLength

在html Canvas中,路径可以是线段和曲线的任意组合(二次和三次贝塞尔曲线)。因此,要绘制路径上的等距点,必须使用适当的公式在每个线段和曲线上进行数学插值。

对于线段,这通常涉及计算线段的长度,然后使用指定的距离“lerping”(Google!)。

对于曲线,这通常涉及使用曲线的方程式并绘制沿该线的多个点。然后将这些点与线段连接起来,然后再沿着指定距离的那些线段“lerping”。