你好兄弟在IT吗?我是2D编程的全新人。
我正在写一些2D图形软件。在我的项目中,我使用了Voronoi算法。结果是正确的(图1)。然后我想在边界点上添加一些特征,如(图2)。所以我认为我需要在边界点上实现Concave外壳,然后在其上创建弧。
但由于凹度参数,我的凹形船体无法正常工作。将我的软件结果转换为Pic 2的最佳方法和最佳算法是什么。
答案 0 :(得分:1)
你应该能够在voronoi周围寻找只有一个相邻边的顶点(从一个只有一个相邻边的顶点开始,这不是一个坏主意)。找到第一个,走到下一个,然后用弧线连接边缘,重复直到你的背部在第一个边缘。如果voronoi被构造为图形,则该算法应该相当有效O(N)
。
通过对边缘进行角度排序并将下一个顺时针边缘移动到您开始的边缘来完成步行。
例如:
如果角度(以度为单位)为40,50,60,70,并且前缘位于50的方向,那么您将遵循60或40的边缘(取决于您是否已决定去顺时针方向或逆时针方向)但你不会跟随70,不管它是在内部引导而不是粘在外面。