




免费预览已结束,剩余31页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第8章OpenGL照相机模型及变换 照相机模型模型视变换 Model viewingTransformation 投影变换 ProjectionTransformation 视口变换 ViewportTransformation 矩阵操作 MatrixOperation 矩阵堆栈 MatrixStack 例子 Sample 照相机模型 设置三角架的位置和方向摆放物体调焦或更换镜头按快门洗照片 照相机 模型 视见体 视变换设置三角架的位置和方向模型变换摆放物体投影变换调焦或更换镜头后按快门视口变换洗照片注意 人眼和相机镜头的视见体是圆锥形的 OpenGL中用的是棱台 照相机模型和变换的关系 坐标系和变换 绘制图形的步骤定义几何体 世界或物体坐标系 定义视点的位置 建立视坐标系进行投影变换 得到规范化的窗口坐标映射到视口 得到屏幕坐标每一步都用不同的变换阵 x y 世界坐标系 右手系 z 顶点 模型 视变换阵 投影变换阵 透视规范化 视口变换阵 Modelview Modelview Projection lll object eye clip NormalizedDeviceCoord window 变换流水线 模型 视变换阵 投影变换阵 PerspectiveDivision ViewportT 变换流水线 cont 变换流水线 cont 3D变换 每个顶点都是用齐次坐标表示的列向量v Mvw常取1 0 3D变换 cont 一个顶点和4x4的矩阵相乘完成一次变换矩阵采用后乘方式 相乘后可完成多个变换 M1M2M3OpenGL中的矩阵是按列存储的 指定变换阵的方式 两种方式直接指定矩阵 glLoadMatrix glMultMatrix 指定操作 glRotate glTranslate 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 GLsizeiw 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 指定模型视变换阵 例子 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 模型 视变换阵 模型变换和视变换可达到同样的效果 固定物体 移动相机固定相机 移动物体OpenGL采用模型 视变换阵 模型 视变换阵 cont 变换阵的顺序非常重要 不能颠倒glMatrixMode GL MODELVIEW glLoadIdentitiy glMultMatrixf N glMultMatrixf M v NMLvglMultMatrixf L glBegin GL POINTS v LMNvglVertex3f v glEnd 和模型 视变换阵有关的函数 glRotatef 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 left right bottom top zNear zFar gluOrtho2D left right bottom top 正投影 正投影glMatrixMode GL PROJECTION glLoadIdentity glOrtho left right bottom top zNear zFar 透视投影变换 cont glMatrixMode GL PROJECTION glLoadIdentity gluPerspective 65 0 GLfloat w GLfloat h 1 0 20 0 透视投影变换 cont glFrustum left right bottom top zNear zFar t b near far 透视投影变换 cont gluPerspective fovy aspect zNear zFar 2tg 1 h 2 near w h far near 例子 voidresize intw inth 设置视口变换glViewport 0 0 w h 设置投影变换glMatrixMode GL PROJECTION glLoadIdentity gluPerspective 65 0 w h 1 0 100 0 设置模型视变换glMatrixMode GL MODELVIEW glLoadIdentity gluLookAt 0 0 0 0 5 0 0 0 0 0 0 0 0 0 1 0 0 0 glTranslatef 0 0 0 0 5 0 效果gluLookAt 正投影的例子 voidresize intwidth intheight GLdoubleaspect width height GLdoubleleft 2 5 right 2 5 GLdoublebottom 2 5 top 2 5 glViewport 0 0 w h glMatrixMode GL PROJECTION glLoadIdentity continued 正投影的例子 cont if aspect 1 0 left aspect right aspect else bottom aspect top aspect glOrtho left right bottom top near far glMatrixMode GL MODELVIEW glLoadIdentity 投影变换演示 立体显示的原理 视差 Parallax 正视差 负视差 零视差 活动坐标系和固定坐标系 从下往上看代码 采用固定坐标系方式从上往下看代码 采用活动坐标系方式如 画个箭头 然后让箭头先绕Z轴旋转90度 再沿X轴平移10米 glTranslatef 10 0 0 0 0 0 glRotatef 90 0 0 0 1 glBegin GL POLYGON DrawArrow glEnd 矩阵堆栈 组合变换 例1 画汽车例2 太阳系星体的显示例3 级联的物体 如 机械手等 矩阵堆栈 cont 32个4x4模型视变换堆栈2个4x4投影堆栈glPushMatrix 记住原来的位置glPopMatrix 回到原来的位置 例1 画汽车 DrawCarBody glPushMatrix 记住车身的位置glTranslatef 40 0 30 drawFirstWheel 画右前车轮glPopMatrix 回到车身的位置glPushMatrix 记住车身的位置glTranslatef 40 0 30 drawSecondWheel 画右后车轮glPopMatrix 回到车身的位置 例2 太阳系1 auxSolidSphere 0 8 sunglPushMatrix glRotatef GLfloat year 0 0 1 0 0 0 glTranslatef 2 5 0 0 0 0 glRotatef GLfloat day 0 0 1 0 0 0 auxSolidSphere 0 1 earthglPopMatrix glPushMatrix glRotatef GLfloat year 0 0 1 0 0 0 glTranslatef 0 5 0 0 0 0 glRotatef GLfloat day 0 0 1 0 0 0 auxSolidSphere 0 05 MarsglPopMatrix 例2 太阳系2 auxSolidSphere 0 8 sunglPushMatrix glRotatef GLfloat year 0 0 1 0 0 0 glTranslatef 2 5 0 0 0 0 glRotatef GLfloat day 0 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025江西职业技术大学高层次人才招聘51人模拟试卷有完整答案详解
- 2025河南郑州航空港投资集团面向社会招聘25名考前自测高频考点模拟试题有答案详解
- 2025中心医院支持技术撤离指征考核
- 2025中心医院常规石蜡切片技术考核
- 2025江苏无锡市滨湖区卫生健康系统事业单位招聘高端、紧缺性人才14人(长期)考前自测高频考点模拟试题附答案详解(突破训练)
- 2025黑龙江伊春市铁力市招聘城市社区工作者笔试考前自测高频考点模拟试题及一套答案详解
- 2025广东深圳市特区建工招聘考前自测高频考点模拟试题及参考答案详解1套
- 2025人民医院内镜中心SOP文件编写与修订能力评估
- 2025江苏苏州市相城区教育系统招聘教师30人模拟试卷及答案详解(名师系列)
- 2025广东佛山市季华中学招聘编制教师2人考前自测高频考点模拟试题及答案详解(典优)
- 五粮液笔试考试题及答案
- 2025年河北省公需课《双碳目标下绿色能源转型趋势》答案
- 《针刺伤预防与处理》团体标准解读与实践
- 8.1 走进人工智能 课件 2024-2025学年浙教版(2023)初中信息技术八年级下册
- 销售合同法律风险分析-全面剖析
- 鄂尔多斯盆地地质特征与沉积模式分析
- 2025中美关税战时政述评-初中《道法》25年时政述评课件
- 鼻部解剖结构及其临床表现
- 2025年股东退股权益申请协议书范例
- 小学生乘坐飞机安全
- 机耕路施工方案与技术措施
评论
0/150
提交评论