openGL坐标变换

发布时间:2016-12-7 22:33:38 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"openGL坐标变换",主要涉及到openGL坐标变换方面的内容,对于openGL坐标变换感兴趣的同学可以参考一下。

openGL坐标变换                                        坐标变换:OPENGL的每一种变换都是一个矩阵的运算。假设当前某顶点坐标为C,现在要做某种变换(设矩阵为M)得到新的坐标C1,那么运算过程就是C1=T×C。OpenGL应用左乘规则,坐标的变换就是用变换矩阵乘以坐标向量 OpenGL变换在编程的时候顺序是反过来的。想对目标 glutWireSphere(0.2, 10, 8);//draw earth 做R2,T,R1的变换,在写的时候就要:          glRotatef(year, 0.0, 1.0,0.0);//旋转矩阵R1         glTranslatef(2.0, 0.0, 0.0);//平移矩阵T         glRotatef(day, 0.0, 1.0, 0.0);//旋转矩阵R2          glutWireSphere(0.2, 10, 8);//draw earth  三维观察原理类似于拍一张照片的过程。(类似于red book ) 第一步是将照相机调整位置置于三角架上; 第二步是 将物体调整位置放在相机的视野当中。实际上,相机和三维物体是相对位置,相机移动位置也可以理解为物体反向移动位置,因此这两步可以理解为一步,即调整三 维物体和视点的位置,将世界坐标系下的物体变换到观察坐标系下。在计算机图形学中,定义模型矩阵(Modeling Matrix)实现了三维图形的几何变换,即平移、旋转和缩放。 第三步相机进行调焦以便看清楚物体,并按下快门将三维物体投影在二维胶片上;在计算机图形学中,定义相应的投影矩阵(ProjectionMatrix),进行投影变换,把三维物体从观察坐标系转换到投影坐标系中。 第四步是胶片的冲洗和裁剪。相应计算机图形学中,定义视口矩阵(ViewingMatrix),进行视口变换和裁剪,决定二维图象的大小。将物体从二维投影坐标系下转换到设备坐标系下。 这样,一个三维空间里的物体被投影到二维平面上了,也就能在二维的计算机屏幕上正确显示了。 屏幕坐标点 = 3D 模型点 * 几何变换栈矩阵(n...1) * 投影变换栈矩阵(n...1)OpenGL 维护两个栈: 投影变换栈, 几何变换栈。投影:glOrtho,gluPerspective--------------------glMatrixMOde(GL_PROJECTION);几何变换:glTranslatef,glRotatef,glScalef--------glMatrixMOde(GL_MODELVIEW);   http://my.sdlgame.com/content/view/336/6.html

上一篇:ASP.NET Event Validation
下一篇:VB.net中设置背景图案

相关文章

关键词: openGL坐标变换

相关评论