将两点之间的曲线转换为直线连接

时间:2018-01-25 13:24:12

标签: math geometry computational-geometry point

我有两点p1和p2以及第l行(黑色)。该行由100多个内部点组成,这些内部点以p1开始排列,并以p2结尾。

enter image description here

现在,我想将曲线转换为“直线”,就像上图中的红线一样。但是,我有点不确定如何做到这一点。

到目前为止,我的想法是以固定距离迭代线(例如从开始和向前100个像素取得所有点),计算线的曲线,如果超过阈值,则使直线变换方向,然后迭代下一个部分,依此类推。我不确定这会按预期工作。

另一个想法是制作一个贪婪的算法,试图最小化黑线和红线之间的距离。然而,这可能导致我想避免的小步骤。通过轮流成本可以避免这些步骤。

是否有关于此特定问题的算法,或者您将如何解决?

1 个答案:

答案 0 :(得分:4)

搜索短语多边形链简化,您会看到有关此主题的文献。 这是一个可以引导您到其他人的参考:

  

Buzer,Lilian。 “用于亚像素精确渲染的多边形链的最佳简化。” Computational Geometry 42.1(2009):45-59。   

<小时/>      Fig17