0,引入
这一章节里,咱们trace这样一个包含地球仪的场景,直接贴出结果图形啦!
这个场景中包含如下几部分:
1,地球仪的底座(1个回旋面+1个圆柱面,Phong材质,木纹纹理);
2,地球仪的主体球面(Phong材质,图片映射纹理);
3,地球仪的支架(半个圆环+1个圆柱面+2个小球面,Reflective材质,没有纹理);
4,地球仪下方的圆台(1个封闭圆柱面,Phong材质,2D方格纹理);
5,场景的下面和背面(2个平面,Matte材质,2D方格纹理);
接下来,咱们分如上五个部分来进行说明。
1,地球仪的底座
地球仪的底座(1个回旋面+1个圆柱面,Phong材质,木纹纹理)。
1.1 回旋面
参考:“Q100:怎么用三角形网格细分回旋体(rotational sweeping / revolution)”
http://blog.csdn.net/libing_zeng/article/details/69789041
这里用到的回旋面即是“Q100”中后四个控制点对应的B样条曲线段旋转形成的。对应代码截图:
由于场景中还有其他物体,为了和其他物体在位置上保持协调,我们需要先计算出该回旋面边界对应的参数。
计算方法可以参考:“Q101:真实地模拟一个玻璃酒杯(Wine Glass)(回旋曲面)”
http://blog.csdn.net/libing_zeng/article/details/69791261
根据三次B样条曲线的参数方程: