OpenGL几何变换程序.

Slides:



Advertisements
Similar presentations
颐高集团项目中心 海亮地产开发模式研究报告. 目 录 目 录 第四部分:海亮地产高周转模式执行 第二部分:海亮地产高周转模式原因 第三部分:海亮地产高周转模式内涵 第一部分:海亮地产企业背景 第五部分:海亮地产高周转支撑体系.
Advertisements

WHAT IS 规律探究 模式 FROM 智 慧 鸟 小 组. 特 点特 点信息技术的应用 流 程 评 价 汇 报 流 程汇 报 流 程.
喜迎 G20 中国 CONTENTS 目 录目 录 1 中国美食 2 中国守护神 美食美食,顾名思义就是美味的食 物,贵的有山珍海味,便宜的 有街边小吃。但是不是所有人 对美食的标准都是一样的,其 实美食是不分贵贱的,只要是 自己喜欢的,就可以称之为美 食。吃前有期待、吃后有回味 的东西。美食遭遇心情的时候,
庄子思想 天地与我并生 万物与我为一 形而上的本体观念 法则、规范、不可思议之事. 庄子作品 极富想象力和浪漫色彩,擅用寓(寄托)言,《史 记》载: “ 其著书十余万言,大抵率寓言也 ” 。 又称《南华经》、《南华真经》 内篇 7 ,外篇 15 ,杂篇 11 《庄子》内容 《逍遥游》《齐物论》《养生主》《人间世》
学分制改革为大学英语教学带来的 挑战与机遇 —— 武汉科技大学交流报告. Contents 武汉科技大学外国语学院简介 一 四 我校学分制改革后大学英语教学改革探索 二 学分制改革为大学英语教学带来的挑战 三 学分制改革为大学英语教学带来的机遇.
因为爱,我们让研修果实更香甜 ——阜阳市临泉县小语1班第三期简报 编辑 葛泽付.
甘肃小吃 文产二班 陶方 羊肉泡 牛肉面 暖锅.
妇产科2015年上半年 工作总结 汇报人:.
励行“三严三实” 争做新时期“好干部” 专题教育党课 国电内蒙古东胜热电有限公司张殿福 2015年6月.
考点作文十大夺魁技法 第28课时 写作(二) 考点作文十大夺魁技法 6-10 ·新课标.
目 录 探索社会力量参与矛盾化解新模式 创新背景 主要做法 创新亮点 取得成效 杭州市信访局(“12345”)
34 府学胡同的文天祥祠,相传是南宋民族英雄文天祥当年遭囚禁和就义的地方,1376年明洪武九年建祠 。
周刊 总第38期 2013年6月1日 本期编辑:翁茜茜 温州滨海学校教科室主办
舊石器時代 位置: 亞洲大陸東緣,西太平洋弧狀列島一部份 背景 形成: 兩千多萬年前逐漸隆起,形成島嶼 生物: 大角鹿、猛瑪象、亞洲大陸原始人 臺東 長濱文化 苗栗 網形文化 臺南 左鎮人目前臺灣發現最早人類化石 代表 文化 1.住在海邊洞穴-短期定居小型隊群 2.以採集、狩獵為生 3.使用礫石砍伐器、片器、尖器.
先秦诸子的性情人生 “语文教材微专题系列研究”之一 复旦附中 李郦.
系统简介 理财顾问 业务 是基于通信平台的技术优势,整合《理财周刊》、第一理财网、乾隆集团等合作伙伴提供的理财产品内容和权威的理财专家资源,以集中式呼叫中心为主的服务方式,让普通百姓可以享受到快捷、全面、专业、权威的资讯及投资理财的服务平台。
绿水 青山 金山 银山 汇报人:哔哔哔哔.
川信·中国奥园优债集合 资金信托计划1号 华南片区投资银行一部 2016年5月.
詞彙—物品01 下擺 千斤頂 叉子 口紅 口袋 口罩 大哥大 小椅子 工具 下跤裾 衫仔裾 千斤秤 攕仔 胭脂 橐袋仔 褲袋仔 喙掩 手機仔
高考文言文的整体阅读.
生物化学与养生 化学三班 张震.
深入贯彻党的十七届四中全会精神 切实提高全区组织工作科学化水平
職業災害調查及善後處理.
宦官那些事儿 宦官那些事儿 主讲:小学部李永善 主讲:小学部李永善.
一张图读懂 创新现状 互联网+电影产业商业模式.
持久性有机污染物统计报表制度 实施方案 环境保护部污染防治司 2015年4月.
年度工作总结PPT模板.
电视教育课 【5】 小学生行为习惯养成教育.
关注教师、学生的应用体验 营造实用、高效的数字校园生态环境
资源的跨区域调配—— 西气东输 山东省东营市第一中学 周琳.
河南理工大学 计算机学院 徐文鹏 教学博客 Opengl.cnblogs.com
2006年台灣醫學中心大搜查 聰明病人 完全就醫指南.
中交天津航道局有限公司 党委工作部 陈晓敏 2012年11月5日
第 10 章 Linux的图形编程.
宁波爱地房产市场年报 郊五区
2016年6月.
统计从业资格考试培训 主讲:张良.
逃出生天游戏介绍 胡永泽 高振卓 答辩人:.
解读《全国文化市场技术与服务平台应用规范》
升學應選擇符合自己性向、興趣或能力的學校就 讀,有五專、高職、高中、綜合高中或進修學校, 可要多花些時間了解一下哦!
项目办公室.
28 唯一的听众 九年制义务教育课本第十册 Contents 作者:落雪.
计算机图形学 讲 授:董兰芳 研究方向:科学计算可视化 图形、图像处理 模式识别 中国科学技术大学 视觉计算与可视化实验室
初二英语写作课 课件 福建省闽清县第一中 王国豪
OpenGL常见问题.
OpenGL (7) 靜宜大學資工系 蔡奇偉 副教授
Viewing 靜宜大學資工系 蔡奇偉 副教授
Chapter 10 Three-Dimensional Viewing (三维观察)
OpenGL使用简介.
纹理映射.
Introduction to OpenGL (2)
第四章 图元的属性 曾智勇 软件学院.
PROGRAM 6 Earth E. Angel.
第6章 图形几何变换.
Chapter 5 Attributes of Output Primitives (图元的属性)
新个人所得税 相关政策解读.
行政管理者 的素质要求 中南大学湘雅医院 李远斌
Module - pyopengl 應用於2d,3d圖形繪製.
汕头大学医学院附属肿瘤医院 医务科 药学部 2014年12月
3D Game Programming Projection
GLUT 事件處理函式 靜宜大學資管系 蔡奇偉 副教授
音乐1 工作坊 学习简报 (第1期) 音乐1坊主: 胡真真 2016年5月.
PROGRAM 7 SQUARE E. Angel.
OpenGL 基础 计算机科学与技术系.
OpenGL渲染管道与投影变换.
品質管理與實習 : MIL-STD-105E 何正斌 國立屏東科技大學工業管理學系.
有理数的乘方(二).
光照模型 计算机科学与技术系.
PROGRAM 1 Simple E. Angel, Interactive Computer Graphics A Top-Down Approach with OpenGL, Third Edition Addison-Wesley Longman, 2003.
教師檔案系統資料如何填寫? 如何對應教師評鑑共同基準?.
Presentation transcript:

OpenGL几何变换程序

void glMatrixMode(Glenum mode); //指定当前堆栈。Mode的可 取值:GL_MODELVIEW, GL_PROJECTION, GL_TEXTURE void glLoadIdentity(void) ; //变换矩阵初始化 void glTranslatef(GLfloat x, GLfloat y, GLfloat z); void glTranslated(GLdouble x, GLdouble y, GLdouble z); void glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z); void glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z); void glScalef}(GLfloat x, GLfloat y, GLfloat z); void glScaled}(GLdouble x, GLdouble y, GLdouble z);

OpenGL的通用变换函数 General-Purpose Transformation Commands glMatrixMode() glLoadIdentity() glTranslate*() glScale*() glRotate *() glLoadMatrix*() glMultMatrix*() glPushMatrix() glPopMatrix()

glLoadMatrix*() void glLoadMatrix{fd}(const TYPE *m); 指定某特定的矩阵为当前矩阵 例如: glFloat m[]={m1,m2,…m15,m16}; glLoadMatrix(m)

glMultMatrix*() void glMultMatrix{fd}(const TYPE *m); 用当前矩阵乘以其所指定的矩阵,结果作为当前矩阵。既C=CM。 m为一个单精度或双精度浮点数指针,指向一个按列存储的44矩阵

glPushMatrix() void glPushMatrix(void); Pushes all matrices in the current stack down one level. The current stack is determined by glMatrixMode(). The topmost matrix is copied, so its contents are duplicated in both the top and second-from-the-top matrix. If too many matrices are pushed, an error is generated.

glPopMatrix() void glPopMatrix(void); Pops the top matrix off the stack. What was the second-from-the-top matrix becomes the top matrix. The current stack is determined by glMatrixMode(). The contents of the topmost matrix are destroyed. If the stack contains a single matrix, calling glPopMatrix() generates an error.

3D变换的实例 void DrawTetra() { glBegin(GL_TRIANGLES); glColor3f(1.0, 0.0, 0.0); glVertex3f(1.0, 0.0, 0.0); glVertex3f(0.0, 1.0, 0.0); glVertex3f(0.0, 0.0, 1.0); glColor3f(0.0, 1.0, 0.0); glVertex3f(0.0, 0.0, 0.0); glColor3f(1.0, 0.0, 1.0); glColor3f(0.5, 0.5, 0.5); glEnd(); }

3D变换的实例 void DrawTetra() { glBegin(GL_TRIANGLES); glColor3f(1.0, 0.0, 0.0); glVertex3f(1.0, 0.0, 0.0); glVertex3f(0.0, 1.0, 0.0); glVertex3f(0.0, 0.0, 1.0); glColor3f(0.0, 1.0, 0.0); glVertex3f(0.0, 0.0, 0.0); glColor3f(1.0, 0.0, 1.0); glColor3f(0.5, 0.5, 0.5); glEnd(); }

变换的实例 可执行程序 源程序 void display(void) { glClear (GL_COLOR_BUFFER_BIT); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glPolygonMode(GL_FRONT,GL_LINE); DrawTangle(); glEnable(GL_LINE_STIPPLE); glLineStipple(1, 0xF0F0); glTranslatef(90.0, 0.0, 0.0); glLineStipple(1, 0xF00F); glTranslatef(110.0, 90.0, 0.0); glRotatef(30.0,0.0,0.0,1.0); glDisable(GL_LINE_STIPPLE); glFlush(); } void DrawTangle() { glBegin(GL_TRIANGLES); glColor3f (0.0, 0.0, 1.0); glVertex2f(20.0,20.0); glColor3f (0.0, 1.0, 0.0); glVertex2f(80.0,30.0); glColor3f (1.0, 0.0, 0.0); glVertex2f(50.0,70.0); glEnd(); } 可执行程序 源程序