小编ADa*_*rio的帖子

将非方向图转换为网格

声明:

我正在创建一个程序,让用户可以布置自己的非方向图(节点和边).一旦按下特定按钮,我想在图形中的每个"间隙"中创建一个三角形网格.这里有两张图片可以让你知道我在追求的是什么:

图形 图填充

有几点需要注意:

  • 由于用户可以完全控制,我可以获得3,4,5 ... n个侧面空间
  • 用户可以创建凸形或凹形
  • 该应用程序正在使用C#在Unity中完成

到目前为止,我自己的尝试效率非常低,并且在非常不寻常的图形布局中可能会失败.我的总体计划是抓住一个节点并沿着一个周期的最锐角,直到我回到第一个节点.这部分工作,但我无法知道我是否已经获得了所有空间.另外,我最终会得到两个覆盖相同空间的相同网格(虽然节点顺序不同).

我很感激你能给我这个帮助的任何帮助.为了帮助解决问题,我已经熟悉凸包算法和三角剖分.

更新:

我不能发布任何代码,因为我在这个项目的NDA下,但数据结构非常简单.

节点具有位置(向量3,但y始终为0)和连接边的列表.

边缘具有第一节点,第二节点和位置(中点).

我想为每个间隙生成一个Mesh对象.此网格对象具有静态顶点数组(向量3s)和静态三角形数组(它们是整数并与顶点索引相关).

c# algorithm graph mesh triangulation

5
推荐指数
1
解决办法
338
查看次数

标签 统计

algorithm ×1

c# ×1

graph ×1

mesh ×1

triangulation ×1