![Python编程与3D物理学仿真(视频版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/912/43737912/b_43737912.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.2.3 长方体模型
box()函数用于创建长方体模型。长方体重要的参数如图1-8所示,包括:长方体中心位置坐标pos,长方体的长length、高height、宽width,长方体的轴线axis,长方体的颜色color等。
![](https://epubservercos.yuewen.com/AA498E/23020633909723406/epubprivate/OEBPS/Images/40928_19_1.jpg?sign=1738884687-Q2X0v4XuPeji6BFM3v5WcXMUXYGWcJgn-0-328c97afc229ee9ae644660cef0933a9)
图1-8
程序语句为:
![](https://epubservercos.yuewen.com/AA498E/23020633909723406/epubprivate/OEBPS/Images/40928_19_2.jpg?sign=1738884687-5WwgE7AYpZCLFi5DgNlMZOEGbtuptdl2-0-9775d71b71eeef917686acf4c497b626)
该句程序执行结果如图1-9所示。
![](https://epubservercos.yuewen.com/AA498E/23020633909723406/epubprivate/OEBPS/Images/40928_19_3.jpg?sign=1738884687-bx4IPsiSn7HZVJ3sgvCTDlBRSj0GTTnV-0-4214de0bc382dca534715df905e0095f)
图1-9
在此例中,wallR为建立的长方体的名称,box()产生一个长方体的对象,( )中是可修改的参数。pos代表此对象中心所在位置的三维向量。axis设定长方体的方向,无指定时,预设为坐标系的+x轴。size为尺寸矢量,用于定义长(平行x轴)、高(y轴)、宽(z轴),也可以分别指定length、height、width。
下面的语句执行后生成的长方体和图1-9的完全一样。
![](https://epubservercos.yuewen.com/AA498E/23020633909723406/epubprivate/OEBPS/Images/40928_19_4.jpg?sign=1738884687-ps7p4tVYqfiD1RuDucnwG5eBzL3bGwEH-0-89f151af3136afd15583370cd97043e0)
程序示例(完整的程序代码见“源代码\1-2-3.py”)如下:
![](https://epubservercos.yuewen.com/AA498E/23020633909723406/epubprivate/OEBPS/Images/40928_20_1.jpg?sign=1738884687-qITuoc07b1SrfXwfrRuAPdNbYIufZHep-0-fac398057aa9565f6c113b97a72c48eb)
此段程序的功能是首先产生两个对称的长方体壁面,然后在二者之间建立上下两个对称的壁面。首先在坐标(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所示。
![](https://epubservercos.yuewen.com/AA498E/23020633909723406/epubprivate/OEBPS/Images/40928_20_2.jpg?sign=1738884687-pudXeiNI4Wu5sNCEHJSMN7OhyIunjqs4-0-65a843a3b1e56698c07e1501f8cec757)
图1-10