Javascript 在Paper.js中简化并平滑路径

Javascript 在Paper.js中简化并平滑路径,javascript,coffeescript,paperjs,Javascript,Coffeescript,Paperjs,我想用paperjs制作一个非常简单直观的绘图工具。用户只需拖动、添加和删除关键点,即可绘制路径,并在之后对其进行操作,无需复杂的控制柄 现在,一旦用户绘制了路径,它就被简化了。然后,只要用户进行更改,路径就会平滑 这是一种非常好且简单的绘制和修改内容的方法,因为用户不必担心复杂的句柄 问题是平滑路径不等于简化路径。因此,我想知道是否有可能实现另一个simplify函数,该函数将返回路径的简化、准确和平滑版本。调用smooth不会修改生成的路径 这是我所做的一个示例,您可以看到,只要选择任何关键

我想用paperjs制作一个非常简单直观的绘图工具。用户只需拖动、添加和删除关键点,即可绘制路径,并在之后对其进行操作,无需复杂的控制柄

现在,一旦用户绘制了路径,它就被简化了。然后,只要用户进行更改,路径就会平滑

这是一种非常好且简单的绘制和修改内容的方法,因为用户不必担心复杂的句柄

问题是平滑路径不等于简化路径。因此,我想知道是否有可能实现另一个simplify函数,该函数将返回路径的简化、准确和平滑版本。调用smooth不会修改生成的路径

这是我所做的一个示例,您可以看到,只要选择任何关键点,曲线就会发生变化。 您可以在drawings>DrawPath.coffee下找到源代码,使用终端中的“coffee-watch-compiledraws/DrawPath.coffee”进行动态编译


我现在知道这是一个复杂的问题,如果用户愿意,我也会让他操纵手柄,但我认为这个简化版的曲线工具非常方便。

每次有人移动一个点时,你也会简化路径吗?也许在第一场平局结束后再做就足够了。还有另一个平滑函数,它不那么突兀。我只简化了一次路径,但每次它改变时,我都会平滑它。感谢您提供有关平滑函数的链接。也许可以尝试使用来自的新代码。我认为新平滑函数的结果更加一致,不应改变未移动点上的曲线。但请记住,该分支中的其余代码有点落后。