OpenGL照相机模型及变换.ppt

OpenGL照相机模型及变换.ppt

ID:52412409

大小:445.50 KB

页数:36页

时间:2020-04-05

OpenGL照相机模型及变换.ppt_第1页
OpenGL照相机模型及变换.ppt_第2页
OpenGL照相机模型及变换.ppt_第3页
OpenGL照相机模型及变换.ppt_第4页
OpenGL照相机模型及变换.ppt_第5页
资源描述:

《OpenGL照相机模型及变换.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第8章OpenGL照相机模型及变换照相机模型模型视变换(Model-viewingTransformation)投影变换(ProjectionTransformation)视口变换(ViewportTransformation)矩阵操作(MatrixOperation)矩阵堆栈(MatrixStack)例子(Sample)照相机模型设置三角架的位置和方向摆放物体调焦或更换镜头按快门洗照片照相机模型视见体视变换设置三角架的位置和方向模型变换摆放物体投影变换调焦或更换镜头后按快门视口变换洗照片注意:人眼和相

2、机镜头的视见体是圆锥形的,OpenGL中用的是棱台照相机模型和变换的关系坐标系和变换绘制图形的步骤定义几何体(世界或物体坐标系)定义视点的位置,建立视坐标系进行投影变换,得到规范化的窗口坐标映射到视口,得到屏幕坐标每一步都用不同的变换阵xy世界坐标系(右手系)z顶点模型-视变换阵投影变换阵透视规范化视口变换阵ModelviewModelviewProjectionlllobjecteyeclipNormalizedDeviceCoordwindow变换流水线CPUDLPoly.PerVertexRast

3、erFragFBPixelTexture模型-视变换阵投影变换阵PerspectiveDivisionViewportT变换流水线(cont.)变换流水线(cont.)3D变换每个顶点都是用齐次坐标表示的列向量v’=Mvw常取1.03D变换(cont.)一个顶点和4x4的矩阵相乘完成一次变换矩阵采用后乘方式,相乘后可完成多个变换:M1M2M3OpenGL中的矩阵是按列存储的指定变换阵的方式两种方式直接指定矩阵(glLoadMatrix,glMultMatrix)指定操作(glRotate,glTrans

4、late,glOrtho)其他函数:glLoadIdentity()glMatrixMode(mode)GL_MODELVIEW,GL_PROJECTIONetc.指定变换阵(con.)载入矩阵glLoadMatrix(M[16])(以列为主)M=矩阵相乘glMultMatrix(M[16])C=CM指定旋转阵glRotatef(θ,x,y,z)指定变换阵(con.)指定平移阵glTranslatef(x,y,z)指定缩放阵glScalef(x,y,z)例子voidCALLBACKmyReshape(G

5、Lsizeiw,GLsizeih){glViewport(0,0,w,h);//指定视口glMatrixMode(GL_PROJECTION);glLoadIdentity();//指定一个单位阵gluPerspective(65.0,(GLfloat)w/(GLfloat)h,1.0,20.0);//指定透视投影变换阵glMatrixMode(GL_MODELVIEW);glLoadIdentity();//指定一个单位阵glTranslatef(0.0,0.0,-15.0);//指定模型视变换阵}例

6、子(cont.)voidCALLBACKdisplay(void){glClear(GL_COLOR_BUFFER_BIT);glColor3f(0.0,1.0,1.0);(GLfloat)shoulder=9.0;glPushMatrix();glTranslatef(-0.5,0.0,0.0);glRotatef(shoulder,1.0,1.0,1.0);glTranslatef(1.0,0.0,0.0);auxWireBox(2.0,0.2,0.5);glPopMatrix();glFlush(

7、);}模型-视变换阵模型变换和视变换可达到同样的效果.固定物体、移动相机固定相机、移动物体OpenGL采用模型-视变换阵模型-视变换阵(cont.)变换阵的顺序非常重要,不能颠倒glMatrixMode(GL_MODELVIEW);glLoadIdentitiy();glMultMatrixf(N);glMultMatrixf(M);v’=NMLvglMultMatrixf(L);glBegin(GL_POINTS);v’=LMNvglVertex3f(v);glEnd();和模型-视变换阵有关的函数g

8、lRotatef(θ,x,y,z)glTranslatef(x,y,z)glScalef(x,y,z)gluLookAt(eyex,eyey,eyez,aimx,aimy,aimz,upx,upy,upz)模型-视变换的演示投影变换视见体透视投影函数gluPerspective(fovy,aspect,zNear,zFar)glFrustum(left,right,bottom,top,zNear,zFar)正交平行投影glOrtho(le

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。