




已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 中学物理是- - f - j 实践性很强的课程,实验是其中非常重要的一环。长期以来, 由于我国对基础教育投入不够,很多中学的实验器材严重缺乏。而实物实验受环 境、条件及准备不足等原因影响,实验效果也不理想。另外受场地、时间等诸多 限制,学生做实物实验的机会很少。即使在做实验的过程中,为了保护实验仪器、 减少损耗,对学生的操作人为地设置很多限制,实际束缚了学生的手脚,影响学 生创新意识的培养。 为了解决这个问题,本文试图研究开发中学电学虚拟实验平台。笔者调查研 究了现有的中学物理实验软件,了解了它们的优点及不足。在此基础上,针对物 理实验教学的现状,研究并设计实现了中学物理电学实验平台 在平台的设计过程中,我们充分考虑了中学物理实验的现状和素质教育的需 要,融入了新的教育思想和理念,变限制学生犯错误为允许学生犯错误,使学生 在不断摸索中学到知识。同时对传统实验进行仔细剖析,分析哪些细节是教学目 的所要求的,哪些细节是可以忽略的,尽可能地使平台具有更好的教学效果。在 技术上,我们采用面向对象设计模式方法技术,以v i s u a lc + + 作为开发平台,并 使用o p e n g l 实现三维仿真。 平台系统能完全模拟现实世界的物理现象,比如实时的电流表变化、灯泡亮 度变化、元件因超载而烧毁等。学生可完全自由地组装实验,即使是错误组装所 引起的物理现象,系统也能完全模仿。系统对电源短路、多电源等情况都能进行 处理,并支持电网络。 系统提供了实验报告的生成、实验数据的显示和导出、实验现场的保存和恢 复等功能,能较好地满足中学师生教与学的需要。 关键字虚拟实验;物理实验;电路;o p e n g l :仿真 a b s t r a c t m i d d l es c h o o lp h y s i c si sav e r yp r a c t i c a lc u r r i c u l u m ,o fw h i c ht h ee x p e r i m e n ti s av e r yi m p o r t a n tl i n k f o ral o n gt i m e ,t h e r ei sa l la c u t el a c ko fe x p e r i m e n t a l e q u i p m e n ti nm a n ym i d d l es c h o o l sd u et oo u rc o u n t r y si n s u f f i c i e n ti n v e s t m e n ti n t o t h ee l e m e n t a r ye d u c a t i o n a n do b j e c te x p e r i m e n ti sn o ts os u c c e s s f u lu n d e rt h e i n f l u e n c eo fe n v i r o n m e n t ,c o n d i t i o na n dn o te n o u g hp r e p a r a t i o n m o r c o v e r ,r e s t r i c t e d b yp l a c e ,t i m ea n ds oo n ,t h es t u d e n t sd on o th a v em u c hc h a n c et od oo b j e c t e x p e r i m e n t e v e ni fi nt h ep r o c e s so fe x p e r i m e n 4i no r d e rt op r o t e c tt h ei n s t r u m e n t a n dr e d u c el o s e s ,m a n yr e s t r i c t i o n sa r es e to ns t u d e n t s o p e r a t i o n ,w h i c ha c t u a l l y b i n d st h e mh a n da n df o o t ,a n dt h u sa f f e c t st h ed e v e l o p m e n to fs t u d e n t s a w a r e n e s so f i n n o v a t i o n i no r d e rt os o l v et h i sp r o b l e m ,t h i sa r t i c l ea t t e m p t st or e s e a r c ha n dd e v e l o p m i d d l es c h o o le l e c t r i c i t yv i r t u a le x p e r i m e n tp l a t f o r m ih a v ei n v e s t i g a t e da n ds t u d i e d t h ee x i s t i n ge x p e r i m e n ts o f t w a r ef o rm i d d l es c h o o lp h y s i c s ,a n dik n o wt h e i rm e r i t s a n dd e f e c t s b a s e do nt h i s ,i nv i e wo ft h ep r e s e n ts i t u a t i o no ft e a c h i n gp h y s i c s e x p e r i m e n t ,ir e s e a r c h e da n dd e s i g n e dt h ee l e c t r i c a le x p e r i m e n tp l a t f o r mf o rt h e m i d d l es c h o o lp h y s i c s i nt h ep r o c e s so fp l a t f o r md e s i g n ,w eh a df o l l yc o n s i d e r e dt h ep r e s e n ts i t u a t i o n o fh i g l ls c h o o lp h y s i c se x p e r i m e n ta n dt h en e e do fe d u c a t i o nf o ra 1 1 a r o u n d d e v e l o p m e n t ,a n dm e l t e dn c we d u c a t i o n a lt h o u g h ta n di d e ai n t oi t ,t h a ti s ,s t u d e n t sa r e a l l o w e dt om a k em i s t a k e si n s t e a do fl i m i t i n gt h e mo nm a k i n gm i s t a k e s s ot h e yc 姐 l e a r nk n o w l e d g eb yt r i a la n de r r o r m e a n w h i l e ,w em a k ec a r e f u la n a l y s i so ft h e t r a d i t i o n a le x p e d m e n t ,a n dd e t e r m i n ew h i c hd e t a i l sa r en e c e s s a r yf o rt h et e a c h i n g o b j e c t i v e ,w h i c hd e t a i l sm a yb en e g l e c t e d , e n a b l i n gt h ep l a t f o r mt oh a v ea sg o o d t e a c h i n ge f f e c t 鸥p o s s i b l e t e c h n o l o g i c a l l y , w eu s et h eo b j e c t o r i e n t e dd e s i g np a t t e r n m e t h o d ,w i t hv i s u a lc + + a st h ed e v e l o p m e n tp l a t f o r m ,a n du s e so p e n g lt or e a l i z e t h et h r e ed i m e n s i o n a ls i m u l a t i o n 1 1 1 e p l a t f o r ms y s t e m c a n c o m p l e t e l y s i m u l a t et h er e a lw o r l d p h y s i c a l p h e n o m e n o n , s u c h a sr e a l t i m ec h a n g eo fa m p e r em e t e r , a n dt h ec h a n g eo fl i g h tb u l b b r i g h t u e s s ,e v e nt h eb u m d o w no fp a r t sb e c a u s eo ft h eo v e r l o a d s t u d e n t sm a yf e e l c o m p l e t e l yf r e et oa s s e m b l et h ee x p e r i m e n 4a n dt h ep h y s i c a lp h e n o m e n o nc a u s e db y w r o n ga s s e m b l yc a l la l s oc o m p l e t e l yi m i t a t et h er e a le n v i r o n m e n t t h es y s t e mc a n d e a lw i t hs h o r t - c i r c u i t s ,m u l t i - p o w e rs o u r c e s ,a n ds u p p o r tc i r c u i tn e t w o r k 皿es y s t e mh a sp r o v i d e ds u c hf u n c t i o n sa sg e n e r a t i n ge x p e r i m e n t r e p o r t , d e m o n s t r a t i n ga n dl e a d i n go u te x p e r i m e n td a t a , s t o r i n ga n dr e s t o r i n ge x p e r i m e n t s c e n e ,t h u sc a nw e l lm e e tt h en e p a j so fm i d d l es c h o o lt e a c h e r sa n ds t u d e n t si nt h e i r t e a c h i n ga n dl e a r n i n g k e yw o r d s :v m u a le x p e r i m e n t ;p h y s i c se x p e r i m e n t ;e l e c t r i cc i r c u i t ;o p e n g l ; s i m u l a t i o n h i 广州大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指 导下,独立进行研究工作所取得的成果。除文中已经注明引 用的内容外,本论文不含任何其他个人或集体已经发表或撰 写过的作品成果。对本文的研究做出重要贡献的个人和集体, 均已在文中以明确方式标明。 后果由本人承担。 一躲闩乏秀 本人完全意识到本声明的法律 日期:沙 年,月形日 广州大学学位论文版权使用授权书 本人授权广州大学有权保留并向国家有关部门或机构送 交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权 广州大学可以将学位论文的全部或部分内容编入有关数据库 进行检索,可以采用影印、缩印或扫描等复制手段保存、汇 编学位论文。( 保密的学位论文在解密后适用本授权书) 学位做作者签名:f 氟芑艿日期7 年广月编 翩群:捌醐:7 钳崩日 1 1 研究背景 第一章绪论 提高学生的动手实践能力、发掘学生的想象力、培养学生的创造力是素质教 育的核心目标之一,而实验是达成这一目标的重要途径。中学物理是- - f - j 实验性 很强的课程,物理老师经常需要在授课时通过具体实验向学生讲解物理原理,学 生也要通过亲手做实验来验证所学物理知识。同时成功的物理实验还能提高学生 学习兴趣,增强知识的应用能力。但实物实验由于环境、条件及准备不足等原因 导致实验效果不理想,另外学生也只能在课堂上、实验室内才能做实验,而在课 余时间、实验室以外的地方往往没有机会做。为了解决这个问题,出现了一些中 学物理实验软件。 有关中学物理实验的教育软件,上世纪9 0 年代大多是学生复习备考的软件 或强调软件的多媒体功能,如播放演示、朗读文本等。近期比较多的是f l a s h 动 画制作,多是中学物理教师根据需要自己制作的,做的基本上是单个实验,风格 各异,水平也参差不齐。现阶段以实验工具为基本单位的物理实验软件可以通过 组合实验工具生成实验,是近期相对较好的物理实验软件。国内开发的有:南京 金华科推出的仿真物理实验室等;国外开发的有:e d i s o n 、l a b v i e w 、e w b 等。 国外的这些软件要么只是物理某一分支学科的一个部分,要么软件专业性比较 强,使用对象一般是科研工作者,而且由于比较注重实验原理,界面不够形象, 使用起来也比较复杂,对于中学生来说是不太合适的。 归纳起来,从设计模式上看,现有的中学物理实验软件主要有以下四种: 1 、文本录入式。 以文本显示实验的原理、操作步骤等,有的还配有一些图片和语音。早期大 多数的教育软件和现阶段的一些简单的多媒体编辑系统属于这种形式。只有固定 文字和图片,与看课本其实没有多少实质性区别。即不生动形象,也没有任何灵 活性。 2 、动画录像式。 以动画或录像形式演示整个实验过程。现阶段流行的f l a s h 动画制作和带有 播放录像的多媒体系统属于这种形式。它生动、形象、直观,一目了然,容易让 人接受。但固定不变的演示,显得灵活性不够,而且使用者不能参与其中,交互 性也不强。 3 、几何作图式。 一些功能强大的智能数学平台也能生成一些几何性强的物理实验,如z + z 智能教育平台、几何画板等,这些系统能精确反映实验本质,灵活性强。不过对 于几何性不强的物理实验就不容易生成了,而且由于这类系统往往从一个点一条 直线出发生成,要求使用者对实验原理、过程有深刻理解,而且对系统比较熟悉。 这对于对实验和系统不大熟悉的使用者来说,使用起来不够直接,容易失去耐心。 它适合做一些实验演示。 4 、工具式。 以实验器材为基本单位,通过对实验器材的组合来构造实验。如南京金华科 的仿真物理实验平台等。这是现今比较好的一种形式。实验构造过程不太复杂, 有一定的灵活性和交互性。但它是二维的,界面不够逼真;实验数据也是系统直 接给出而不是通过学生观察得出;而且没有提供实验报告的功能;另外它不能仿 真有些电路现象,如电网络。尤其是软件体现出来的教育思想相对落后,对学生 限制太多,缺少灵活性。 另外一个研究方向是远程虚拟实验的研究,但是受现有技术的限制,逼真性 差,技术上还不成熟。现在的应用面较窄,主要用于昂贵的实验设备共享。 1 2 研究目的 针对现有物理实验软件不足和素质教育对教育软件越来越高的要求,研究新 的物理实验软件设计模式,并开发相应的中学电学实验平台。 在平台的设计过程中,要充分考虑到中学物理实验的现状和素质教育的需 要,并融入了新的教育思想和理念。在具体设计时,要尽量避免限制学生的操作, 给学生一个自由发挥的平台,让学生在实验中通过不断试验,包括错误的实验来 学习,精心呵护学生对物理实验的兴趣,培养学生的创新意识。同时对传统实验 进行仔细剖分,分析哪些细节是教学目的所要求的,哪些细节是可以忽略的,尽 可能地使平台具有更好的教学效果。 2 系统要能完全模拟现实世界的物理现象,包括实时的电流表变化、灯泡亮度 变化,甚至包括元件因超载而烧毁。跟实物实验一样,学生可完全自由组装实验, 错误的组装所引起的物理现象也跟完全模仿现实环境。如电源短路的现象、多电 源的情况都能进行处理。另外,还要支持电网络。 为了逼真,平台采用3 d 设计,并提供生成实验报告的功能。另外,为了学 习需要,提供实验现场的保存和恢复功能。 1 3 研究意义 如果中学物理虚拟实验平台软件研制成功,将为推动以素质教育为主的教育 改革提供物质基础。 可以解决实验条件不足的问题。大多数中学实验条件不足,仪器设备不全, 有了这个平台,在教师和学生没有实验室的环境或实验室条件不充足的情况,仍 可用计算机进行实验操作,得到实验现象。 有助于学生创新能力的培养。一般中学物理实验室由于管理方面的原因是不 能随时开放的,学生只能在上实验课时才能使用实验室,而且为了保证实验仪器 不损坏,对学生操作有严格限制,学生的创造力受到抑制。有了这个平台,学生 在家里也可以做任何物理实验,没有时间限制,而且可以随心所欲地组装实验, 这对于保护和提高学生的创新意识是有益的。 虚拟实验用于课堂教学。课堂演示实验的教学效果是很好的,但物理教师领 取实验器材往往很不方便,而且在课堂上展示的某些实物实验,由于实物太小或 者观察角度和位置的原因,学生反而不便观察,比如电流计指针的变化,只有少 部分学生能够观察到,影响教学效果。拟研究开发的实验平台形象逼真,有了它, 教师可以在课堂上根据情况做任何实验,所有学生都可清楚地观察到实验现象, 因而可替代或补充课堂实物实验演示。 实物实验前的预练。不同的实验有不同的要求和不同的实验教学目的,虚拟 实验当然不能完全取代实物实验。在实物实验前做虚拟实验,可以防止实物被损 坏,降低损耗率,也可以提高实物实验的效果,增强学生动手时的信心和保持兴 趣。 , 3 1 4 研究内容 本文研究新的中学物理实验平台设计模式,融入新的教育思想,以这个模式 为基础开发电学实验,编程实现以下功能: 1 以物理实体为基本元素,用户通过对不同的物理实体的自由组合来构筑不同 的实验。以一个模块解决一类物理实验,而不是每个实验单独开发。 2 三维动态仿真物理现象。 3 用户可随时添加物理实体,修改实体属性。 4 可随时填写实验报告。 5 实验可保存为文件,可随时再现实验,以利于交流和演示。学生可用于提交 作业,教师可用于制作课件。 在具体实现时,还要考虑一些实验细节是否要在虚拟实验中表现的问题。虚 拟实验与实物实验都要服从教学目标,它们各有特点,各有短长。实物实验比较 全面,但学生在实验中往往被一些与实验目的关系不大的细节所困扰,影响实验 的顺利进行和物理原理的掌握。而虚拟实验往往注重原理,有些细节由于技术原 因不能仿真;有些细节虽然能够实现,但工作量甚至远远超过主体部分,比如旋 紧接线柱的螺丝这样的细节。这时就要对传统实验进行仔细剖分,分析哪些细节 是教学目的所要求的,哪些细节是可以忽略的。系统实现时要努力实现那些与教 学目的相关的细节,在不影响真实性的前提下,忽略无关的细节,从而把学生的 注意力集中到教学目标所要求的各个环节上来,提高学习效果。 4 开发平台的选择及简介 第二章开发平台的选择及简介 我们选择开发平台的基本原则是采用成熟的、开放的、可扩展的技术。 为了建立一个可扩充、易维护、将来可跨平台的电学实验平台,选用了微软 的v i s u a lc + + 作为系统开发平台。v t s u a lc + + 是完全面向对象的软件开发平台, 有利于软件的扩充、维护,也有利于程序员相互协作,共同完成大的软件项目。 同时,用v i s u a lc 开发的软件,还具有运行速度快,易于调用其他工具软件等 优点。 在3 d 图形库的选择上,我们面临o p g 屿d i 崩:t ) 【的选择。d i r e c t x 具有执 行速度快,与w m d o w s 平台结合好的特点,但是它完全依赖w i n d o w s 操作系统, 只能在w i n d o w s 平台上运行。考虑到未来扩展的需要,o p e n g l 以其良好的可移 植性、跨平台特性,成为最佳选择。 2 1v i s u a lc + + 技术及其特点 2 1 1v i s u a lc + + 技术及发展历程 1 9 7 0 年,贝尔实验室的k e nt h o m p s o n 开发了一种解释型的计算机语言被命名 为b 语言,但b 语言没有流传开。1 9 7 2 年贝尔实验室的d e n n i sr i t c h i e 在b 语言的基 础上进行改进,开发出了c 语言。c 语言最初主要用于u n i x 系统,大多数u n i x 系统 的程序都是用c 编写的。借助早期u n i x 系统的流行和c 本身的优秀品质,c 语言得 到广泛的使用。 而后,伴随着面向对象概念的提出和应用,形成了c 卜+ 语言,a t t 公司于 1 9 8 5 年正式推出了c + + 1 o 版,它是c 语言面向对象的扩充。c 1 0 增加了类和 实例、单继承、重载、虚函数、友员、内联等面向对象的程序设计机制。1 9 8 9 年推出的c + + 2 o 版和1 9 9 3 年推出的c + + 3 o 版分别增加了支持多继承、保护接口、 模板和异常等。c + + 被公认为“最好的面向对象的编程语言”,是学习面向对象编 程技术人员较好的启蒙语言。 在成功推出v i s u a lb a s i c 后,m i c r o s o f t 又将c + + 包装成为了面向w i n d o w s 的 5 开发平台的选择及简介 x ,i s u a lc + + ( 以下简称v c ) 。从v c l 0 到v c 6 0 ,一直到v c2 0 0 5 ,每一个版本的 推出在功能都有很大进步,用户越来越多,影响越来越大。v c 借助传统的c c + + 的优势加上m i c r o s o f t 的影响力,使广大的程序员和专业编程人员纷纷投靠在v c 的大旗下。 v c 的特点是微软公司做了一个自己独有的类库m f c ,里面封装了绝大多数 的a p i 函数,使得w i n d o w s 程序的开发变的很高效和易于理解。w i n d o w s 对 资源的管理是非常严格的,这与d o s 可直接用中断处理程序和i o 指令操作硬件 端口是截然相反的;如果用a p i 直接开发w i n d o w s 程序的话,将会是一件非常 烦琐的工作,m f c 的出现大大减轻了程序员的工作量。 2 1 2v i s u a lc + + 技术特点 1 快速高效 c 语言从诞生起最大的优点就是代码质量高、运行速度快,用c 编写的代码 可以达到汇编语言编写的代码执行速度的7 0 - 8 0 。v c e 全继承了这一特点, 并且由于代码优化工作做的比较好,其代码的结构紧凑、效率极高。 2 语言简练 v c 还延续了传统c 语言的简练风格,如p a s e a l 语言中的b c g me n d 在v c 中可以 用简单的 表示。 3 贴近硬件 c 语言被很多专业人士称为“介于高级语言和汇编语言之间的一种语言” 由于c 语言贴近硬件,便于对硬件直接操作,因此又有“系统程序设计语言” 的美称。这一特点使得c 语言特别擅长编写系统程序,如w i n d o w s 就是用c 语言 编写的。v c 继承了同样的优良品质。 4 灵活多变 v c 像c 语言一样提供给编程者一个很自由的编程环境,丰富的表达方式可 以表现程序的匠心独运。程序员可以彻底地控制整个开发环境。其它语言则更 多地趋向于庇护程序员,当要做一些基本的东西时,它们会做得很好。 5 便于移植 c 语言在u n i x 系统上取得巨大成功的一个主要因素是c 语言的移植度好,不 6 开发平台的选择及简介 依赖于特定的硬件环境,可以方便地跨平台移植。 长期以来,v i s u a lc + + 一直拥有能够创建短小高效程序的美誉,使用这种语 言编写的程序运行速度快。c 年+ 实际上是介于汇编语言中寄存器编程和类p a s c a l 编程环境之间语言。c 斗+ 是编写诸如操作系统、设备驱动程序以及动态链接库 ( d l l ) 的强大语言,这三个领域的代码开发依然以v i s u a lc + + 为主。v i s u a lc + + 生成的短小、快速的代码能够满足操作系统类对时间要求很高的系统应用。 v i s u a lc + + 中的最新特性之一是更佳的原型能力,这一点通过增强的向导来 实现。现在,这个特性还不能把v i s u a lc 4 + 提升到像v t s u a lb a s i c 向导相同的水 平上,但它确实减少了开发应用程序的入门时间。另外,增强的向导使得这个版 本的v i s u a lc + + 比以前版本更为友好。 2 2o p e n g l 简介 0 p e n g l 是个专业的3 d 程序接口,是一个功能强大,调用方便的底层3 d 图 形库。0 p e n g l 的前身是s g i 公司为其图形工作站开发的i r i sg l 。i r i sg l 是一 个工业标准的3 d 图形软件接口,功能虽然强大但是移植性不好,于是s g i 公司 便在i r i sg l 的基础上开发了0 p e n g l 。o p e n g l 的英文全称是“o p e ng r a p h i c s l i b r a r y ”,顾名思义,0 p e n g l 便是“开放的图形程序接口”。虽然d i r e c t x 在家 用市场全面领先,但在专业高端绘图领域,0 p e n g l 是不能被取代的主角。 0 p e n g l 是个与硬件无关的软件接口,可以在不同的平台如w i n d o w s9 5 、 w i n d o w sn t 、u n i x 、l i n u x 、m a c 0 s 、o s 2 之间迸行移植。因此,支持0 p e n g l 的软件具有很好的移植性,可以获得非常广泛的应用。 o p e n g l 作为一个性能优越的图形应用程序设计界面( a p i ) ,适用于广泛的 计算机环境。o p e n g l 己成为目前的三维图形开发标准,是从事三维图形开发工 作的技术人员所必须掌握的开发工具。 2 2 1o p e n g l 的基本特点 1 t 业标准 o a r b ( o p e n g l a r c h i t e c t u r er e v i e wb o a r d ) 联合会领导o p e n g l 技术规范 的发展,o p c n g l 有广泛的支持,它是业界唯一的真正开发的、跨平台的图形标 7 开发平台的选择及简介 准。 2 可靠度高 利用o p e n g l 技术开发的应用图形软件与硬件无关,只要硬件支持o p e n g l a p i 标准就行了,也就是说,o p e n g l 应用可以运行在支持o p e n g la p i 标准的 任何硬件上。 3 可扩展性 o p e n g l 是低级的图形a p i ,它具有充分的可扩展性。如今,许多o p e n g l 开发商在o p e n g l 核心技术规范的基础上,增强了许多图形绘制功能,从而使 o p e n g l 能紧跟最新硬件发展和计算机图形绘制算法的发展。对于硬件特性的升 级可以体现在o p c n g l 扩展机制以及o p e n g l a p i 中,一个成功的o p e n g l 扩展 会被融入在未来的o p e n g l 版本之中。 4 可伸缩性 基于o p e n g l a p i 的图形应用程序可以运行在许多系统上,包括各种用户电 子设备、p c 、n - 作站以及超级计算机。 5 容易使用 o p e n g l 的核心图形函数功能强大,带有很多可选参数,这使得源程序显得 非常紧凑;o p e n g l 可以利用已有的其它格式的数据源进行三维物体建模,大大 提高了软件开发效率;采用o p e n g l 技术,开发人员几乎可以不用了解硬件的相 关细节,便可以利用o p e n g l 开发照片质量的图形应用程序。 6 灵活性 尽管o p c n g l 有一套独特的图形处理标准,但各平台开发商可以自由地开发 适合于各自系统的o p e n g l 执行实例。在这些实例中,o p c n g l 功能可由特定的 硬件实现,也可用纯软件例程实现,或者以软硬件结合的方式实现。 2 2 2 0 p e n g l 体系结构 一个完整的窗口系统的o p e n g l 图形处理系统的结构为:最底层为图形硬 件,第二层为操作系统,第三层为窗口系统,第四层为o p e n g l ,第五层为应用 软件。见图2 1 所示。 8 开发平台的选择及简介 图2 1o p e n g l 图形处理系统的层次结构 o p e n o l 是网络透明的,在客户机服务器体系结构中,允许本地或远程调用 o p e n o l 。所以在网络系统中,o p e n o l 在x 窗口、w i n d o w s 或其它窗口系统下 都可以以一个独立的图形窗口出现。 由于o p e n g l 是一个与平台无关的三维图形接口,操作系统必须提供像素格 式管理和渲染环境管理。下面以w i n d o w sn t 操作系统为例具体介绍o p e n o l 运 行的体系结构。 o p e n g l 在w i n d o w sn t 上的实现是基于c l i e n t s e r v e r 模式的,应用程序发 出o p e n o l 命令,r h 动态链接库o p e n o l 3 2 d l l 接收和打包后,发送到服务器 端的w i n s r v d l l ,然后由它通过d d i 层发往视频显示驱动程序。如果系统安 装了硬件加速器,则由硬件相关的d d i 来处理。 o p e n g i y n t 的体系结构图如图2 2 所示。 从程序员的角度看,在编写基于w i n d o w s 的o p e n g l 应用程序之前必须清 除两个障碍,一个是o p e n o l 本身是一个复杂的系统,这可以通过简化的o p e n o l 辅助库函数来学习和掌握;另一个是必须清楚地了解和掌握w i n d o w s 与o p e n o l 的接口。 9 开发平台的选择及简介 图2 2o p e n g i _ n t 体系结构 2 2 3o p e n g l 的工作流程 o p e n g l 的工作流程如图2 3 。 图2 3o p e n g l 的工作流程 1 ,几何操作 ( 1 ) 针对每个顶点的操作 每个顶点的空间坐标需要经过模型取景矩阵变换、法向矢量矩阵变换,若允 许纹理自动生成,则由变换后的顶点坐标所生成的新纹理坐标替代原有的纹理坐 标,再经过当前纹理矩阵变换,传递到几何要素装配步骤。 ( 2 ) 几何要素装配 1 0 开发平台的选择及简介 不同的几何要素类型决定采取不同的几何要素装配方式。若使用平直明暗处 理,线或多边形的所有顶点颜色则相同;若使用裁剪平面,裁剪后的每个顶点的 空间坐标由投影矩阵进行变换,再由标准取景平面进行裁剪,再进行视口和深度 变换操作。如果几何要素是多边形,还要做剔除检验,最后生成点图案、线宽、 点尺寸的像素段,并赋上颜色、深度值。 2 像素操作 由主机读入的像素首先解压缩成适当的组份数目,然后进行数据放大、偏置, 并经过像素映射处理,根据数据类型限制在适当的取值范围内,像素最后写入纹 理内存,使用纹理映射或光栅化生成像素段;如果像素数据由帧缓冲区读入,则 执行放大、偏置、映射、调整等像素操作,再以适当的格式压缩。像素拷贝操作 相当于解压缩和传输操作的组合,只是压缩和解压缩不是必须的,数据写入帧缓 冲区前的传输操作只发生一次。 3 像素段操作 当使用纹理映射时,每个像素段将产生纹素,再进行雾效果计算、反走样处 理。接着进行裁剪处理、一致性检验( 只在r g b a 模式下使用) 、模板检验、深 度缓冲区检验和抖动处理。若采用颜色索引模式,像素还要进行逻辑操作;在 r g b a 模式下则进行混合操作。 根据着色模式不同,决定像素段采取颜色屏蔽还是指数屏蔽,屏蔽操作之后 的像素段将写入到适当的帧缓冲区。如果像素写入模板或深度缓冲区,则进行模 板和深度检验屏蔽,而不用执行混合、抖动和逻辑操作。 对于创建一个三维图形的基本步骤,大致可以包括以下三个主要环节: ( 1 ) 建模:包括几何建模和行为建模,几何建模处理物体的几何和形状的 表示,行为建模处理物体的运动和行为的描述; ( 2 ) 设置视点:描述观察者的空间位置; ( 3 ) 设置环境:描述环境的特征,如:光源、空气能见度等。 o p e n g l 的绘制过程多种多样,内容非常丰富,主要提供以下几种对三维物 体的绘制方式: ( 1 ) 线框绘制方式( w 娩f l a m e ) :绘制三维物体的网格轮廓线。 ( 2 ) 深度优先线框绘制方式( d e p t hc u e d ) :采用线框方式绘图,使远处的 1 1 开发平台的选择及简介 物体比近处的物体暗一些,以模拟人眼看物体的效果。 ( 3 ) 反走样线框绘制方式( a n t i a l i a s e d ) :采用线框方式绘图,绘制时采用 反走样技术,以减少图形线条的参差不齐。 ( 4 ) 平面明暗处理方式( f l a ts h a d i n g ) :对模型的平面单元按光照进行着 色,但不进行光滑处理。 ( 5 ) 光滑明暗处理方式( s m o o t hs h a d i n g ) :对模型按光照绘制的过程进行 光滑处理,这种方式更接近于现实。 ( 6 ) 加阴影和纹理的方式( s h a d o wa n d t e x t u r e ) :在模型表面贴上纹理甚 至加上光照阴影效果,使三维场景像照片一样逼真。 ( 7 ) 运动模糊绘制方式( m o t i o nb l u r e d ) :模拟物体运动时人眼观察所觉 察到的动感模糊现象。 ( 8 ) 大气环境效果( a t m o s p h e r ee f f e c t s ) :在三维场景中加入雾等大气环 境效果,使人有身临其境之感。 ( 9 ) 深度域效果( d e p t ho f e f f e c t s ) :类似于照相机镜头效果,模拟在聚焦 点处清晰 2 2 4o p e n g l 库函数与运行方式 w i n d o w s 下的o p e n g l 开发组件有两种,种是s g i 公司提供的,一种是 m i c r o s o f t 公司提供的。两者的开始库大体上没有什么区别,都是由三大部分组 成: 1 函数的说明文件:9 1 h 、g l u h 、g l u t h 和g l a n x a l 2 静态链接库文件:g l t 0 2 1 i b 、g l u t 3 2 1 i b 、g l a u x 1 i b 和o p e n g l 3 2 1 i b 3 动态链接库文件:g l u d l l 、g l u 3 2 d n 、g l u t d l l 、g l u t 3 2 d u 和o p e n g l 3 2 d n o p e n g l 函数开发基于o p e n g l 的应用程序,必须先了解o p e n g l 的库函数。 o p e n g l 库函数的命名方式非常有规律,每个库函数均有前缀g l 、g l u 、a u x ,分 别表示该函数属于o p e n g l 基本库、实用库和辅助库。 o p e n g l 的库函数大致可以分为六类: 1 o p e n g l 核心库 包含有1 1 5 个函数,函数名的前缀为西。 开发平台的选择及简介 这部分函数用于常规的、核心的图形处理。由于许多函数可以接收不同数据 类型的参数,因此派生出来的函数原形多达3 0 0 多个。 2 o p e n g l 实用库 包含有4 3 个函数,函数名的前缀为g l u 。 这部分函数通过调用核心库的函数,为开发者提供相对简单的用法,实现一 些较为复杂的操作。如:坐标变换、纹理映射、绘制椭球、茶壶等简单多边形。 o p e n g l 中的核心库和实用库可以在所有的o p e n g l 平台上运行。 3 o p e n g l 辅助库 包含有3 1 个函数,函数名前缀为a u x 。 这部分函数提供窗口管理、输入输出处理以及绘制一些简单三维物体。 o p e n g l 中的辅助库不能在所有的o p e n o l 平台上运行。 4 o p e n g lt 具库 包含大约3 0 多个函数,函数名前缀为g l u t 。 这部分函数主要提供基于窗口的工具,如:多窗口绘制、空消息和定时器, 以及一些绘制较复杂物体的函数。由于g l u t 中的窗口管理函数是不依赖于运行环 境的,因此o p e n g l 中的工具库可以在所有的o p e n g l 平台上运行。 5 w i n d o w s 专用库 包含有1 6 个函数,函数名前缀为w g l 。 这部分函数主要用于连接o p e n o l 和w i n d o w s9 5 n t ,以弥补o p e n g l 在文 本方面的不足。w i n d o w s 专用库只能用于w i n d o w s9 5 9 8 n t 环境中。 6 w m 3 2 a p i 函数库 包含有6 个函数,函数名无专用前缀。 这部分函数主要用于处理像素存储格式和双帧缓存。这6 个函数将替换 w i n d o w sg d i 中原有的同样的函数。w i n 3 2 a p i 函数库只能用于w i n d o w s 9 5 9 8 n t 环境中。 运行o p e n o l 主要有以下三种方式: 1 o p e n g l 硬件加速方式 一些显示芯片如3 d l a b s 公司的g l i n t 进行了优化,o p e n g l 的大部分功能 均可由硬件实现,仅有少量功能由操作系统来完成。这样极大地提高了图形显示 开发平台的选择及简介 的性能,并且能够获得工作站级的图形效果,但是这样的图形硬件价格十分昂贵, 非一般用户所能承担。 2 三维图形加速模式 一些中低档的图形芯片往往也具备一定的三维加速功能,由硬件来完成一些 较为复杂的图形操作。一些重要的o p e n g l 操作,例如z 缓存等就能够直接由 显示卡硬件来完成,显示卡所不能支持的图形功能,则通过软件模拟的方式在操 作系统中进行模拟。采用这种方法,显示速度尽管无法与硬件加速方法相比,但 与采用纯软件模拟方式相比,速度要快得多。 3 纯软件模式 对于不具备三维加速功能的显示卡,要想运行o p e n g l ,只能采用纯软件模 拟方式。由于所有复杂的o p e n g l 图形功能均通过主机来模拟,所以速度将会受 到很大的影响。但正是由于有了软件模拟方式,才使得更多的用户能够领略 o p e n g l 的强大功能,并能在硬件性能较差的机器上对0 p 衄g l 进行开发。 采用了o p e n g l 技术,大大降低了开发高质量图形软件对软、硬件的依赖程 度。 o p e n g l 对硬件的要求如下: c t u :p e n t i n u m 或p c n t i n u mp r o 时钟频率:9 0 m h z 以上 内存:1 6 3 2 6 4 m b 以上 硬盘:5 1 2 m b 以上 其它可选。 o p e n g l 对软件环境的最低要求是: 操作系统:w i n d o w sn t 4 0 以上或w m d o w s9 5 以上 o p e n g l 库:v i s u a ls t u d i o5 0 以上版本已包含该库。 2 3 在v c 中使用o p e n g l 的方法 w i n d o w sg d i 是通过设备旬柄( d e v i c ec o n t e x t 以下简称”d c ”) 来绘图,而 o p e n g l 则需要绘制环境( r e n d e r i n gc o n t e x t ,以下简称”r c ”) 。每一个g d i 命 令需要传给它一个d c ,与g d i 不同,o p e n g l 使用当前绘制环境( r c ) 。一旦在 1 4 开发平台的选择及简介 一个线程中指定了一个当前r c ,所有在此线程中的o p e n g l 命令都使用相同的 当前r c 。虽然在单一窗口中可以使用多个r c ,但在单一线程中只有一个当前 r c 因此在程序中首先要创建一个r c ,并把它设置为当前r c 。 首先创建工程,然后将工程所需的o p e n g l 文件和库加入到工程中,改写 o n p r e c r e a t e 函数并给视类添加成员函数和成员变量。 o p e n g l 需要窗口加上w s _ c l i p c h i l d r e n ( 创建父窗口便用的w m d a w s 风格,用于重绘时裁剪子窗口所覆盖的区域) 和w s _ c l i p s i b l i n g s ( 创建子 窗口使用的w i n d o w s 风格,用于重绘时剪裁其他子窗口所覆盖的区域) 风格。 把o n p r c c r e a t e 改写成如下所示: b o o l c p h y
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 微生物检测中的质量控制策略试题及答案
- 历年特许金融分析师考试真题分析试题及答案
- 2025年科技金融对传统投资的影响试题及答案
- 常见课题申报书问题
- 综合素质提升的证券从业资格证考试试题及答案
- 注册会计师考试各科目应对策略及心得分享试题及答案
- 2025年注册会计师考试学习方式的多样化试题及答案
- 战略布局国际金融理财师试题及答案
- QC指标在微生物检验中的应用试题及答案
- 2025年证券从业资格证创新思维试题及答案
- 2025年中电科太力通信科技限公司招聘高频重点提升(共500题)附带答案详解
- 《设备房管理标准》课件
- 地理-北京市朝阳区2024-2025学年高三第一学期期末质量检测考试试题和答案
- 2025年内蒙古呼伦贝尔农垦拉布大林上库力三河苏沁农牧场有限公司招聘笔试参考题库附带答案详解
- 呼吸机故障应急演练
- 轻钢结构大棚施工组织设计方案
- 垃圾分类垃圾箱绿色公益宣传
- 2024年度高中报名辅导中介服务合同
- 【MOOC】信号与系统-哈尔滨工业大学 中国大学慕课MOOC答案
- 145完整版本.现代安全管理的六大管理体系
- 19《牧场之国》第二课时说课稿-2023-2024学年五年级下册语文统编版
评论
0/150
提交评论