表示,以其葉為原物,以其節點為兩物之間的運算操作。此圖中的節點以\cap為交集,以\cup為聯集,以-\!為補集。]]
构造实体几何(英文为,缩写为CSG)是实体造型中应用的一项技术。CSG是三维计算机图形学与CAD中经常使用的一个程序化建模技术。在构造实体几何中,建模人员可以使用逻辑运算符将不同物体组合成复杂的曲面或者物体。CSG可以用简单的实体来构造或表达非常复杂的模型或者曲面。在有些场合中,构造实体几何只在多边形网格上进行处理,因此可能并不是程序化的或者参数化的。
最简单的实体被称为体元或,通常是形状简单的物体,如立方体、圆柱体、棱柱、棱锥、球体、圆锥等。根据每个软件包的不同这些体元也有所不同,在一些软件包中可以使用弯曲的物体进行CSG处理,在另外一些软件包中则不支持这些功能。
构造物体就是将体元根据集合论的布尔逻辑组合在一起,这些运算包括:并集、交集以及补集。
布尔运算(Boolean)
在建模软件包中,如立方体、球体、环体以及其它基本几何体都可以用数学公式来表述,它们统称为体元。通常这些物体用可以输入参数的程序来描述,例如球体可以用球心坐标及半径来表示。这些体元都可以经下面的操作组合成复杂的物体:
构造实体几何的应用
场景下使用构造实体几何|在光线追踪场景下使用构造实体几何]]
构造实体几何有许多实际的应用,在需要简单几何物体的场合或者数学精度很关键的场合都有应用。虚幻引擎、Source引擎的映射引擎Hammer以及Quake都在使用这项技术。而如果使用边界表示来生成几何体,则需要拓扑学数据或者额外的连续性检测,来保证生成密闭的几何体。对于一些工程计算而言,几何体必须是密闭的。
如果使用构造实体几何来表示几何体,那么很容易判断某一个理想的点是否在几何体内。因为形状规则的几何图元和点的位置关系易于判断,而根据几何体的逻辑表达式合成几何图元的判断结果后,就可以得到复杂几何体的判断结果。因此可以在光线追踪任务中用构造实体几何表示物体。
示例程序
- POV-Ray
参考文献
外部链接
- [http://gts.sourceforge.net/ GNU Triangulated Surface library] - 具有在三角形网格上进行构造实体几何处理能力的开放源代码(LGPL)库
- [http://www.cgal.org Computational Geometry Algorithms Library] - 有构造实体几何处理能力的开放源代码(LGPL,)库
评论 (0)