http://www.imobilebbs.com/wordpress/?p=1530
OpenGL使用了右手坐标系统,右手坐标系判断方法:在空间直角坐标系中,让右手拇指指向x轴的正方向,食指指向y轴的正方向,如果中指能指向z轴的正方向,则称这个坐标系为右手直角坐标系。
Translate平移变换
方法public abstract void glTranslatef (float x, float y, float z) 用于坐标平移变换。
参数分别表示向x、y、z轴平移,正数为正方向,负数为负方向,例如:
gl.glTranslatef(2, 0, 0);//整体向X轴正方向平移两个单位
Rotate旋转
方法public abstract void glRotatef(float angle, float x, float y, float z)用来实现选择坐标变换,单位为角度。
参数分别表示向x、y、z轴转动angle个角度,坐标轴的箭头射向你,如果x、y、z为正,angle为正数表示逆时针方向,否则为逆时针方向。如果x、y、z为负,结果相反。例如:
gl.glRotatef(90f, 1.0f, 0.0f, 0.0f);//绕x轴顺时针方向转动90度
Scale(缩放)
方法public abstract void glScalef (float x, float y, float z)用于缩放变换。
参数分别表示向x、y、z轴坐标值缩放x、y、z倍。大于1为扩大,小于1为缩小,例如:
gl.glTranslatef(2, 1, 0.5);//x轴坐标值扩大2倍,y轴不变,z轴缩小到0.5倍
在栈中保存当前矩阵和从栈中恢复所存矩阵,可以使用
public abstract void glPushMatrix()
public abstract void glPopMatrix()。