河南理工大学 计算机学院 徐文鹏 教学博客http:// Opengl.cnblogs.com

Slides:



Advertisements
Similar presentations
第二十九章 医学原虫 一、教学目的 熟悉:溶组织内阿米巴、阴道毛滴虫的生活史、致病 性、实验诊断与防治原则;间日疟原虫的生活史。 应用:疟疾的发作、复发、再燃及凶险型疟疾的发生 机制和临床表现;疟原虫的实验诊断与防治原则。 了解 : 溶组织内阿米巴、阴道毛滴虫、间日疟原虫的 红內期形态。 二、教学方法.
Advertisements

精品课程 二、微分运算法则 三、微分在近似计算中的应用 四、微分在估计误差中的应用 第二节 一、微分的概念 函数的微分.
群体性心因性反应 英德市疾病预防控制中心 孙蕊蕊 2010 年 11 月. 一、何谓群体性心因性反应  群体性心因性反应:又称群发性癔症,是一 种精神或心理因素引起的的一种在临床上只 有精神或神经系统症状为主,而没有任何可 以检出的器质性病变。意识不丧失,易受心 理暗示影响,使病情加重或减轻。
素问 太阴阳明论 医学院 中医系 教师: 郭煜晖. 题 解 本篇讨论了足太阴脾、足阳明胃的生理功能、 病理变化,以及脾胃的相互关系。 故名: “ 太阴阳明论 ” 。
周围型肺癌 CT 征象 分 析 攀钢密地医院放射科. 周围型肺癌: 系指发生于段及 段支气管以远的肺癌,约占原发性 支气管肺癌的 1/4 ,以腺癌多见。 其发病主要和以下因素有关:吸烟、 职业致癌因子、空气污染、电离辐 射、饮食与营养等。值得注意的是, 美国癌症学会将结核列为肺癌发病 因素之一。尤其是结核瘢痕者,男.
第四节 关 格 第四节 关 格 医科大学附属中医医院外科教研室 高昌杰 病 名 关格首载于《内经》,或指脉象或言 病机。《伤寒论》将小便不通和吐逆 为主症者称为关格。巢元方等则以大 小便俱不通为关格。至南宋时期,张 锐综合仲景与巢氏之说,提出关格病 上有吐逆,下有大小便不通。近代对 本病的认识逐渐统一于仲景,故本书.
结合实际解读藏獒标准 中国畜牧业协会犬业分会副主任 —— 张晓峰. 行业流行语 它的超群毛量震惊世人,高耸的头峰、丰密的 被毛、饱满的臀部饰毛以及飘逸的腿部绯毛皆 展露绝难匹敌的品质,骨量亦是不俗,一见难 忘,感受视觉上的无限震撼! 它拥有一副业界罕见的绝佳头版,方正之余又 不失圆浑饱满,超低的发毛点仿若起于那短方.
医科大学附属中医医院内科教研室. 一、腰痛定义 二、腰痛历史沿革 三、腰痛病因病机 四、腰痛范围 五、腰痛诊断 六、辨证要点 七、治疗原则 八、分型论治 九、其他疗法 十、复习思考题 十一、临床病案.
肺癌. 概述 w 定义  肺癌或称支气管肺癌,是由于正气内虚, 邪毒外侵,痰浊内聚,气滞血瘀, 阻结于 肺,肺失肃降所致,以咳嗽、咯血、胸 痛发热、气急为主要临床表现的肺部恶 性肿瘤。
女职工生育保险津贴申领发放方式 的调整 津社保[ 2015 ] 60 号.  为进一步简化女职工生育津贴申领发放程序, 提高服务效能,按照津社保[ 2015 ] 60 号文 件要求,自 2016 年 1 月 1 日起将对生育津贴的 申报和发放方式作如下调整:
医疗事故处理法律制度 ——概 述 张华.
课题1 金属材料 图8-1 东汉晚期的青铜奔马 图8-2 河北沧州的铁狮子.
资源平台应用培训 武汉市交通学校信息化建设指导委员会.
探究实验的教学设计和教学策略 ENTER 余杭勾庄中学 郭 琳
小学科学中的化学 武威十九中 刘玉香.
泌尿外科疾病病人的护理 泸医附院外科 杨昌美.
神州五号、六号的发射和回收都取得了成功 ,圆了几代中国人的航天梦,让全中国人为之骄傲和自豪 神州五号、六号的发射和回收都取得了成功 ,圆了几代中国人的航天梦,让全中国人为之骄傲和自豪!但是你们知道我们的科学家是怎样迅速地找到返回舱着陆的位置的吗? 这全依赖于GPS——卫星全球定位系统”。大家一定觉得很神奇吧!学习了今天的内容,你就会明白其中的奥妙。
这是一个数字的 乐园 这里埋藏着丰富的 宝藏 请跟我一起走进数学的 殿堂.
高等数学绪论 一、《高等数学》学什么? 二、《高等数学》培养学生那些能力? 三、如何考硕士研究生? 四、全国大学生数学建模竞赛是怎么回事?
第 11 章 溫度與理想氣體.
104年度國立宜蘭大學新進主管研討 主計業務宣導說明
102年實施之高中職及五專多元入學(含免試入學)之招生機制
读者与图书馆 2009年春季版 总第 15 期 山 东 交 通 学 院 图 书 馆 2009年3月.
医疗纠纷的 防范和处理 医务部 林星方.
腹部损伤病人的护理.
自傳 82410陳信宏.
积 聚 三峡大学医学院中医系 陈良金.
骨与关节感染病人的护理 护理系外科教研室 岑晓勇.
人际交往与医患沟通 ——卫生法律基础 山东大学口腔医学院 石海英
第四讲:创新思维方式 一、创新思维的方法 二、禁锢创新的心理状态及其排除方法 主讲:黄伟雄教授.
中学生普法教育.
2012级暑期放假安全教育 及宿舍搬迁工作布置会 北京化工大学理学院 辅导员:曹鼎 2013年6月6日.
绪论课: 物理学和人类文明.
便秘的诊断及治疗原则.
不治已病治未病 宋汉秋 焦作市中医院.
腰痛的针灸治疗 渤海镇卫生院 金永坤.
第十章 诉讼时效、除斥期间与期限.
危害辨識、分析講解及實作演練.
肝损伤 中国医科大学附属盛京医院 林 艳.
肺部大叶性肺炎 平山县人民医院影像科 康军.
痴呆 龙华医院 顾耘.
第6节 眼和视觉 【学习目标】 1、了解什么是凸透镜,什么是凹透镜,了解透镜的焦点、焦距。 2、了解凸透镜和凹透镜对光的作用
颈 椎 病 上海交通大学医学院附属瑞金医院 伤科.
肺结核.
经行头痛 中医妇科学教研室.
医疗纠纷原因分析和防范 医务科 张海良.
1.1.2 四 种 命 题.
人类传播的活动 和历史.
第六章 补间动画 主讲人:马 震 人民邮电出版社.
物質的變化 陳弦希製作.
2015年云南财经大学图书馆 新生入馆教育考核试题 答题指南
铜仁职业技术学院 第二十三讲 腹部损伤 铜仁职院医学院 杜开南.
急腹症相关CT解剖 天铁医院放射中心 王献忠.
哈尔滨市卫生统计 工作会议 哈尔滨市卫生局统计信息中心 2012年12月.
空間向量 朱泰吉 蔡宇翔 張力夫 莊孟霏.
课标教材下教研工作的 实践与思考 山东临沂市教育科学研究中心 郭允远.
第八章二元一次方程组 8.3实际问题与二元一次方程组.
苏教版小学数学六年级(下册) 认识正比例的量 执教者:朱勤.
第八章二元一次方程组 8.3实际问题与二元一次方程组 (第3课时).
农村地区常见非法行医 的调查处理 医疗卫生机构监管二处·陈罡
“落地”问题的探讨 计算思维能力培养 西安交通大学 2012 年全国高等院校计算机基础教育研究会学术年会 冯博琴 ”
消化系统测试病例 昆明医学院第一附属医院医学影像专业.
马克思主义基本原理概论 第三章 人类社会及其发展规律.
急腹症相关CT解剖 天铁医院放射中心 王献忠.
CT在消化道穿孔的应用 成都军区昆明总医院 普通外科 李朝
101年度經費結報說明 會計室 黃玉露.
OpenGL几何变换程序.
3 平抛运动 四川省绵阳第一中学 杨绅文.
統計網路學習館 線性迴歸.
地基附加应力之二——布辛奈斯克解 布辛奈斯克解:竖向集中力P作用下的地基附加应力 竖向集中力作用下的地基应力 P O r y b M´ x
Presentation transcript:

