【发布时间】:2011-08-26 16:44:59
【问题描述】:
我正在尝试编写一个在网格中进行循环选择的方法。我遵循 Maya 帮助文件中提到的定义作为指导。
在 Maya 中,边缘循环具有以下属性:
- 连接边的顶点的化合价必须等于四。效价是指连接到特定顶点的边数。
- 连接序列的标准是序列中的下一条边是共享顶点的第(i+2)条边,从当前边(i)开始依次确定。李>
- 边序列(环)可以在多边形网格上形成开放或封闭路径。
- 开始边和结束边的化合价不必等于四。
我的问题是我现在不知道如何计算边缘的顺序。我一直在寻找没有运气的提示。甚至查看了 Blender 的源代码以尝试弄清楚他们是如何做到的,但这也让我很吃惊。
【问题讨论】:
-
您使用什么数据结构?这可能有助于构建答案。
-
我正在使用它的 Ruby API 为 Google SketchUp 编写一个插件。对于每个顶点,我可以获得连接到该顶点的边数组。如果这很重要,我还可以获得一张人脸列表。
-
我不知道他们使用什么数据结构,但我认为它类似于winged-edge or half-edge setup,它更容易让您执行此类操作。你在用类似的东西吗?
-
hm...我不熟悉这些术语。 Edge 类的 API 文档在这里:code.google.com/apis/sketchup/docs/ourdoc/edge.html