具体示例:拍摄欧洲国家地图,以及“代表欧盟国家的路径”的指针列表,并输出单个“代表欧盟的路径”。
e.g。如果我有三个输入路径:红色,绿色和蓝色。
...然后我需要创建一个输出折线 - 带有beziers,它是三个对象的并集。
另外,我需要处理输入数据中的一些误差范围 - c.f.下面的图像在输入形状之间存在一些非常小的“间隙”。在图像中,底部图形(红色)是所需的输出。
这可能很容易出错,并且需要数周的时间才能使其无法正常工作。我试图找到一个可能“足够好”的相对简单的方法,但我目前仍坚持:
最后......目标平台是iPhone - 所以我可以访问所有Apple的Quartz / QuartzCore / CoreAnimation /等。它提供了一些实用程序方法 - 但请注意:即使是Apple的官方基础知识的实现,例如“路径A是否与路径B相交?”在很多情况下都非常严重/不正确 - 所以它不太可靠:(。
答案 0 :(得分:0)
IDEA如何实现这一目标(也许) - 但我不知道该怎么做:
也许......改为计算“内部线条”,然后移除它们,给我留下几乎正确的东西,作为“描述联合的路径”。
我的示例Blue对象可能是非常严重的错误,交叉点可能会产生一个非常错误的曲线 - 但它可能已经足够好了。
要做到这一点,我想,也许是:
答案 1 :(得分:0)
首先,您需要知道如何组合多边形形状。我假设你知道,如果不是,你必须先学习它。
现在你可以测试你的曲线,找到多边形的联合,并将原始曲线的部分装回到联合中。您需要稍微调整交点,从直线交点到曲线交点,但调整量很小,您可以使用简单的迭代近似算法找到它们。
要处理错误,请在联合之前将多边形偏移一个有效数量,并在拟合曲线之前将结果偏移一个负值。
抱歉,此手机无法输入更多内容:-(