Module - pyopengl 應用於2d,3d圖形繪製.

Slides:



Advertisements
Similar presentations
办公室保健指南. 减少辐射篇 ❤显示器散发出的辐射多数不是来自它的正面,而是侧面和后面。因此,不要 把自己显示器的后面对着同事的后脑或者身体的侧面。 ❤常喝绿茶。茶叶中含有的茶多酚等活性物质,有助吸收放射性物质。 ❤尽量使用液晶显示器。
Advertisements

魏 饴. 处级干部培训班讲座 一、卓越干部的德行素质  常修为政之德、常思贪欲之害、常怀律己之心!  孔老夫子有个观点 “ 为政以德,譬如北辰居其所而众星拱之。 ”  司马光《资治通鉴》 “ 才者,德之资也;德者,才之帅也。 ” “ 德 ” 胜 “ 才 ” 谓之 “ 君子 ” , “ 才 ”
一、真愛密碼 二、尋求真愛 三、有自尊的愛. 。如果雙方對愛情產生 質疑、困惑時,則表示 彼此之間的愛情關係仍 有 待加強或釐清,千萬別 急著為自己的人生大事 下決定。 我是一個 16 歲的未婚媽媽,發現自 己懷孕時,已經五個月大了,我知 道自己沒能力照顧孩子,在驚訝之 於,大人們只好坦然接受,幫我找.
大地遊戲王 課程實錄.
资源平台应用培训 武汉市交通学校信息化建设指导委员会.
广州宜家选址分析 0连锁 李若谷 陈玉风 黄小飞 蓝柔盈.
報告人:教育部會計處處長 黃 永 傳 日 期:103 年12 月27 日
加強水銀體溫計稽查管制及回收 回收作業須知及緊急應變措施
104年度國立宜蘭大學新進主管研討 主計業務宣導說明
102年實施之高中職及五專多元入學(含免試入學)之招生機制
读者与图书馆 2009年春季版 总第 15 期 山 东 交 通 学 院 图 书 馆 2009年3月.
第4章 分錄及日記簿 4-1 借貸法則 4-2 日記簿的格式及記錄方法 4-3 分錄的意義及記錄方法 4-4 常見分錄題型分析
讲故事训练 授课人:田轶.
一、平面点集 定义: x、y ---自变量,u ---因变量. 点集 E ---定义域, --- 值域.
成才之路 · 语文 人教版 • 中国古代诗歌散文欣赏 路漫漫其修远兮 吾将上下而求索.
七(7)中队读书节 韩茜、蒋霁制作.
第十三屆 Step.1 我們的目標 Step.2 我們的角色 Step.4 權利與義務 義務 權利 年繳會費五百元整
校本选修课 第三专题 西藏问题 北京师大二附中 李文燕.
2012级暑期放假安全教育 及宿舍搬迁工作布置会 北京化工大学理学院 辅导员:曹鼎 2013年6月6日.
第9讲 求职口才 一、自我介绍 二、回答问题 三、无领导小组讨论 四、向考官提问.
财务管理.
交通事故處置 當事人責任與損害賠償 屏東縣政府警察局交通隊.
管理学基本知识.
滁州学院首届微课程教学设计竞赛 课程名称:高等数学 主讲人:胡贝贝 数学与金融学院.
植物保护 课程整体设计 汇报 申报省级精品资源共享课建设 植物保护课程组.
正修科技大學教學發展中心 教師教學觀摩與經驗分享 電子工程系 張法憲副教授.
市级个人课题交流材料 《旋转》问题情境引入的效果对比 高淳县第一中学 孔小军.
2015年云南财经大学图书馆 新生入馆教育考核试题 答题指南
政府扶持资金通览 技术改造篇.
拾貳、 教育行政 一、教育行政的意義 教育行政,可視為國家對教育事務的管理 ,以增進教育效果。 教育行政,乃是一利用有限資源在教育參
把握命题趋势 ★ 科学应考 实现最后阶段的有效增分
第十二章 生产与费用循环审计.
蘇軾詞的賞析
用字母表示数 A=X+Y+Z 执教:建阳市西门小学 雷正明.
課程銜接 九年一貫暫行綱要( )  九年一貫課程綱要( ) 國立台南大學數學教育系 謝 堅.
2.4 二元一次方程组的应用(1).
柯奕宏(06) 王予亨(13) 郭秉逸(15) 楊雯凈(23) 顏佑瑩(32)
第十五章 传播学调查研究方法.
三角形的邊角關係 大綱:三角形邊的不等關係 三角形邊角關係 樞紐定理 背景知識:不等式 顧震宇 台灣數位學習科技股份有限公司.
自然與生活科技領域 認識太陽能 蘇紋琪、石明玉.
 全能的天才畫家- 李奧納多‧達文西 (西元1452年-1519年) 指導老師:袁淑芬老師 製作人:饒佩芯.
本科生医保资料的提交.
计算机图形学 讲 授:董兰芳 研究方向:科学计算可视化 图形、图像处理 模式识别 中国科学技术大学 视觉计算与可视化实验室
OpenGL常见问题.
統計圖表的製作.
OpenGL使用简介.
30 利用畢氏定理,計算下列各直角三角形中, 未知邊長 x 的值: (1) x2+( )2=( )2 x= 因為 x>0, 所以 x=3。
Introduction to OpenGL (2)
第四章 图元的属性 曾智勇 软件学院.
認識我的故鄉_台中市.
建国以来,大陆对台政策 金亚丽 周莎 黄运娜.
《结构力学认知实验》(授课形式)的上课时间改为: 5月5日(周二)晚上18:00~19:30和19:30~21:00,
《结构力学认知实验》(授课形式)的上课时间改为: 5月7日(周四)晚上18:30~20:00和20:00~21:30,
Chapter 5 Attributes of Output Primitives (图元的属性)
精忠报国  演唱:屠洪纲 作词:陈涛 作曲:张宏光  狼烟起 江山北望  龙起卷 马长嘶 剑气如霜  心似黄河水茫茫  二十年 纵横间 谁能相抗  恨欲狂 长刀所向  多少手足忠魂埋骨它乡  何惜百死报家国  忍叹惜 更无语 血泪满眶  马蹄南去 人北望  人北望 草青黄 尘飞扬  我愿守土复开疆  堂堂中国要让四方来贺.
畢業資格審查系統 操作步驟說明.
GLUT 事件處理函式 靜宜大學資管系 蔡奇偉 副教授
新制退休實務計算說明- 現職人員退休範例說明
▲重合的概念 ▲對應頂點、對應邊、對應角 ▲全等的記法 ▲全等性質 ▲三角形全等性質
2011/2013年度 六年級家長座談會 中學學位分配-升中選校
OpenGL 基础 计算机科学与技术系.
CAD/CAM技术——ProE零件设计与MasterCAM数控加工
106 學年度新生入學說明會 國立臺灣海洋大學 教務處簡介
學士學位畢業論文說明 逢 學 大 甲 土 理 管 地 2009/10/05.
高雄市97年度國民小學閱讀計畫創新教學-教案達人創新教學方案
尺規作圖 大綱: 線段 角度 垂直平分線與角平分線 張婷萱 台灣數位學習科技股份有限公司.
05 债务重组.
4.1 概 述 4.2 组合体视图绘制方法 4.3 组合体的尺寸标注 4.4 组合体视图的读图方法
PROGRAM 1 Simple E. Angel, Interactive Computer Graphics A Top-Down Approach with OpenGL, Third Edition Addison-Wesley Longman, 2003.
用加減消去法解一元二次聯立方程式 台北縣立中山國中 第二團隊.
Presentation transcript:

Module - pyopengl 應用於2d,3d圖形繪製

Opengl簡介 提供繪製2D,3D圖形的函式庫及模組 支援語言:C++ C# HTML Python 本次課程主要應用opengl支援python語言的模 組-Pyopengl

Pyopengl 下載點及安裝 http ://www.lfd.uci.edu/~gohlke/pythonlibs/ -64位元電腦選擇PyOpenGL-3.1.0a1.win-amd64-py3.3.exe -32位元電腦選擇PyOpenGL-3.1.0a1.win32-py3.3.exe 下載完後一直選擇下一步便可安裝成功

