构造型实体几何体(CSG)是一种可以组合原始对象以创建更复杂的对象的手段或者说方式,在上一篇介绍黄金链就已经用到了CSG方法。
回到上一篇 POV-RAY基础教程 - 基本SDL(2)
什么是CSG?
POV-Ray的CSG(Constructive Solid Geometry)允许我们通过以四种不同的方式组合原始形状来构造复杂的实体。它们是:
- 使用
union
声明,将两个或多个形状合并在一起; - 使用
intersection
声明,将两个或多个形状组合在一起以形成由两个形状共有的区域组成新形状; - 使用
difference
声明,初始的形状具有从中减去所有后续的形状; - 使用
merge
声明,它就像一个联合体,其中联合体内的表面被移除(在透明CSG对象中很有用)。
我们接下来细讨论这些细节
CSG Union
让我们试着做一个简单的联合。创建一个名为的文件 csgdemo.pov
并按如下方式编辑它:
#include "colors.inc"
camera {
location <0, 1, -10>
look_at 0
angle 36
}
light_source { <500, 500, -1000> White }
plane { y, -1.5
pigment { checker Green White }
}
让我们添加两个球体,每个球体沿x轴在每个方向上平移0.5个单位。我们将一个蓝色和另一个红色染色。
sphere { <0, 0, 0>, 1
pigment { Blue }
translate -0.5*x
}
sphere { <0, 0, 0>, 1
pigment { Red }
translate 0.5*x
}
我们跟踪此文件并记下结果。现在我们在两个球体周围放置一个联合块。这将从两个对象中创建单个CSG联合。
union{
sphere { <0, 0,