是否有人有任何良好的实施策略或资源来整合b-rep建模系统?
OpenCascade是一个非常好的b-rep建模库(FreeCad和PythonOCC都非常酷)但是这个库庞大,复杂,可能不是一个学习b-rep建模'引擎'的好起点
我做了很多研究论文阅读,虽然基础数学有助于理解为什么一切都有效,但它给我留下了一些实施问题。
half edge数据结构似乎是在b-rep实现中存储有关正文的信息的首选方法。
所以一些问题没有特别的顺序:
使用halfedge数据结构通常如何实现渲染?基于实体边界的三角测量?
圆形面/曲面通常如何实现?例如,我读取的b-rep的一个基本介绍中的圆柱体在内部存储为棱镜。 IE是一个挤压三角形和元数据存储在盖面上,表示它们确实是圆形的。
通常如何实现布尔运算?我已经阅读了关于沿交叉曲线生成BSP树的信息,然后将这些树组合起来生成新的几何图形。是否还有其他方法可以实现布尔运算以及它们具有什么类型的pro / con?
谢谢!
如果您想提供代码示例,请不要担心语言 - 问题更多是关于算法/数据结构实现细节
答案 0 :(得分:0)
我正在使用C#中的B-Rep建模器(我处于一个非常早期的阶段:这是一个巨大的项目)所以我问自己和你一样的问题。这是我的答案:
Segment3d
,Circle3d
...)都有类,每个半边都有一个这样的类的实例。每个面都有一个表面对象的实例(平面,圆柱,球体......); 我在这个主题上找到的最好的书: