OpenGL ES总结(二)OpenGL坐标变换之平移及旋转

时间:2019-05-13 01:45:38下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《OpenGL ES总结(二)OpenGL坐标变换之平移及旋转》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《OpenGL ES总结(二)OpenGL坐标变换之平移及旋转》。

第一篇:OpenGL ES总结(二)OpenGL坐标变换之平移及旋转

OpenGL ES总结

(二)OpenGL坐标变

换之平移及旋转

世界坐标系:

在OpenGL中,世界坐标系是以屏幕中心为原点(0, 0, 0),且是始终不变的。你面对屏幕,你的右边是x正轴,上面是y正轴,屏幕指向你的为z正轴。长度单位这样来定:窗口范围按此单位恰好是(-1,-1)到(1,1),即屏幕左下角坐标为(-1,-1),右上角坐标为(1,1)。

当前绘图坐标系:

是绘制物体时的坐标系。程序刚初始化时,世界坐标系和当前绘图坐标系是重合的。当用glTranslatef(),glScalef(), glRotatef()等对当前绘图坐标系进行平移、伸缩、旋转变换之后,世界坐标系和当前绘图坐标系不再重合。注意,这里的平移旋转是将当前绘图坐标系看做一个整体在世界坐标系中进行旋转平移。然后,改变以后,再用glVertex3f()等绘图函数绘图时,都是在当前绘图坐标系进行绘图,所有的函数参数也都是相对当前绘图坐标系来讲的。其中四种坐标经常要在程序中用到:世界坐标,物体坐标,设备坐标和眼坐标。

1、世界坐标是OpenGL中用来描述场景的坐标,Z+轴垂直屏幕向外,X+从左到右,Y+轴从下到上,是右手笛卡尔坐标系统。我们用这个坐标系来描述物体及光源的位置。

将物体放到场景中也就是将物体平移到特定位置、旋转一定角度,这些操作就是坐标变换。OpenGL中提供了glTranslate*/glRotate*/glScale*三条坐标变换命令,利用OpenGL的矩阵运算命令,则可以实现任意复杂的坐标变换。

OpenGL中有一个坐标变换矩阵栈(ModelView),栈顶就是当前坐标变换矩阵,进入OpenGL管道的每个坐标(齐次坐标)都会先乘上这个矩阵,结果才是对应点在场景中的世界坐标。OpenGL中的坐标变换都是通过矩阵运算完成的,与图形学课本的描述完全一致。要注意的是变换中的矩阵乘法是左乘,而矩阵乘法与算术乘法不同,不符合交换律(万一不明白去看矩阵代数书好了)。

glTranslate*(x,y,z):平移,参数为各轴向的移动量。

glRotate(d,x,y,z):旋转,第一个参数为转动的度数,后三个参数表明是否绕该轴旋转。通常x,y,z中只有一个为1,其余为0,用连续几条旋转命令完成复杂旋转。由于矩阵运算的左乘特点,旋转命令的顺序与旋转动作的顺序正好相反。

2、物体坐标是以物体某一点为原点而建立的“世界坐标”,该坐标系仅对该物体适用,用来简化对物体各部分坐标的描述。物体放到场景中时,各部分经历的坐标变换相同,相对位置不变,所以可视为一个整体,与人类的思维习惯一致。

3、眼坐标是以视点为原点,以视线的方向为Z+轴正方向的坐标系中的方向。OpenGL管道会将世界坐标先变换到眼坐标,然后进行裁剪,只有在视线范围(视见体)之内的场景才会进入下一阶段的计算。同样的,有投影变换矩阵栈(Projection),栈顶矩阵就是当前投影变换矩阵,负责将场景各坐标变换到眼坐标,由所得到的结果是裁剪后的场景部分,称为裁剪坐标。前面提到过的视见体设定其实就是在建立该矩阵。

4、设备坐标:OpenGL 的重要功能之一就是将三维的世界坐标经过变换、投影等计算,最终算出它在显示设备上对应的位置,这个位置就称为设备坐标。在屏幕、打印机等设备上的坐标是二维坐标。值得一提的是,OpenGL可以只使用设备的一部分进行绘制,这个部分称为视区或视口(viewport)。投影得到的是视区内的坐标(投影坐标),从投影坐标到设备坐标的计算过程就是设备变换了。

对应代码:

package com.example.hejunlin.openglcoordinate;

import android.opengl.GLSurfaceView;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

private GLSurfaceView mSurfaceView;

@Override

protected void onCreate(Bundle savedInstanceState){

super.onCreate(savewww.xiexiebang.comlors);

colorsBuffer.position(0);

}

public void draw(GL10 gl){

gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);

gl.glEnableClientState(GL10.GL_COLOR_ARRAY);

gl.glVertexPointer(3, GL10.GL_FLOAT, 0, vertexsBuffer);

gl.glColorPointer(4, GL10.GL_FLOAT, 0, colorsBuffer);

gl.glLineWidth(9);

gl.glDrawArrays(GL10.GL_LINES, 0, vertexs.length / 3);

gl.glDisableClientState(GL10.GL_VERTEX_ARRAY);

} }

void glTranslatef(GLdouble x,GLdouble y,GLdouble z);参数说明:

x,y,z:分别指定沿x,y,z轴方向的平移分量。

重点就是沿着x,y,z轴移动。

注意在glTranslatef(x, y, z)中,当您移动的时候,您并不是相对屏幕中心移动,而是相对与当前所在的屏幕位置。

其作用就是将你绘点坐标的原点在当前原点的基础上平移一个(x,y,z)向量。

第二篇:位置与变换——平移与旋转教学设计222

位置与变换(2)——平移与旋转

教学内容:认识平移、旋转现象,课本57、58页内容 教学目的:

1、能结合实例,感知平移、旋转现象,能在方格纸上画出一个简单的图形沿水平方向、竖直方向平移后的图形。

2、在解决问题的过程中,形成初步的空间观念和方位感。

3、初步感受方向在现实生活中的作用,了解平移和旋转给生活带来的方便,进一步体会数学与生活的联系。教学重点:

1、结合实例,感知平移、旋转现象,能在方格纸上画出一个简单的图形沿水平方向、竖直方向平移后的图形。教具准备:多媒体、课件 学具准备:方格练习纸。教学过程:

一、谈话引入:

师:同学们,你们去过游乐场么? 生:去过。

师:游乐场都有什么好玩的呢? 生交流。

二、学习新知:

(一)平移与旋转现象

1、初步感知。【创设情境,激发兴趣】 师:仔细观察,你看到了什么? 师:谁来说一说?

师:这些物体是怎样运动的?【直观感受,探究新知】 师:谁能来描述一下?

师:你能根据运动方式的不同给它们分分类吗?同桌合作商量一下。

师:谁来说一说你们是怎样分的?

师:如果让你给这两种不同的运动方式起名字,你觉得叫什么合适?

师:是的,像大门、汽车、升降机、传送带的运动,(师边说边模拟运动)都是平移现象;(板 书:平移)而像排气扇、风扇等的运动,都是旋转现象。(板书:旋转)

师:刚才同学们都表现的十分出色,下面我们轻松一下,到游乐场去玩玩好吗?(课件:游乐场小朋友正在玩各种游戏)同学们看这些游戏你们玩过吗?

师:既然大家都玩过这些游戏,那你能说出他们都各在做什么运动吗?(学生看着大屏幕自由发言,说出各类游戏的名称。)

师:既然大家都玩过这些游戏,那你能说出他们都各在做什么运动吗?

2、加深认识。【实践操作,积累经验】

①师:请同学们看一看大屏幕,分别是怎么运动的?(大屏幕展示)

②师:我们生活中也有许多这样的现象,想一想哪里存在平移现象?哪里存在旋转现象呢?同桌一起找一找。

③师:老师这里有一些运动的物体,请同学们来说一说他们都是怎样运动的?

(大屏幕出示课件)生观察并回答。师:老师要增加难度了,敢于接受挑战吗?

师:通过做平移运动回座位。(生倒退着回座位,然后转身坐下,同学们很兴奋)

师:他刚才的运动中不但有平移现象,还有什么现象? ④师:现在谁来说一说什么是平移,什么是旋转? ⑤师:同桌合作,让文具盒或数学书做平移运动。

(二)图形的平移

1、师:老师这有一只小金鱼想要吃水草,请同学们帮它游到水草处好吗?

师:向左平移 7格。

师:(课件动态演示小金鱼的点的平移方向)填空。

总结规律:观察一个图形的平移过程,只需要观察该图形上的任意一个点或一部分的平移过程就可以了。

2、师出示房子、火箭的图形,请学生说出平移了几格。

三、课堂练习。【拓展应用,发展思维】

课件出示习题。生完成并交流。师讲解。(在方格纸上画图形、找棋子等)

四、小结。

师:随着时钟的旋转,我们一起度过了快乐的 40 分钟,你有什么收获?

师:同学们都说的非常好,那么关于图形的平移和旋转我们以后继续学习。

第三篇:体验图形变换的奇妙——平移和旋转活动课教学设计

平移和旋转是人教版《义务教育课程标准实验教科书》数学二年级下册第3单元图形与变换的教学内容,教学时可进行以下活动课的设计:

活动目标:

1.使学生在活动中加深对图形平移和旋转的特征的感知和体验,培养学生的观察力、想象力和动手操作能力。

2.通过活动,激发学习数学的兴趣,体验成功的快乐,培养学生合作和创新意识。

3.培养学生初步的形象思维能力和逻辑思维能力。

活动准备:

1.布置学生课外收集生活中有关平移和旋转现象的例子。并参照教材第46页、47页示意图试剪出图形。

