构造实体几何(英文为 Constructive solid geometry,缩写为 CSG)是实体造型中应用的一项技术。CSG 是 三维计算机图形学与CAD中经常使用的一个程序化建模技术。在构造实体几何中,建模人员可以使用逻辑运算符将不同物体组合成复杂的曲面或者物体。通常 CSG 都是表示看起来非常复杂的模型或者曲面,但是它们通常都是由非常简单的物体组合形成的。在有些场合中,构造实体几何只在多边形网格上进行处理,因此可能并不是程序化的或者参数化的。
最简单的实体表示叫作体元,通常是形状简单的物体,如立方体、圆柱体、
棱柱、棱锥、球体、圆锥等。根据每个软件包的不同这些体元也有所不同,在一些软件包中可以使用弯曲的物体进行 CSG 处理,在另外一些软件包中则不支持这些功能。
构造物体就是将体元根据集合论的布尔逻辑组合在一起,这些运算包括:并集、交集以及补集。
在建模软件包中,如立方体、球体、环体以及其它基本几何体都可以用数学公式来表述,它们统称为体元。通常这些物体用可以输入
参数的程序来描述,例如球体可以用球心坐标及半径来表示。这些体元都可以经下面的操作组合成复杂的物体:
构造实体几何中所用的运算
并集 |
补集 |
交集 |
![并集的例子](http://upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Boolean_union.PNG/275px-Boolean_union.PNG) |
![补集的例子](http://upload.wikimedia.org/wikipedia/commons/thumb/8/86/Boolean_difference.PNG/275px-Boolean_difference.PNG) |
![交集的例子](http://upload.wikimedia.org/wikipedia/commons/thumb/0/0b/Boolean_intersect.PNG/275px-Boolean_intersect.PNG) |
将两个物体组合成一个 |
从一个物体中减去另一个 |
两个物体共有的部分 |
[
编辑]构造实体几何的应用
构造实体几何有许多实际的应用,在需要简单几何物体的场合或者数学精度很关键的场合都有应用。
Unreal engine、
Source engine 的映射引擎
Hammer 以及 Quake 都在使用这项技术。(Hammer 实际上最初来自于 Worldcraft,他是 Quake 的一位编辑。)
BRL-CAD 是一个基于构造实体几何造型技术的实体造型CAD软件包。由于可以用相对简单的物体来生成非常复杂的几何形状,因此构造实体几何得到了广泛的流行。如果构造实体几何是程序化的或者参数化的,那么用户可以通过修改物体的位置或者逻辑运算对复杂物体进行修改。
[
编辑]示例程序
[
编辑]外部链接
posted on 2008-01-01 08:39
姚明 阅读(1022)
评论(2) 编辑 收藏 引用 所属分类:
图形学