河南理工大学 计算机学院 徐文鹏 wpxu@hpu.edu.cn 教学博客http:// Opengl.cnblogs.com 计算机图形学 河南理工大学 计算机学院 徐文鹏 wpxu@hpu.edu.cn 教学博客http:// Opengl.cnblogs.com

问题的提出 组合场景 16:57

问题的提出 雪花的构造 16:57

问题的提出 构造三维场景 16:57

问题的提出 在计算机动画中,在相邻帧图像中,几个对象相对彼此 的位置进行移动 16:57

一般变换 所谓变换就是把点映射到其它点,把向量映射到其它向量 16:57

平移 把一个点移到新的位置 平移由一个向量d确定 三个自由度 P’= P + d 16:57

对象的平移 把一个对象上的所有点沿同一向量平移 对象 平移后的对象 16:57

平移的表示 平移变换:将p点从一个坐标位置移到另一个坐标位置的过程. 新点坐标? 16:57

平移的表示 向量表示: 16:57

旋转 16:57

将p点绕坐标原点转动某个角度(逆时针为正,顺时针为负)得到新的点p’的过程 旋转变换 将p点绕坐标原点转动某个角度(逆时针为正,顺时针为负)得到新的点p’的过程 16:57

旋转变换表示 向量表示: 16:57

