【摘要】:通过缩放变换可以改变物体的大小,把当前矩阵与一个表示沿各个坐标轴对物体进行拉伸、收缩和反射的矩阵相乘。图5-8 缩放矩阵图在图5-8所示的缩放矩阵图中,包含了x、y和z一共3个缩放因子,分别对应x轴、y轴和z轴,缩放变换是关于原点的缩放。在下面的实例中,演示了在Android手机屏幕中实现缩放变换效果的方法。1)编写实例文件ddd.java,具体实现流程如下。
通过缩放变换可以改变物体的大小,把当前矩阵与一个表示沿各个坐标轴对物体进行拉伸、收缩和反射的矩阵相乘。缩放的矩阵就可以简单地表示为如图5-8所示。
图5-8 缩放矩阵图
在图5-8所示的缩放矩阵图中,包含了x、y和z一共3个缩放因子,分别对应x轴、y轴和z轴,缩放变换是关于原点的缩放。
在OpenGL ES中,通过方法glScalex(int x,int y,int z)和glScalef(float x,float y,float z)实现物体的缩放变换,表示把当前矩阵与一个表示沿各个轴对物体进行拉伸、收缩和放射的矩阵相乘,这个物体中的每个点的x、y和z坐标与对应的x、y和z参数相乘。
如果缩放值大于1.0它就拉伸物体;如果缩放值小于1.0它就收缩物体;如果缩放值为-1.0,它就反射这个物体。(1.0,1.0,1.0)是单位缩放值。
在下面的实例中,演示了在Android手机屏幕中实现缩放变换效果的方法。
1)编写实例文件ddd.java,具体实现流程如下。
■ 开启一个自动缩放椭球体大小的线程。
■ 分别改变椭球体的缩放值和设置椭球缩放的范围
■ 重写方法onDrawFrame(GLlo gl)以绘制椭球体。 文件ddd.java的主要代码如下。(www.xing528.com)
2)编写文件suoCH.java,在此定义绘制椭圆球的类suoCH,主要实现代码如下
执行会在屏幕中实现一个具有自动缩放功能的椭圆,效果如图5-9所示
图5-9 执行效果
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。