Android OpenGL ES 简明开发教程四:3D 坐标变换

        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()。


 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值