平滑手绘曲线
我有一个允许用户绘制曲线的程序。但这些曲线看起来并不好看 - 它们看起来摇摇晃晃,手绘。
所以我想要一种能够自动平滑它们的算法。我知道平滑过程中存在固有的模糊性,因此每次都不会是完美的,但是这些算法似乎确实存在于几个绘图包中并且它们工作得很好。
是否有类似这样的代码示例? C#会很完美,但我可以翻译其他语言。
没有找到相关结果
已邀请:
6 个回复
咖哀烈
了驳
厘恼轨
鞘垒飘
这里有后者工作的图像,白色是线条,红色是Bezier: 使用这种方法,我们使用更少的控制点,更准确。 可以通过lineSensitivity属性调整线条创建的灵敏度。如果您根本不想使用线条,只需将其设置为无限。 我相信这可以改进。随意贡献:) 该算法没有做任何减少,并且因为在我的帖子中首先解释我们必须运行一个。这是一个DouglasPeuckerReduction实现,对于我来说,在某些情况下,比其他FitCurves更有效地工作(存储点数更少,渲染速度更快)
我在这里使用我自己的SortedList和Line的实现。抱歉,你必须自己做。
琶竞捆栓
到街客核
还必须解决使用Length和+, - 运算符的问题。我选择只为FitCurves类添加函数,并重写编译器抱怨的用法。