旋转变换表示 向量表示: 顺时针旋转θ角? 16:57

齐次坐标 1. 平移变换: tx,ty称为平移参数 16:57

齐次坐标 2. 旋转变换: 逆时针旋转θ角 齐次坐标 16:57

齐次坐标 齐次坐标的作用 齐次坐标表示法是由n+1维向量表示一个n维向量。 如:n维向量(P1,P2, … ,Pn)表示为(hP1,hP2,hPn,h),其中h称为哑坐标。 普通坐标与齐次坐标的关系为“一对多” 由普通坐标h→齐次坐标 由齐次坐标÷h→普通坐标 如:普通坐标(2,3)→齐次坐标 (4,6,2), (6,9,3) 当h=1时产生的齐次坐标称为“规格化坐标”,因为前n个坐标就是普通坐标系下的n维坐标。 齐次坐标的作用 16:57

齐次坐标 齐次坐标是所有计算机图形系统的关键 将各种变换用阶数统一的矩阵来表示。提供了用矩阵运算把二维、三维甚至高维空间上的一个点从一个坐标系变换到另一坐标系的有效方法。 便于变换合成, 以利于硬件实现 几何意义? 16:57

齐次坐标 齐次坐标 (x,y)点对应的齐次坐标为 齐次坐标为三维空间的一条直线 16:57

放缩 沿每个坐标轴伸展或收缩(原点为不动点) 16:57

对p点相对于坐标原点沿x方向放缩Sx倍,沿y方向放缩Sy倍。其中Sx和Sy称为比例系数。 放缩变换 对p点相对于坐标原点沿x方向放缩Sx倍,沿y方向放缩Sy倍。其中Sx和Sy称为比例系数。 16:57

错切变换 用于产生弹性物体的变形处理。在游戏中用它扭曲整个场景,产生虚幻效果. 16:57

错切变换 (1)沿x方向错切 每一点的y坐标不变,x坐标平移一个y坐标的线性量. 16:57

错切变换 (2)沿y方向错切 每一点的x坐标不变,y坐标平移一个x坐标的线性量. 16:57

仿射变换 平移、比例、旋转、错切和反射等变换均是二维仿射变换的特例 仿射变换具有平行线不变性和有限点数目的不变性 16:57

二. 复合变换 基本变换 任何一复杂的几何变换都可以看作基本几何变换的组合形式。 复合变换具有形式: 16:57

二. 复合变换 1. 二维复合平移 两个连续平移是加性的 16:57

二. 复合变换 2. 二维复合比例 连续放缩变换是相乘的 3. 二维复合旋转 连续旋转变换是相加的 16:57

二. 复合变换 4. 相对任一参考点的二维几何变换 思路? 例. 相对点O’的旋转变换 相对某个参考点O’作二维几何变换,其变换过程为: 4. 相对任一参考点的二维几何变换 例. 相对点O’的旋转变换 思路? 相对某个参考点O’作二维几何变换,其变换过程为: (1) 平移 (2) 对原点进行几何变换 (3) 反平移 16:57

二. 复合变换 5. 相对任意方向的二维几何变换 例. 相对直线l的反射变换 相对任意方向作二维几何变换,其变换的过程是: (1) 旋转变换 5. 相对任意方向的二维几何变换 例. 相对直线l的反射变换 相对任意方向作二维几何变换,其变换的过程是: (1) 旋转变换 (2) 针对坐标轴进行二维几何变换; (3) 反向旋转 16:57

二. 复合变换 例. 将正方形ABCO各点沿图6-8所示的(0,0)→(1,1)方向进行拉伸,结果为如图所示的,写出其变换矩阵和变换过程。 需要验证下为好,拉伸是错切还是放大,2010-10-11 16:57

二. 复合变换 Example: 16:57

一.3D基本几何变换 三维基本几何变换都是相对于坐标原点和坐标轴进行的几何变换 假设三维形体变换前一点为p(x,y,z),变换后为p'(x',y',z')。 16:57

一.3D基本几何变换 1. 平移变换 16:57

一.3D基本几何变换 2. 旋转变换 16:57

一.3D基本几何变换 (1)绕z轴旋转 16:57

一.3D基本几何变换 (2)绕x轴旋转 16:57

一.3D基本几何变换 (3)绕y轴旋转 Flash演示 16:57

一.3D基本几何变换 3. 放缩变换 16:57

一.3D基本几何变换 例:对如图7-6所示的长方形体进行放缩变换,其中Sx=1/2,Sy=1/3,Sz=1/2,求变换后的长方形体各点坐标。 16:57

二.3D复合变换 三维复合变换是指图形作一次以上的基本变换,变换结果是基本变换矩阵相乘。 16:57

二.3D复合变换 1. 相对任一参考点的三维变换 相对于参考点F(xf,yf,zf)作比例、旋转、错切等变换的过程分为以下三步: 1. 相对任一参考点的三维变换 相对于参考点F(xf,yf,zf)作比例、旋转、错切等变换的过程分为以下三步: (1)将参考点F移至坐标原点 (2)针对原点进行三维几何变换 (3)进行反平移 16:57

二.3D复合变换 例:相对于F(xf,yf,zf)点进行放缩变换 16:57

二.3D复合变换 AB与Z轴重合 2. 绕任意轴的三维旋转变换 问题:如何求出TRAB? 向基本变换转化 16:57

二.3D复合变换 下一步? (1) 将A点平移到坐标原点 16:57

欲使OB绕x轴旋转至xoz坐标平面内,旋转角度应为 ,原因是 . 二.3D复合变换 欲使OB绕x轴旋转至xoz坐标平面内,旋转角度应为 ,原因是 . 16:57

(2) 将OB绕x轴逆时针旋转α角,则OB旋转到xoz平面上, a, b, c 已知 二.3D复合变换 (2) 将OB绕x轴逆时针旋转α角,则OB旋转到xoz平面上, a, b, c 已知 α=? 若绕z轴, α? 16:57

(3) 将OB绕y轴顺时针旋转β角,则OB旋转到z轴上 二.3D复合变换 (3) 将OB绕y轴顺时针旋转β角,则OB旋转到z轴上 β =? 16:57

二.3D复合变换 (4) 经以上三步变换后,AB轴与z'轴重合,此时绕AB轴的旋转转换为绕z轴的旋转。 (5) 最后,求TtA,TRx,TRy的逆变换,回到AB原来的位置。 16:57

