如何使用自由流动绘图工具最小化绘制点中的保存点

How to Minimize the saved points from drawn points using free-flow drawing tool

目前我正在使用 "Douglas Peucker" 算法。

我的问题是,当我画的时候,之前画的线也在变化,这当然不现实。是否有其他替代算法来最小化保存的点但不改变以前绘制的点或其他方式改变 "Douglas Peucker" 以满足我的需要?

给你的铅笔绘图工具2种可选的绘图方法:

  • 使用 mousemove(这是您当前的自由形式方法)在路径上绘制一个新点。此选项将允许用户添加许多点,这将允许他们在绘图中非常详细。

  • 仅在鼠标按下时在路径上绘制一个新点。此选项只是将路径上的前一个点连接到新单击的点。此选项将允许用户添加几条非常直的线,这将允许他们勾勒出具有长 运行 直边的图形。

如果您担心用户绘图时自由路径发生变化,您可以在他们停止移动鼠标 1 秒后仅应用一次简化算法

如果您指定 Douglas-Peucker 算法使用高偏差来提高准确性,则简化路径将完全符合未简化路径。

顺便说一句,如果你想通过你的点绘制样条线,那么请查看这个漂亮的以前 post:how to draw smooth curve through N points using javascript HTML5 canvas?