2.活动用具:作好教科书上第129页、第133页、第135页的学具。写有记分统计表的小黑板、铅笔、彩纸、剪刀、五种颜色的牌子。

3.以分组形式摆好桌椅。

活动过程:

一、激趣引人

玩具是我们小朋友最喜欢的玩的了,现在拿出你们做好的教科书上第129页的玩具,我们跟老师一起玩,大家在玩的时候要注意观察,看看有什么现象发生。纸片上的红、黄、蓝三种颜色变成白色的了!你们知道吗,这是图形旋转形成的奇妙现象。数学就是这样神奇,今天的活动课,让我们一起去体验图形变换的奇妙吧。

二、分队发牌并介绍活动规则

1.按班级人数分5队,发五种颜色的牌并由牌的颜色给每队命名。

2.活动规则:在记分统计表上用画正字的方法统计各队的成绩。没进行答题的学生都可做裁判,老师是主裁。

三、活动内容

活动1:感知平移和旋转---举例比赛

1.各队以开火车形式进行比赛,每人各举一个生活中平移、旋转现象的例子。要求不能重复,语言叙述要严密、准确,说对一个得1分。

2.各队选一名代表,做出一个平移和一个旋转的动作。要求只能利用现场的实物,边做边说介绍。(如:我把窗户向左推是平移)做对一个得1分。

活动2:体会平移和旋转---玩学具回答问题

1.拿出作好的教科书上第133页、第135页的学具,队内合作,拉一拉,转一转。并思考共有几种搭配方案。把答案写在纸上。限时一起亮答案,按接近准确数的程度给5~1分。

2.各队选一名代表说说你们最喜欢哪一个组合?是怎样得到的?喜欢的理由是什么?根据说的情况评5~1分。

活动3:实践平移和旋转---剪纸

下面我们进入剪纸活动,老师知道你们都有一双灵巧的小手,但一定要注意安全呦。

1.上学期我们剪过对称图形,剪一个小人怎样剪又对又快呢?抢答并能演示剪出者得2分。

2.能不能用同样的方法剪出2个或更多的并排排列的小人呢?队内合作,参照教材第46页示意图剪。剪成功的展示给大家并说出方法者得3分。

3.能不能用同样的方法剪出围成一圈的小人呢?队内合作,参照教材第47页示意图剪。成功的展示给大家并得3分。

4.设计比赛:请每位同学充分发挥想象,剪出一幅最漂亮的带有平移和旋转特征的图案。我们来评选今天的小小设计家。

1)队内交流,各队先自评出本队最有创意的最佳设计图案。

2)各队轮流上台展示,由设计者介绍创作思路,队代表说推荐的理由。

3)学生评论它好在哪儿,并共同欣赏。

4)评出最佳者获小小设计家称号同时其所在的队得2分,其余队各得1分。

四、为优胜队发奖

五、总结

本节课我们通过一系列的活动,充分感知了平移和旋转的特征,体验了图形变换的奇妙,领略了数学的美。同学们的表现都非常出色,显露出了你们的智慧和才华。在活动中,我们体会到生活中处处有数学,数学就在你身边。只要我们善于观察,勤于思考,就能发现数学的魅力所在。

教学反思:数学实践活动课是新教材的特色也是亮点之一,但现实教学中,许多教师不重视它的教学,更有甚者几乎将其一带而过。这是教学上的一大失误。著名教育家李吉林说:活动是儿童的天性,是他们素质个性发展的根基。数学实践活动课有利于培养学生自主探究学习,促进学生智慧和潜能的发展。象本节课就达到了寓教于乐、启智于动的目的,让学生享受成功的喜悦。学生在活动中各显其长,各尽所能,始终保持着极高的热情。不仅加深了对平移和旋转特征的理解和掌握,而且提高了学习数学的兴趣。从教后的效果可以证明这一点。本班学生做此内容的习题时正确率为100%,并且课后又自发的继续着剪纸活动,交上来许多好的作品,我将这些作品在学校橱窗展出,收到良好的效果。本课记分表的设计,也让学生体会了统计知识的运用。所以我们教师要重视活动课,精心设计和上好活动课。

第四篇:考研数学公式总结之高等数学柱面坐标和球面坐标公式

凯程考研辅导班,中国最权威的考研辅导机构

考研数学公式总结之高等数学柱面坐标

和球面坐标公式

考研数学复习,公式是基础也是关键,高等数学中公式众多,大家要加深理解记忆。下面带着大家一起来巩固熟悉高等数学各类重要公式,下面是柱面坐标和球面坐标公式。

凯程提醒各位考生考研数学公式的记忆一定要准、牢,否则就没办法进行做题和运算。

下载OpenGL ES总结(二)OpenGL坐标变换之平移及旋转word格式文档
下载OpenGL ES总结(二)OpenGL坐标变换之平移及旋转.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