1. 3?坐标变换OpenGL 的坐标变换有几何变换、 投影变换、 裁剪变换和视口变换等. 平移变换和旋转变换都是OpenGL 中的几何变换. 平移变换在 OpenGL 中是通过函数 void glT ranslate( T ype x, T ype y, Typez) 来实现. 其执行结果将是局部坐标系原点平移至点( x,y , z ), 即场景中物体各顶点的坐标分量分别加上 x ,y 和z . 旋转变换在 OpenGL 中是通过函数void glRotate( Type angle, Type x , T ype y, Typez) 来完成. 其执行结果是将局部坐标系绕矢量 v=(x ,y ,z )T逆时针方向旋转 angle 指定的角度[ 6].在平移变换中, 如果要平移的方向不是沿坐标轴方向, 就要进行矢量运算.在图 2 中, OM= OP+ OR+ OQ= xi+ yj + zk.所以, 如果要表示物体沿OM 方向移动了| OM| 距离, 则代码为 glT ranslate( x, y, z ).设在T 时刻液压缸活塞杆与Y轴正半轴的夹图 2? 坐标系矢量运算示意?26??机械与电子?2010(12) 角为 ? , 则液压缸活塞杆伸长量 S 的实现代码为 Gl?T ranslatef( 0. 0, S* cos? ,S* sin? ).液压缸绕 X 轴旋转 ?1 的实现代码为 glRo?tatef (?1,1 .0f , 0.0f , 0.0f ).