Javascript 路径上有点的随机封闭路径

Javascript 路径上有点的随机封闭路径,javascript,canvas,svg,Javascript,Canvas,Svg,我想使用JavaScript生成一个SVG/canvas,其中包含一个封闭路径(起点和终点在同一位置的线),随机数目的点应该彼此等距(在路径上,而不是在空间上) 可以使用什么库来实现这种效果,如果可能,可以提供一个示例 Angela对于SVG,您可以使用快照库,特别是使用getPointAtLength方法沿路径获取等距点 在html画布中,路径可以是线段和曲线(二次和三次贝塞尔曲线)的任意组合。因此,要在路径上绘制等距点,必须使用适当的公式沿每条线段和曲线进行数学插值 对于线段,这通常涉及到

我想使用JavaScript生成一个SVG/canvas,其中包含一个封闭路径(起点和终点在同一位置的线),随机数目的点应该彼此等距(在路径上,而不是在空间上)

可以使用什么库来实现这种效果,如果可能,可以提供一个示例


Angela

对于SVG,您可以使用快照库,特别是使用getPointAtLength方法沿路径获取等距点

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

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


对于曲线,这通常涉及使用曲线方程并沿该线绘制多个点。然后用线段连接这些点,然后在指定的距离沿这些线段再次“平移”。

你说的是正多边形还是不规则多边形?不管是哪种方式,你都可以提供一张粗略的绘画图或其他东西来说明你想要的东西。我会用它来完成这项任务。你不能说形状必须是一个简单的多边形,或者它是否允许自交。@Luxelin我在寻找一条不规则的路径,就像手工绘制的路径。像这样的东西,当然,我不需要任何视觉效果,只是line@BigBadaboom我不认为我在寻找一个多边形,更像是由JavaScript@Angela但是,如果所有的点都需要与两个连接点保持一定的距离,那么它几乎就是一个正多边形(它只是不是常规的b/c,正如您的图片所示,您希望您的形状可能是凹的,而不仅仅是凸的)。@Angela:下面是一个使用Raphael(snapsvg的祖先)和.getPointAtLength的演示: