
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.2.3 长方体模型
box()函数用于创建长方体模型。长方体重要的参数如图1-8所示,包括:长方体中心位置坐标pos,长方体的长length、高height、宽width,长方体的轴线axis,长方体的颜色color等。

图1-8
程序语句为:

该句程序执行结果如图1-9所示。

图1-9
在此例中,wallR为建立的长方体的名称,box()产生一个长方体的对象,( )中是可修改的参数。pos代表此对象中心所在位置的三维向量。axis设定长方体的方向,无指定时,预设为坐标系的+x轴。size为尺寸矢量,用于定义长(平行x轴)、高(y轴)、宽(z轴),也可以分别指定length、height、width。
下面的语句执行后生成的长方体和图1-9的完全一样。

程序示例(完整的程序代码见“源代码\1-2-3.py”)如下:

此段程序的功能是首先产生两个对称的长方体壁面,然后在二者之间建立上下两个对称的壁面。首先在坐标(6,0,0)处创建第一个绿色长方体wallR,长为0.2、宽为12、高为12。然后在对称位置(-6,0,0)处创建第二个蓝色长方体wallL。由于这两个长方体中心x坐标之间相距12,所以两个长方体对立面之间的距离为12-0.2=11.8,则上下两块长方体的长度为11.8。考虑到外表面的对齐,上壁面的位置中心在(0,5.9,0),下壁面的位置中心在(0,-5.9,0)。程序执行结果如图1-10所示。

图1-10