基本程式架構-範例 def init(): glClearColor(1.0, 1.0, 1.0, 1.0) //定義背景為白色 gluOrtho2D(-10.0, 10.0, -10.0, 10.0) //定義xy軸範圍 def exampleDraw()://畫圖函式 //開始寫要畫甚麼畫甚麼 glutInit() glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA) glutInitWindowSize(400, 400)//視窗大小設定 glutCreateWindow( b“First” )//視窗名字設定 glutDisplayFunc(exampleDraw) //載入我們寫好的畫圖函式 init() //做背景處理 glutMainLoop() *紅色部分是我們可以做更改的部分

繪圖函式及建立方式

繪圖函式及建立方式-範例 glBegin(GL_LINES) glVertex2f(-1.0, 0.0) glVertex2f(1.0, 0.0) glEnd() 說明: glBegin內選擇要用的繪圖 如範例可看到選擇的是畫線 利用glVertex2f 載入起點(-1,0) 及終點(1,0) 便會畫出從(-1,0) 到(1,0)的連線

程式碼範例(1)-圖

程式碼範例說明及結果-1 from OpenGL.GLU import * //先import需要用到的opengl模組 from OpenGL.GL import * from OpenGL.GLUT import * def init(): //定義背景顏色為白色跟XY軸 glClearColor(1.0, 1.0, 1.0, 1.0) gluOrtho2D(-10.0, 10.0, -10.0, 10.0)

程式碼範例說明及結果-2 接續上一頁 def drawFunc(): //定義畫圖函式 glClear(GL_COLOR_BUFFER_BIT) glColor3f(1.0, 0.0, 0.0) //設定顏色為紅色 glBegin(GL_QUADS) //畫的是四邊形 glVertex2f(-2, 2) //給予四個點 glVertex2f(-2, 5) glVertex2f(-5, 5) glVertex2f(-5, 2) glEnd() glFlush()// 執行繪圖

程式碼範例說明及結果-3 接續上一頁 glutInit() //啟動glut glutInitDisplayMode(GLUT_RGBA|GLUT_SINGLE) glutInitWindowSize(400, 400) glutCreateWindow(b“First”) //設定名稱為First(前面可有b opengl判斷字串用) 有時候不加b會出錯 glutDisplayFunc(drawFunc)//載入我們上一頁的drawFunc來繪圖 init()//設定背景 glutMainLoop()

程式碼範例說明及結果-4 結果圖

旋轉/放大縮小/平移-函式介紹 Opengl提供glTranslated(x,y,z), glRotatef(角度,x,y,z), glScalef(x,y,z) 三個現成函是讓我們對圖形做旋轉/放大縮小/平移 Example: glTranslated(6,2,0) glRotatef(90,0,0,1) glScalef(0.5,0.5,1) 以上三個function代表了 平移x軸6,y軸2 ,以第一個頂點旋轉90度,x,y軸縮小0.5倍

旋轉/放大縮小/平移 –順序 旋轉/放大縮小/平移 三個動作 對電腦來說其實是針對”點”做數學運算,也就是矩陣相乘 旋轉/放大縮小/平移 三個動作 對電腦來說其實是針對”點”做數學運算,也就是矩陣相乘 在矩陣相乘不滿足交換律的條件下 ABC 不會等於BAC 也就是說旋轉後再平移跟平移後再旋轉得出來的圖形會不同

旋轉/放大縮小/平移 –進階(1)問題 OPENGL的平移旋轉指令下過之後 會對接下來所有的指令賦予同樣的內容 原因:最初始狀態的矩陣被拿去做運算之後消失了 例如: 原本物件在點(0,0) 平移(2,0)之後物件中心點變在(2,0) 想對原本物件再從(0,0)平移(-1,0) 實際上會是從(2,0)變到(1,0)

旋轉/放大縮小/平移 –進階(1)解決方法 opengl提供pushMatrix() popMatrix() 兩個方法幫我們保存尚未做平移旋轉的原始矩陣 以剛剛那狀況當作例子: Step1: pushMatrix() //保存中心點在(0,0)狀態 Step2:平移到(2,0) //此時中心點在(2,0) Step3:popMatrix() //將矩陣還原成中心點在(0,0)狀態 Step4:平移到(-1,0) //此時中心點在(-1,0) 這樣就可以提高繪圖過程中做平移旋轉的正確性