二.3D复合变换 针对任意方向轴的变换可用五个步骤来完成: (1)平移:使任意方向轴起点与坐标原点重合 (2)旋转:使方向轴与某一坐标轴重合,变换可能不止一次 (3)针对该坐标轴完成所需变换 (4)逆旋转:使方向轴回到其原始方向 (5)逆平移:使方向轴回到其原始位置。 16:57

OpenGL旋转、平移、放缩 上载单位阵: glLoadIdentity(); 在右边相乘: glRotatef(theta, vx, vy, vz); theta以角度为单位,(vx,vy,vz)定义旋转轴 glTranslatef(dx, dy, dz); glScalef(sx, sy, sz); 每个函数的参数还可以是d(double)类型 16:57

示例 固定点为(1.0, 2.0, 3.0), 绕z轴旋转30° !!在程序中最后指定的矩阵是最先被执行的操作 glMatrixMode(GL_MODEL_VIEW); glLoadIdentity(); glTranslated(1.0, 2.0, 3.0); glRotated(30.0,0.0,0.0,1.0); glTranslated(-1.0,-2.0,-3.0); !!在程序中最后指定的矩阵是最先被执行的操作 16:57

变换的应用 例如:应用空闲函数旋转立方体,鼠标函数改变旋转的方向 从一个画立方体的程序开始(cube.c) 立方体中心在原点 各方向与坐标轴平行 16:57

OpenGL中的矩阵 在OpenGL中矩阵是状态的一部分 有三种类型 用于操作的单组函数 选择所操作的对象 模型视图(GL_MODELVIEW) 投影(GL_PROJECTION) 纹理(GL_TEXTURE) 用于操作的单组函数 选择所操作的对象 glMatrixMode(GL_MODEL_VIEW); glMatixMode(GL_PROJECTION); 16:57

当前变换矩阵(CTM) 从概念上说,当前变换矩阵(CTM)就是一个4x4阶的齐次坐标矩阵,它是状态的一部分,被应用到经过流水线中的所有顶点 16:57

CTM运算 CTM可以被改变,改变的方法是上载一个新的 CTM或者右乘一个矩阵 上载单位阵:C ← I 上载任意矩阵:C ←M 上载一个旋转矩阵:C ←R 上载一个放缩矩阵:C ← S 右乘任意矩阵:C ←CM 右乘一个平移矩阵:C ←CT 右乘一个旋转矩阵:C ←CR 右乘一个放缩矩阵:C ←CS 16:57

绕固定点的旋转 从单位阵开始:C ← I 把固定点移到原点:C ← CT−1 旋转:C ← CR 把固定点移回到原处:C ← CT 结果:C = T−1RT 其中每个运算对应于程序中的一个函数调用 !!在程序中最后指定的运算是最先被执行的运算 16:57

在OpenGL中的CTM 在OpenGL的流水线中有一个模型视图矩阵和一个投影矩阵,这两个矩阵复合在一起构成CTM 可以通过首先设置正确的矩阵模式处理每个矩阵 16:57

任意矩阵 可以上载应用程序中定义的矩阵,或者使之与CTM相乘 glLoadMatrixf(m) glMultMatrixf(m) 矩阵m是有16个元素的一维数组,其按列定义了4x4矩阵 在glMultMatrixf(m)中m乘在已有乘法的右边 16:57

矩阵堆栈 许多情况中需要保存变换矩阵,待稍后再用 OpenGL为每种类型的矩阵维持一个堆栈 glPushMatrix() 遍历层次数据结构 当执行显示列表时避免状态改变 OpenGL为每种类型的矩阵维持一个堆栈 应用下述函数处理矩阵堆栈(也是由 glMatrixMode设置矩阵类型) glPushMatrix() glPopMatrix() 16:57

读入后台矩阵 OpenGL状态中有些信息是以矩阵形式保存的 可以利用查询函数读入矩阵(以及其它部分的 状态) 例如,对于CTM: glGetIntegerv glGetFloatv glGetBooleanv glGetDoublev 例如,对于CTM: double m[16]; glGetDoublev(GL_MODELVIEW,m); 16:57