查看“︁构造实体几何”︁的源代码
←
构造实体几何
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
[[File:Csg tree.png|thumb|構造實體幾何產物可以[[二元樹]]表示,以其葉為原物,以其節點為[[二元運算|兩物之間的運算操作]]。此圖中的節點以<math>\cap</math>為交集,以<math>\cup</math>為聯集,以<math>-\!</math>為補集。]] '''构造实体几何'''(英文为 Constructive solid geometry,缩写为 CSG)是[[实体造型]]中应用的一项技术。CSG 是 [[三维计算机图形学]]与[[计算机辅助设计|CAD]]中经常使用的一个程序化建模技术。在构造实体几何中,建模人员可以使用[[逻辑运算符]]将不同物体组合成复杂的曲面或者物体。 CSG 可以用简单的实体来构造或表达非常复杂的模型或者曲面<ref name="bb">{{citation|title=Introduction to Implicit Surfaces|first1=Jules|last1=Bloomenthal|first2=Chandrajit|last2=Bajaj|author2-link=Chandrajit Bajaj|publisher=Morgan Kaufmann|year=1997|isbn=9781558602335|contribution=5.2.5 Intersection with CSG Trees|url=https://books.google.com/books?id=T3SSqIVnS4YC&pg=PA178|pages=178–180|accessdate=2021-01-09|archive-date=2017-04-23|archive-url=https://web.archive.org/web/20170423162139/https://books.google.com/books?id=T3SSqIVnS4YC&pg=PA178|dead-url=no}}.</ref>。在有些场合中,构造实体几何只在[[多边形网格]]上进行处理,因此可能并不是程序化的或者参数化的。 最简单的实体被称为'''体元'''或{{link-en|几何图元|Geometric_primitive}},通常是形状简单的物体,如[[立方体]]、[[圆柱体]]、[[棱柱]]、[[棱锥]]、[[球体]]、[[圆锥]]等。根据每个软件包的不同这些体元也有所不同,在一些软件包中可以使用弯曲的物体进行 CSG 处理,在另外一些软件包中则不支持这些功能。 '''构造'''物体就是将体元根据[[集合论]]的[[布尔逻辑]]组合在一起,这些运算包括:[[并集]]、[[交集]]以及[[补集]]。 ==布尔运算(Boolean)== 在建模软件包中,如立方体、球体、环体以及其它基本几何体都可以用数学公式来表述,它们统称为''体元''。通常这些物体用可以输入[[参数]]的程序来描述,例如球体可以用球心坐标及半径来表示。这些体元都可以经下面的操作组合成复杂的物体: {| border="0" cellspacing="4" |+'''构造实体几何中所用的运算''' |- !width="30%"|并集 !width="30%"|补集 !width="30%"|交集 |- |[[File:Boolean_union.PNG|275px|并集的例子]] |[[File:Boolean_difference.PNG|275px|补集的例子]] |[[File:Boolean_intersect.PNG|275px|交集的例子]] |- |将两个物体组合成一个 |从一个物体中减去另一个 |两个物体共有的部分 |} <!-- There is something wrong in the statement of the "union" operation. I copy it to Talk for, for clarification -- Some software distinguishes the Union from a different operator, Merge, which does the union in such a way that the surfaces inside the merged region are not rendered. This would be desirable in cases where the objects are transparent, and the union should be treated as a single solid object. In particular, the [[POV-Ray]] graphics package implements this concept. --> ==构造实体几何的应用== [[File:Boolean_raytrace.svg|thumb|275px|在[[光线追踪]]场景下使用构造实体几何|在[[光线追踪]]场景下使用构造实体几何]] 构造实体几何有许多实际的应用,在需要简单几何物体的场合或者数学精度很关键的场合都有应用。 [[虚幻引擎]]、[[Source引擎]] 的映射引擎 ''[[Valve Hammer Editor|Hammer]]'' 以及 [[Quake]] 都在使用这项技术<ref name="bb"/>。(Hammer 实际上最初来自于 Worldcraft,它是 Quake 的一个场景编辑器。)[[BRL-CAD]] 是一个基于构造实体几何造型技术的[[实体造型]][[计算机辅助设计|CAD]]软件包。由于可以用相对简单的物体来生成非常复杂的几何形状,因此构造实体几何得到了广泛的流行。如果构造实体几何是程序化的或者参数化的,那么用户可以通过修改物体的位置或者逻辑运算对复杂物体进行修改。 构造实体几何方法生成的复杂几何体都是密闭的物体,这些物体的表面上不存在难以察觉的缝隙<ref>{{citation|title=Game Development Tools|editor-first=Marwan|editor-last=Ansari|publisher=CRC Press|year=2011|isbn=9781439867723|contribution=Real-time constructive solid geometry|pages=79–96|url=https://books.google.com/books?id=HKZuaUdmovsC&pg=PA79|first1=Sander|last1=van Rossen|first2=Matthew|last2=Baranowski|accessdate=2021-01-09|archive-date=2017-01-01|archive-url=https://web.archive.org/web/20170101051455/https://books.google.com/books?id=HKZuaUdmovsC&pg=PA79|dead-url=no}}.</ref>。而如果使用[[边界表示]]来生成几何体,则需要拓扑学数据或者额外的连续性检测,来保证生成密闭的几何体。对于一些工程计算而言,几何体必须是密闭的。 如果使用构造实体几何来表示几何体,那么很容易判断某一个理想的点是否在几何体内。因为形状规则的几何图元和点的位置关系易于判断,而根据几何体的逻辑表达式合成几何图元的判断结果后,就可以得到复杂几何体的判断结果<ref name="rt">{{citation|title=An Introduction to Ray Tracing|first=Andrew S.|last=Glassner|publisher=Morgan Kaufmann|year=1989|isbn=9780122861604|page=80|url=https://books.google.com/books?id=YPblYyLqBM4C&pg=PA80|accessdate=2021-01-09|archive-date=2017-01-01|archive-url=https://web.archive.org/web/20170101070749/https://books.google.com/books?id=YPblYyLqBM4C&pg=PA80|dead-url=no}}.</ref>。因此可以在光线追踪任务中用构造实体几何表示物体。 ==示例程序== * [[POV-Ray]] ==参考文献== {{reflist}} ==外部链接== * [http://gts.sourceforge.net/ GNU Triangulated Surface library] {{Wayback|url=http://gts.sourceforge.net/ |date=20210211025540 }} - 具有在三角形网格上进行构造实体几何处理能力的开放源代码([[LGPL]])库 * [http://www.cgal.org Computational Geometry Algorithms Library] {{Wayback|url=http://www.cgal.org/ |date=20110222024234 }} - 有构造实体几何处理能力的开放源代码([[LGPL]],[[Q Public License|QPL]])库 [[Category:立體幾何]] [[Category:三维计算机图形学]]
该页面使用的模板:
Template:Citation
(
查看源代码
)
Template:Link-en
(
查看源代码
)
Template:Reflist
(
查看源代码
)
Template:Wayback
(
查看源代码
)
返回
构造实体几何
。
导航菜单
个人工具
登录
命名空间
页面
讨论
不转换
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
工具
链入页面
相关更改
页面信息