首页 计算机辅助教学的概念

计算机辅助教学的概念

举报
开通vip

计算机辅助教学的概念计算机辅助教学的概念 沈阳理工大学学士论文 1 绪 论 1.1 计算机辅助教学的概念 计算机辅助教学是在教学领域中采用计算机、网络、通讯和多媒体等多种高新技术而开拓出的新的教学手段,具有集图、文、声、像于一体的多媒体组合特性,它创新性的教学意义在于能够创设形象直观、刺激丰富的学习环境,优化学习过程,提高学习绩效。多媒体教学软件形式多样,如以系统性为特征的课件,以基元性为特征的积件,基于单机的多媒体教学光盘,基于网络的网络教学软件等,然而其基本功能都在于使学习者实现有效的学习。CAI有三种基本模式,根据具体的教...

计算机辅助教学的概念
计算机辅助教学的概念 沈阳理工大学学士论文 1 绪 论 1.1 计算机辅助教学的概念 计算机辅助教学是在教学领域中采用计算机、网络、通讯和多媒体等多种高新技术而开拓出的新的教学手段,具有集图、文、声、像于一体的多媒体组合特性,它创新性的教学意义在于能够创设形象直观、刺激丰富的学习环境,优化学习过程,提高学习绩效。多媒体教学软件形式多样,如以系统性为特征的 课件 超市陈列培训课件免费下载搭石ppt课件免费下载公安保密教育课件下载病媒生物防治课件 可下载高中数学必修四课件打包下载 ,以基元性为特征的积件,基于单机的多媒体教学光盘,基于网络的网络教学软件等,然而其基本功能都在于使学习者实现有效的学习。CAI有三种基本模式,根据具体的教学目标和教学内容,可分为: , 辅助教师讲解 在多媒体产品中,有许多属于提供大量的图形、图片、动画、视频图像和音响来说明主题,因此,它十分适合于资料的演示,在课堂教学过程中,结合教学内容,利用设在综合电教室的Mpc系统和闭路电视系统以及扩音设备等,向学生展示图形、图画、视频图像和声音,使学生获得生动形象的感性材料。特别是一些用语言难以表述清楚、变化过程复杂的、无法直接观察的教学内容,如物理学中的分子运动、电磁场等,都可以通过计算机模拟显示出来。 , 供学生自主学习 这种模式是让计算机充当教师,使学生通过计算机学习新的知识技能,个别辅导模式。这类CAI包括有自然科学、外语学习、语文学习、音乐、计算等多方面内容,这类CAI不仅提供文字、图形、动画、视频图像,还有语音解说和效果音响。这种类似于教材的CAI声、文、图并茂,具有良好的视觉效果。 , 利用网络进行辅助教学 1999年6月召开的全国教育工作会议强调大力发展远程教育,对我国的教育现代化建设有着重大的现实意义。网上教育解决了由于地区差异造成的教育水平的差异,改变传统的学习方法和习惯而使学生将更多的精力和时间用于创新能力的培养上,将使社会,家庭与学校走得更近。校园网和网上学校代表的是一个新的产业,它虽刚刚兴起,但具有广阔的前景,将给我们的教育事业带来巨大的活力。 1 沈阳理工大学学士论文 1.2 计算机辅助教学的发展概况 计算机辅助教学的概念来自美国。早在本世纪二十年代,美国心理学家S.L.Pressey就开始研究程序和机器教学。五十年代美国哈佛大学心理学家B.F.Skinner教授发表的两篇著作标志着教学机器和程序教学的兴起。1958年,IBM公司沃斯顿研究中心设计了世界第一个计算机教学系统,CAI以此为起点逐渐发展起来。60年代至今,随着计算机价格的下降,使得CAI在普及了计算机的经济科技发达国家投入了真正的大范围应用。1990年11月,美国建立了一套分布于30多个国家和地区的“苹果计算机全球教育网”,使各国学生都可以通过标准电话线连接的计算机与世界各地的学生互相学习,互通信息。 我国计算机辅助教学发展的几个阶段: 1、引进介绍国外经验、理论的准备阶段 这一阶段为80年代初到80年代中后期。我国计算机辅助教学起步较晚,加之硬件设备和理论基础薄弱,因此可以说在此之前计算机在教育、教学中的应用几乎是空白,而此时国外计算机辅助教育却发展极为迅速,成效极大。我国在这个阶段主要是介绍、翻译国外尤其是美国和日本的先进经验和成果。 2(注重硬件配置的实施阶段 这一阶段为80年代中后期到90年代初。在对国外计算机辅助教育初步了解的基础上,一些有识之士提出我国应加快发展计算机辅助教育。此时计算机价格下降,在一些有条件的地区和学校配置起一定数量的微机,我国计算机辅助教育进入了具体的实施阶段。 3. 注重软件开发的发展阶段 1994年以来,由于计算机价格不断下降,拥有计算机的学校日益增多。在全国掀起了一股学微机、用微机的高潮,为CAI的发展提供了极好的契机。 “课件”、“CAI”等词频繁地出现在教育领域中。不仅重视课件的编制,也重视课件的评价与推广发行。这一时期是教学软件兴盛的时期。CAI的兴起是教育领域中信息革命的最有代表性的产物。标志着为适应信息社会的需要在教育领域中进行的又一次教育革命的开始。 在这次教育行业的巨大变革中,计算机辅助教学完成了由个别化教学模式向课堂演示教 2 沈阳理工大学学士论文 学模式,又由课堂演示教学模式向多媒体网络教学模式的转变。不同的计算机辅助教学模式需要有不同的软件以支持、但“课件本身具有教学目标的特定性、教学内容的完整性、教学模式的固定性和教学结构的封闭性”等特点,决定教学活动中使用范围有一定的局限性,不能适应灵活多样的教学模式。针对这一缺陷,“积件”、“群件”思想应时而生,课件、积件、群件的多元化发展已成为CAI发展的趋势。 1.3 所完成的功能 , 基本功能:再简洁易懂的操作界面下,用户可以点击具体机构的选项进入该机构的演示界面,在根据界面提示对指定机构的各项参数、演示方式、环境效果进行设置后,就开始了该机构的演示。演示期间,用户可以自由转换观测角度、距离以及演示速度,并且可以随时暂停以观察特定时段的机构运动形态,传统CAI软件在观测方式上无法选择的弊端被彻底改善。 , 逼真的效果:OpenGL虚拟现实建模技术的引入,大大增强了本软件的视觉效果。在光照、材质、纹理映射、色彩融合、反走样及双缓存等诸多技术的处理下,用户可以仿佛身临其境的欣赏形象逼真的机构模型,使用效果明显提高,将计算机辅助教学的视觉优势真正发挥出来。 , 交互特性:本系统实现了教学过程以及辅助设计中真正意义上的交互。除了上述在观测位置、环境效果上的交互,本系统更提供了对于机构参数、运动形式的实时交互,这一点在CAI应用软件中可谓创新之举。主动获取特定知识的功能,不仅真正的让用户成为教学过程中的主角,更激发了用户获取知识掌握知识的兴趣。 , 网络功能:系统引入Microsoft公司的ActiveX控件技术,将实现相关功能的程序代码封装为ActiveForm,可以在网页上作为应用程序载体的控件。由于这种方式巧妙的将三维动画在网上的传输载体由较大的视频文件转化为数据量很小的代码文件,而将三维建模和视频演示的工作留给本地计算机完成,成功突破了网络带宽这个瓶颈的束缚,用户在网上观看本系统的演示时,完全没有停顿情况。 1.4 采用技术 本系统是在Borland公司的Delphi 7.0编程环境下,通过对OpenGL函数库中建模以及渲染的函数进行调用,开发而成。 3 沈阳理工大学学士论文 2 DELPHI的简介与发展 2.1 DELPHI的有关概述 DELPHI是BORLAND公司于1995年2月开始推出的,1996年推出T DELPHI2.0版,1997年推出了DELPHI 3. 0版,目前已经推出T 4. 0版。DELPHI将真正的面向对象的语言功能与方便的可视化编程环境结合在一起。比起其他可视化程序开发语言来说,DELPHI具有更强大的语言表述力、面向对象的特征和有效性。 Delphi这个名字源于古希腊的城市名。它集中了第三代语言的优点。以Object Pascal为基础,扩充了面向对象的能力,并且完美地结合了可视化的开发手段。Delphi自1995年2月一推出就受到了人们的关注,并在当年一举夺得了多项大奖。Delphi的出现打破了Visual可视化编程领域一统天下的局面。并且Delphi使用了本地编译器直接生成技术,使程序的执行性能远远高于其它产品生成的程序。它还是真正的面向对象的编程语言。PASCAL语言的严谨加上可视化的优势和强大的数据库功能使得它有充分的资本和微软的VB叫板。许多人当时都认为Pascal是最有前途的程序设计语言,并预测Delphi将会成为可视化编程的主流环境?Delphi在你编好程序后自动转换成EXE文件它运行时速度比VB快,而且编译后不需要其他的支持库就能运行。它的数据库功能也挺强的,是开发中型数据库软件理想的编程工具。Delphi适用于应用软件、数据库系统、系统软件等类型的开发。而且它拥有和VB差不多一样的功能,而且一样能应用API函数,这在控制Windows很有用。 Delphi是全新的可视化编程环境,为我们提供了一种方便、快捷的Windows应用程序开发工具。它使用了Microsoft Windows图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言(Object-Oriented Language)、当今世界上最快的编辑器、最为领先的数据库技术。对于广大的程序开发人员来讲,使用Delphi开发应用软件,无疑会大大地提高编程效率,而且随着应用的深入,您将会发现编程不再是枯燥无味的工作— Delphi的每一个设计细节,都将带给您一份欣喜。Delphi的基本形式Delphi实际上是Pascal语言的一种版本,但它与传统的Pascal语言有天壤之别。 DELPHI最初是作为历史悠久的Borland Pascal产品线的修订版出现的,所以DELPHI使用Object Pascal的语言语义。DELPHI程序使用了一个被称为可视化组件库(即VCL: Visual Component Library)的面向对象的框架,正是VCL真正使DELPHI在竞争中脱颖 4 沈阳理工大学学士论文 而出。由于采用了多态性、封装性和继承性等面向对象的特征,使得DELPHI VCL能为程序员提供无可比拟的控制能力。 面向对象的语言可以被分为两类— 纯粹的OOP实现,如SmalItalk和Simula,以及混合型的C++和DELPHI。如同C++是C的一个面向对象的扩展一样,DELPHI的Object Pascal也是Pascal的一个扩展。Object Pascal与C++的目标是相同的,它们必须在能够不加改动的运行原有代码的同时提供完全的面向对象的特性.事实上,如。elphi等混合语言之所以比纯粹的OOP语言成功,其原因在很大程度上应归功于对它们的基语言的广泛了解和使用。它使得Pascal程序员在决定转向OOP时不必去学习一种全新的语言。 .2 DELPHI的基本特性 2 继承,即新类型的派生,出现在甚至是最简单的Delphi程序中,它是面向对象的编程的主要特征之一。继承使得VCL呈现一种层次结构。在Delphi中,所有的类最终都从同一个被称作TObject的基类派生而来,派生类在继承祖先类的属性的同时添加它自己的功能。通常新的Delphi类将从该层次结构的更下层开始继承以获得比TObject中更多的属性。像VCL这样的类结构中具有一种父子关系,其中祖先类通常被称作是父亲,基类,而派生类(或派生类),则被看作是该基类的一个孩子。在层次结构中靠近根的类更为抽象和通用,而距根较远的类则更为具体和专用。 派生类从其父亲继承而来的属性可以不加修改地使用,也可以根据需要加以修改。在祖先类中声明属性是因为它们被一组派生类所共享。例如,所有对象的祖先TObject中包含一个被为Create的方法(一个Pascal过程或函数)。所有其他类都继承了这一法,但侮个类都可以实现一个适用于那个类的Create版本。面向对象的多态性的特性使得Create方法依据使用它的对象的不同而表现不同的行为。这一特性使你能通过一个一致的接口,以相似的方式来访问不同的对象。如果你需要改变某个属性(类的特征之一)的方法,你可利用多态性来重载它.这一特性在整个VCI中经常会用到。 OOP的另一个基本特性— 封装性是指将一个类的属性和方法放于同一块代码中,并使类的接口与其他实现相独立。接口是程序中暴露给用户(在这里是指访问你的代码的程序员)的那一部分,而实现则是指只对编写该类代码的程序员可见的部分。Delphi的Object Pascal从字而上就表明了这一点。封装性使得程序员可以通过它们的属性和方法来访问对象而不必了解内部操作的细节。 Delphi是全新的可视化编程环境,为我们提供了一种方便、快捷的Windows应用程 5 沈阳理工大学学士论文 序开发工具。它使用了Microsoft Windows图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语(Object-Oriented Language)、当今世界上最快的编辑器、最为领先的数据库技术。对于广大的程序开发人员来讲,使用Delphi开发应用软件,无疑会大大地提高编程效率,而且随着应用的深入,您将会发现编程不再是枯燥无味的工作——Delphi的每一个设计细节,都将带给您一份欣喜。 2.3 Delphi的基本形式 Delphi实际上是Pascal语言的一种版本,但它与传统的Pascal语言有天壤之别。一个Delphi程序首先是应用程序框架,而这一框架正是应用程序的“骨架”。在骨架上即使没有附着任何东西,仍可以严格地按照设计运行。您的工作只是在“骨架”中加入您的程序。缺省的应用程序是一个空白的窗体(Form),您可以运行它,结果得到一个空白的窗口。这个窗口具有Windows窗口的全部性质:可以被放大缩小、移动、最大最小化等,但您却没有编写一行程序。因此,可以说应用程序框架通过提供所有应用程序共有的东西,为用户应用程序的开发打下了良好的基础。Delphi已经为您做好了一切基础工作——程序框架就是一个已经完成的可运行应用程序,只是不处理任何事情。您所需要做的,只是在程序中加入完成您所需功能的代码而已。 在空白窗口的背后,应用程序的框架正在等待用户的输入。由于您并未告诉它接收到用户输入后作何反应,窗口除了响应Windows的基本操作(移动、缩放等)外,它只是接受用户的输入,然后再忽略。Delphi把Windows编程的回调、句柄处理等繁复过程都放在一个不可见的Romulam覆盖物下面,这样您可以不为它们所困扰,轻松从容地对可视部件进行编程。 3 OpenGL的虚拟现实技术 3.1 OpenGL简介 OpenGL,是Open Graphics Library(开放图形库)的英文缩写,是SGI公司为其图像工作站开发的可以独立于窗口操作系统和硬件环境的三维图形库,是“一种到图形硬件的软件接口”。由于其强大的图形功能和跨平台的能力,已广泛应用于科学可视化、实体造型、CAD/CAM、模拟仿真等诸多领域。 目前,Microsoft、SGI、IBM、DEC、SUN、HP等大公司都采用了OpenGL作为三 6 沈阳理工大学学士论文 维图形标准。许多软件厂商也纷纷以OpenGL为基础开发出自己的产品,其中比较著名的产品包括动画制作软件Soft Image和3D Studio MAX、仿真软件Open Inventor、VR软件World Tool Kit、CAM软件ProEngineer、GIS软件ARC/INFO等。特别是微软的加入,使在微机上实现三维真实感图形的生成与显示成为可能。由于OpenGL独立于硬件设备和操作系统,包括微软在内的许多公司都把OpenGL集成到操作系统中,这其中就包括我们熟悉的UNIX和Windows95,NT,98,2000等。 3.2 OpenGL技术基础 OpenGL作为一个开放的三维图形软件包,它独立于窗口系统和操作系统。以OpenGL为基础开发的应用程序可以十分方便地在各种平台间移植。而且OpenGL可以与Delphi紧密接口,保证算法的正确和可靠;OpenGL使用简便,效率较高。简要地说,OpenGL具有以下八种功能: , 建模:OpenGL图形库除了提供基本的点、线和多边形的绘制函数外,还提供了复杂的三维物体(球、锥、多面体、茶壶等)以及复杂曲线曲面(如Bezier、Nurbs等曲线曲面)绘制函数。 , 变换:OpenGL图形库的变换包括基本变换和投影变换。基本变换有平移、旋转、变比和镜像四种变换。投影变换有平行投影(又称正射投影)和透视投影两种变换。 , 颜色模式设置:OpenGL颜色模式有两种,即RGBA模式和颜色索引(Colorlndex)。 , 光照和材质设置:OpenGL光有辐射光(Emitted Light)、环境光(Ambient Light)、漫反射光(Diffuse Light)和镜面光(Specular Light)。材质是用光反射率来表示的。场景(Scene)中物体最终反映到人眼的颜色是光的红绿蓝分量与材质红绿蓝分量的反射率相乘后形成的颜色。 , 纹理映射(Texture Mapping):利用OpenGL纹理映射功能可以十分逼真地表达物体表面细节。 , 位图显示和图像增强:图像功能除了基本的复制和像素读写外,还提供融合(Blending)、反走样(Antialiasing)和雾柔化(Fog)的特殊图像效果处理。以上三条可使被仿真实体更具真实感,增强图形显示的效果。 7 沈阳理工大学学士论文 , 双缓存(Double Buffering)动画:双缓存即前台缓存和后台缓存。简而言之,后台缓存计算场景、生成画面,前台缓存显示后台缓存已画好的画面。 , 其他:利用OpenGL还能实现深度暗示(Depth Cue)、运动模糊(Motion Blur)等特殊效果。从而实现了消隐算法。 OpenGL在Windows下的运行机制: OpenGL函数通过“绘制描述表”(Rendering Context,RC)完成三维图形的绘制,只要在创建 RC时将它与一个“设备描述表”(DeviceContexts, DC)相关联(RC只能由已经建立了位图格式的 DC来创建),OpenGL的函数就可以通过RC对 应的DC绘制到相应的显示设备上。 (如图3.1所示) 相应步骤如下: 图 3.1 1.设置显示设备DC的位图格式属性:通过填写一个PIXELFORMATDESCRIPTOR 的结构来完成,该结构决定OpenGL绘图的物理设备属性。DC有可能只支持部分位图格式,因此程序必须首先使用函数ChoosePixelFormat选择与DC所支持的指定位图格式最接近的位图格式,然后使用函数SetPixelFormat设置DC的位图格式。 2.创建绘制场境RC与DC的联系。利用DC创建绘制场景RC(wglCreateContext),以便在RC与DC之间创建关联,此时需要使用函数wglMakeCurrent。 3.调用OpenGL函数进行绘图。由于线程与RC一一对应,OpenGL函数的参数中都不指明本线程RC的句柄(handle)。 4.释放相关内存。绘图完毕后,需要调用函数wglMakeCurrent设置当前线程的RC为NULL,从而断开当前线程和该绘制场景的关联,并由此断开与DC的关联。此时RC句柄的有效性不明确,所以在后面删除RC时,要首先判断RC句柄的有效性再调用函数wglDeleteContext,然后根据情况调用函数ReleaseDC或函数DeleteDC释放或删除DC。 8 沈阳理工大学学士论文 3.3 OpenGL应用于本系统的可行性 作为机械原理课程学习的主要对象,机械机构的外在形态和运动规律有其规律可循(可以通过数学和空间几何运算确定),因此非常适合用OpenGL进行建模与演示。事实证明,应用OpenGL丰富的库函数、灵活的建模技巧,不仅可以构建起逼真的机构模型,而且在描述空间运动上也是得心应手,完全可以满足我们对全新机械原理CAI的各种要求。 3.4 应用Delphi开发环境中的OpenGL技术 在OpenGL的大多数应用中,都是在Visual C++语言环境下进行开发的,这和微软公司首先实现了在微机上使用OpenGL并首推Visual C++环境下的开发不无关系,然而这未必就是唯一的和最好的选择。在以往应用Visual C++进行OpenGL开发的过程中,我发现了一些不足之处。其一,开发方法较复杂。开发OpenGL程序,语言环境的工作主要是调用gl、glu、glut函数库中的函数,而除此之外Visual C++仍须做很多底层的工作,这种比较复杂的开发手段无疑增加了开发者的负担。其二,开发环境较差。Visual C++虽然也是可视化的,但它只对窗口界面的设计采用了可视化,并非对整个应用程序的可视化,导致程序开发周期过长。 为此,我们采用了Delphi进行本程序开发,不仅继承了传统编译程序开发工具高效的特点和底层硬件控制的能力,同时通过可视化构件类库所提供的构件以及对OpenGL完美的支持,就可以高效的实现即定功能。 3.5 OpenGL的基本功能 作为硬件图形设备的软件接口,OpenGL的主要意图是在帧缓冲区中精确的绘制2D和3D的物体。这些物体被描述为顶点或像素的序列。OpenGL形成若干处理步骤,将这些数据转化成像素,并在帧缓冲区中形成最终的影像。OpenGL作为独立于窗口系统、操作系统和硬件平台的三维图形处理技术,必然包括:图形处理、交互、窗口、仿真设备驱动几个方面。 3.6 OpenGL的基本处理流程 OpenGL的命令发出后,或者是存储在显示列表中供以后调用,或者与像素操作一起处理,通过运算、逐个顶点操作,进行光栅化处理、逐个片段操作,形成影像并存入帧缓冲区。对于图像数据,像素操作的结果被存储在纹理内存中,供纹理组装后与顶点数 9 沈阳理工大学学士论文 据一起进行光栅化处理,共同形成三维影像。图3.2显示了OpenGL基本工作流程图,描述了一个OpenGL命令从开始到最终形成图像的过程。 图 3.2 3.7 OpenGL的函数库 OpenGL的函数大致上分为6类: 1. OpenGL核心库:约150个函数。函数名前缀为gl。这部分函数用于常规的、核心的图形处理。由于许多函数可以接受不同数据类型的参数,因此派生出来的函数原形多达300多个。 2. OpenGL实用库:约40个函数。函数名前缀为glu。这部分函数调用核心库的函数,为开发者提供相对简单的用法,实现一些较为复杂的操作。如:坐标变换、纹理映射、绘制椭球、茶壶等简单多边形。OpenGL核心库和实用库的函数是可以在所有OpenGL平台上运行的。 3. OpenGL辅助库:约30个函数。函数名前缀为aux。这部分函数提供窗口管理、输入输出处理以及绘制一些简单三维物体。因此,OpenGL辅助库的函数不能在所有的OpenGL平台上实现。 4.OpenGL工具库;约30个函数。函数名前缀为glut。这部分函数主要提供基于窗口的工具,如:多窗口绘制、空消息和定时器,以及绘制一些较复杂物体的函数。由于GLUT的窗口管理函数是不依赖于运行环境的,因此GLUT可以在所有OpenGL平台上运行。 5. Windows专用:约16个函数。函数名前缀为wgl。这部分函数用于连接OpenGL和Windows 10 沈阳理工大学学士论文 x/NT,以弥补OpenGL在文本方面的不足。专用于Windows x/NT环境。 6. Win32API函数:约6个函数。函数名无专用前缀。这部分函数用于处理像素存储格式和双帧缓存。专用于Windows x/NT环境。这6个函数将替换Windows GDI中原有的同样的函数,因此,链接库的清单中OpenGL的库必须放在前面。 3.8 OpenGL的基本图元 OpenGL的基本图元包括点(Point),线段(Line segement),和多边形(Polygon)。在即enGL中,点指的是顶点,即空间几何中的一个三维物体的几何顶点,通常用齐次坐标表示(x, y, z, w) ,w的默认值为1. 0. z的默认值为0.0;线段与通常几何中描述的线段是一致的,即两端有端点的有限长度的直线;多边形是由一系列线段首尾相接而成的封闭区域,它必须是几何中的凸多边形,否则不能被OpenGL的函数接受。基本图元定义为一个或多个顶点的集合。一个顶点定义一个点,一条线的终点,或者一个多边形两条边相交的角。数据(由顶点坐标、颜色、法线、纹理坐标,以及边线标记组成)与顶点相关联,并且每一个顶点和它的像素数据按照顺序,以同样的方式分别进行处理。 3.9 OpenGL的渲染功能 OpenGL的强大绘图功能表现在绘制各种复杂的三维图像,针对的是一个丰富多彩的三维世界。与二维图形不同的是,首先在三维空间合适的位置布置模型,选择一个有利的观察点,然后才能看到一幅视觉效果良好的逼真的三维图像。OpenGL是通过取景变换、投影变换、视见区变换以及控制变换矩阵堆栈、恢复OpenGL的状态来实现复杂三维图像的绘制。OpenGL对图像进行变换与照相机拍摄物体的过程是相似的。支起三角架,把照相机放在场景中,相当于OpenGL的取景变换。把要拍摄的场景物体固定在要拍摄物体上,相当于OpenGL的模型变换。 3.10 应用Delphi开发环境中的OpenGL技术 在OpenGL的大多数应用中,都是在Visual C++语言环境下进行开发的,这和微软公司首先实现了在微机上使用OpenGL并首推Visual C++环境下的开发不无关系,然而这未必就是唯一的和最好的选择。在以往应用Visual C++进行OpenGL开发的过程中,我发现了一些不足之处。其一,开发方法较复杂。开发OpenGL程序,语言环境的工作主要是调用gl、glu、glut函数库中的函数,而除此之外Visual C++仍须做很多底层的工作,这种比较复杂的开发手段无疑增加了开发者的负担。其二,开发环境较差。Visual C++虽然也是可视化的,但它只对窗口界面的设计采用了可视化,并非对整个应用程序的可视化,导致程序开发周期过长。 11 沈阳理工大学学士论文 为此,我们采用了Delphi进行本程序开发,不仅继承了传统编译程序开发工具高效的特点和底层硬件控制的能力,同时通过可视化构件类库所提供的构件以及对OpenGL完美的支持,就可以高效的实现即定功能。 4 典型机构的理论基础 4.1 机构的组成和结构 机构是具有确定运动的实物组合体。作无规则运动或不 能产生运动的实物组合均不能成为机构。了解机构的组成和 结构特点,掌握机构组成的一般规律,无论对于 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 已有的 机构还是着手创新设计新机械,都具有十分重要的指导意义。 4.1.1 构件 从制造、加工的角度看,任何机械都是由若干单独加工 制造的单元体― 零件组装而成。例如图1 . 1 所示的内燃 机中的连杆,就是由单独加工的连杆体1 、连杆头2 轴瓦3 、 螺杆4 、螺母5 、轴套6 等零件装配而成的。 但是从机械实现预期运动和功能的角度来看,并不是每 个零件都独立起作用。每一个独立影响机械功能并能独立运 动的单元体称为构件。构件可以是一个独立运动的零件,但 有时为了结构和工艺上的需要,常将几个零件刚性地联接在 一起组成构件。图4 .1所示的连杆就是由许多不产生相对运 动的零件刚性联接而成的一个构件,它们是一个不可分割的 运动单元。 图 4.1 4.1.2 运动副 机构都是由构件组合而成的,其中每个构件都以一定的方式至少与另一个构件相联接,这种联接既使两个构件直接接触,又使两构件能产生一定的相对运动。每两个构件间的这种直接接触所形成的可动联接称为运动副。构成运动副的两个构件间的接触不外 12 沈阳理工大学学士论文 乎点、线、面3 种形式,两个构件上参与接触而构成运动副的点、线、面部分称为运动副元素。构件所具有的独立运动的数目(或是确定构件位置所需要的独立参变量的数目)称为构件的自由度。一个构件在未与其它构件联结前,在空间可产生6个独立运动,也就是说具有6个自由度。 4.1.3 运动链 两个以上构件通过运动副的联接而构成的系统称为运动链。如果组成运动链的各构 如图4.2(a)和(b)所示),则称为闭式运动链,简称闭链。如果件构成首末封闭的系统( 组成运动链的各构件末构成首末封闭的系统(如图4.2(c)所示),则称为开式运动链,简称开链。 图 4.2 传统的机械中以闭式运动链为多,随着生产线中机械手和机器人的应用日益普遍,机械中开式运动链也逐渐增多。 4.1.4 机构 在运动链中,将某一构件加以固定,而让另一个(或几个)构件按给定运动规律相对于该固定构件运动,若运动链中其余各构件都能得到确定的相对运动,则此运动链成为机构。 机构中固定不动的构件称为机架,按照给定运动规律独立运动的构件称为原动件(或主动件),而其余活动构件称为从动件。 组成机构的各构件的相对运动均在同一平面内或在相互平行的平面内,则此机构称为平面机构;机构各构件的相对运动不在同一平面或平行平面内,则此机构称为空间机构。 4.2 运动链成为机构的条件 13 沈阳理工大学学士论文 判断所设计的运动链能否成为机构,是提出新的 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 时自行评价方案可行性的关键一步。 运动链能成为机构的首要条件,是运动链的自由度必须大于零。如图4.2(a)所示的平面三构件运动链,其自由度F=3n-2p5-p4=0。F=0表明该运动链中各构件之间已无相对运动,只构成了一个刚性架,因而不能成为机构。又如图4.2(b) 所示的平面四构件运动链,其自由度=-1,表明该运动链由于约束过多,已成为超静定架了,也不能成为机构。 如果运动链的自由度大于零,则需进一步判断该运动链是否具有确定运动。由于通常每一个原动件只具有一个独立运动(如用电动机作为原动机,其转子只能给原动件一个独立的转动;如用气缸或液压缸作为原动机,其活塞杆也只能给原动件一个相对独立的直移运动等),所以在运动链自由度大于零的情况下,运动链成为机构的条件是:原动件的数目应等于运动链的自由度数。 如图 4.2(C)所示的平面四杆运动链,其自由度 F=3n- 2p5-p 4=1 ,在这个自由度为 1 的运动链中,若取构件 1 为原动件,则从图中可以看出,构件 1 每转过一个角度,构件 2 和 3 便有一个确定的相对位置,也就是说这个运动链能够成为机构。如果同时使构件 3 也作为原动件具有独立的运动,则运动链内部的运动关系将发生矛盾,其中最薄弱的构件必将损坏。这说明,要使自由度大于零的运动链成为机构,原动件的数目不可多于运动链的自由度数。 又如图4.2 ( d )所示的平面五杆运动链,其自由度 F=3n- 2p5-p 4=2 ,在这个自由度为 2 的运动链中,若同时取构件 1 和 4 作为原动件,则由图看出,构件 2 和 3 具有确定的运动,即该运动链能成为机构。如果只取构件 1 作为原动件,则由图可知,其余三个活动构件 2 , 3 , 4的运动将不能确定,只能作无规则的运动。这说明,要使自由度大于零的运动链成为机构,原动件的数目不可少于运动链的自由度数。 14 沈阳理工大学学士论文 以上所举的例子均为闭式运动链,图4.2(e)所示为平面开式链,该开式链的自由度 等于3。若同时取构件 1 , 2 , 3 为原动件,则由图可知,该运动链具有确禅的运动,能成为机构,它即是简单的机械手中的开式链机构。但若只取其中的一个或两个构件为原动件,则由图可以看出,其余活动构件的运动将不能确定,此运动链就不能成为 机构。 综上所述,运动链成为机构的条件为:取运动链中一个构件相对固定作为机架,运动链相对于机架的自由度必须大于零,且原动件的数目等于运动链的自由度数。 4.3 连杆机构 连杆机构是一种应用十分广泛的机构,图4.3中所示的a)四杆机构、b)曲柄滑块和c)导杆机构等都是典型的连杆机构形式。在组成机构的构件中,不直接与机架相连的中间构件称为连杆,凡具有连杆的机构被称为连杆机构。 图 4.3 4.3.1 连杆机构机传动特点 1. 连杆机构中的运动副一般均为低副,因为低副两元素为面接触,故在传递同样载荷的条件下,两元素间的压强较小,可以承受较大的载荷,而且几何形状简单便于加工制造。 2. 在连杆机构中,但原动件以同样的运动规律运动时,如果改变各构件的相对长度关系,便可使从动件得到不同的运动规律。 3. 在连杆机构中,连杆上不同点的轨迹是不同形状的曲线(特称为连杆曲线),而且随着各构件相对长度关系的改变,这些连杆曲线的形状也将改变,从而可以得到各种不同形状的曲线,可以利用这些曲线来满足不同轨迹的要求。 15 沈阳理工大学学士论文 4. 连杆机构还可以方便的用来达到增力、扩大行程和实现较远距离的传动等目的。 4.3.2 平面四连杆机构的基本知识 1. 平面连杆机构有曲柄的条件: 转动副为周转副的条件是:最短杆与最长杆的长度和应小于或等于其他两杆的长度和(通常称为杆长条件)。并且组成该周转副的两杆中必有一杆为四杆中的最短杆。 四杆机构有曲柄的条件是:各杆的长度需满足杆长条件,且其最短杆为连架杆或机架。当最短杆为连架杆时,该四杆机构将成为曲柄摇杆机构。当最短杆为机架时将成为双曲柄机构。如果最短杆为连杆,则该四杆机构将不存在曲柄,成为双摇杆机构。 2. 急回运动和行程速比系数: 反正行程速比系数K用来表明急回运动的急回程度。当曲柄摇杆机构在运动过程中出现极位夹角时,机构便具有急回运动特性。角度越大,反正行程速比系数值越大,机构的急回运动性质也越显著。 3. 铰链四杆机构的运动连续性: 运动连续性,是指连杆机构在运动过程中能否连续实现给定的各个位置的问题。在设计连杆机构时,不能要求其从动件在两个不连通的可行域内连续运动。因此,在设计过程中,需检查所设计的机构能否满足运动连续性要求,即检查是否有错位、错序问题存在。 4.3.3 平面四杆机构的设计 不同于机械原理课程中所提及的“按预定运动规律设计四杆机构”等设计思想,在此对连杆机构运动的设计主要是:在给定杆长的情况下,计算某一时刻,各个杆的两端点坐标及相对于坐标轴的偏移角度,以便确定四个杆在空间的摆放位置,借以实现连杆结构的运动演示。 如图4.4所示,建立坐标系和四连杆结构关系: 假定AD始终保持固定,AB为曲柄即可相对于AD做整周回转;这里AB作为原动件,令?BAD=θ,则θ即为决定BC、CD两杆运动规律的唯一未知变量。首先求出B 16 沈阳理工大学学士论文 点坐标: x2=a*cos(θ) 式4.1 y2=a*sin(θ) 式4.2 现在C点坐标(x3,y3)可以放到三角 形CBD中求解。 222 式4.3 b,(x2,x3),(y2,y3) 222 式4.4 c,(x4,x3),(y4,y3) 图 4.4 联立解方程组,解得C点坐标(x3,y3),并且根据铰链四连杆的运动规律,舍掉位于AD杆下方的无理值点。A、B、C、D四个点的坐标值,决定了四个杆在平面上的位置,可以以此为基础在下一章机构建模中正确放置四个杆的三维模型,从而实现四连杆结构演示。 4.4 凸轮机构 凸轮是一个具有曲线轮廓或凹槽的构件,被凸轮直接推动的构件称为推杆(或称从动件),而凸轮机构则是由凸轮、推杆和机架三个主要构件所组成的高副机构。在各种机械,特别是自动机械和自动控制装置中,广泛地应用着各种形式的凸轮机构。凸轮机构的最大优点是可以通过设计轮廓曲线,使推杆得到各种预期的运动规律。 4.4.1 凸轮机构的分类 常用凸轮有盘形凸轮、圆柱凸轮和移动凸轮三类。盘形凸轮用于滚子直动从动件盘形凸轮机构、滚子摆动盘形凸轮机构、平底直动从动件盘形凸轮机构、平底摆动从动件盘形凸轮机构。圆柱凸轮用于摆动推杆圆柱凸轮机构和直动推杆圆柱凸轮机构。移动凸轮是圆凸轮的展开。上述凸轮都依靠其外缘的轮廓曲线或凹槽线进行工作,凸轮机构能否按预期的运动规律良好工作,主要取决丁凸轮廓线,设计凸轮廓线是凸轮机构设计的关键。 另外,凸轮按推杆形状:分为尖顶推杆、滚子推杆、平底推杆。按运动形式:分为力封闭的凸轮机构、几何形状封闭的凸轮机构。 17 沈阳理工大学学士论文 4.4.2 从动件运动规律 凸轮机构中,从动件的运动规律与凸轮轮廓曲线存在着对应关系。要进行凸轮设计,首先需根据_1_作要求和使用场合,选择从动件运动规律。从动件远离凸轮问转中心的这一行程称推程,对应的凸轮转角称为运动角?:从动件靠近凸轮问转中心的这一行程称回程,对应的凸轮转角称为同程运动角?’;对应于从动件在离凸轮回转中心最远处停止不动时间凸轮的转角称为远休止角?s:对应于从动件在离凸轮回转中心最近处停止不动时间凸轮的转角称为近休止角?s’;从动件的最人行程称为升程h,常用的从动件运动规律包括: 等速运动规律:该运动规律的速度曲线不连续,从动件在运动起始和终止位置速度有突变,理论上加速度在此时变为无穷大,从动件产生无穷大的惯性力。实际上由于材料具有弹性,加速度和惯性力都不会无穷大,但仍会使机构产生刚性冲击。 等加速等减速运动规律:其速度曲线连续,加速度在起始、中间、终j卜位置有突变,引起惯1性力的突然变化,导致柔性冲击。 简谐运动规律:速度曲线连续,加速度在起始、终止位置有突变,引起柔性冲击。 摆线运动规律:速度加速度均连续变化,无冲击。 3-4-5次多项式运动规律:速度加速度均连续变化,无冲击。此处,式4.6给出计算等速运动规律的位移、速度、加速度公式。 在等速运动的情况下,转动角δ与时间t成正比,运动规律就是推杆的运动参数随δ变化的规律,如图4.5所示。 18 沈阳理工大学学士论文 , 三角函数运动规律:(以简谐运动的推程运动方程为例) ,,,s,h[1,cos(/)]/20 ,,,,,,v,hsin(/)/2 式4.6 00 222a,,h,cos(,,/,)/2,00 4.4.3 压力角 凸轮廓线决定从动件的运动,设计不好,将使从动件不能准确、有效地实现预期的运动规律。凸轮检验的指标是压力角和实际廓线的曲率半径。 压力角表示凸轮实际廓线上某点与从动件接触时,在不计摩擦的前提下,凸轮廓线在该点上的法线方向与从动件速度方向所夹的锐角。压力角是衡量凸轮传力特性好坏的重要参数。凸轮对从动件的作用力可分解成沿从动件运动方向的有效分力和垂直于从动件运动方向的无效分力,压力角越大,无效分力越人,导致的摩擦力越大,机构工作效率越低,当压力角达到某个数值时,将会使机构产生自锁。为了使机构顺利工作,规定了压力角的许用值[a],许用值[a]的数值随着凸轮机构的类型和行程段的变化而变化。 为减小压力角,应增大凸轮的最小向径— 基圆半径,但一味增加基圆半径又会使机构庞大。机构的尺寸特性和传力特性相互制约,应两者兼顾,在满足压力角条件a ?[a]的前提下,基圆半径取较小值。 4.4.4 曲率半径 直观的看,滚子从动件盘形凸轮机构理论廓线是滚子中心在凸轮这一运动平面上的轨迹,以凸轮理论廓线上各点为圆心作一系列滚子圆,该圆族的包络线即凸轮实际廓线。平底从动件盘形凸轮机构理论廓线是平底中心在凸轮这一运动平面上的轨迹,以凸轮理论廓线上各点为中心作一系列平底,该平底族的包络线即凸轮实际廓线。对于滚子从动件凸轮机构,内凹的凸轮理论廓线总可以得到实际廓线,实际廓线的曲率半径ρ’等于理论廓线曲率半径ρ与滚子半径r之和,即ρ'= ρ十r, ,在设计时,通常是先根据结构和强度条件选择r,再校核ρ',曲率半径应不小于某一规定值[ρ],即ρ' >[ρ]。 若滚子从动件凸轮机构的凸轮理论廓线的外凸,其实际廓线的曲率半径ρ'=ρ-r ,若ρ=r,则ρ’=0,实际廓线将出现尖点,极易被磨损,不能付之实用: 若ρ[ρ]。 4.4.5 凸轮轮廓曲线的设计 凸轮轮廓曲线设计可依据“反转法”的原理,如图4.4,可以假设凸轮静止不动,而使推杆相对与凸轮作反转运动,同时又在其导轨内作预期运动,作出推杆在这种复合运动中的一系列位置,则其尖顶的轨迹就是所要求的轮廓曲线。在本文的凸轮建模中,正是应用这个原理,根据凸轮的演示精度取n个控制点来描述轮廓曲线。 4.5齿轮机构及其设计 4.5.1 齿轮机构的应用和分类 一、根据其传动比(i=ω/ω)是否恒定分 1212 1、定传动比(i= 常数)传动的齿轮机构——圆形齿轮机构 12 2、变传动比(i按一定的规律变化)传动的齿轮机构——非圆形齿轮机构 12 ω1ω 图 二、在定传动比中两啮合齿轮的相对运动是平面运动还是空间运动分 1、平面齿轮机构(圆柱齿轮传动) ,外啮合齿轮传动, ,, 直齿圆柱齿轮内啮合齿轮传动,, ,, 齿轮与齿条传动,,, 斜齿圆柱齿轮传动, , , ,人字齿轮传动, 20 沈阳理工大学学士论文 2、空间齿轮机构 ,直齿圆锥齿轮传动, ,,圆锥齿轮传动(伞齿轮传动)斜齿圆锥齿轮传动,, ,,曲齿圆锥齿轮传动,,, 交错轴齿轮传动(螺旋齿轮传动), , , ,蜗杆传动, ?4-2 齿廓实现定传动比的条件 12 ? v,vpp 1 又? v,,OCp11 2 v,,OCp22 ? i=ω/ω= OC/OC121221 上式表明,互相啮合的一对齿轮,在任一位置时的传动比,都与其连心线OO被其12啮合齿廓在接触点处的公法线所分成的两段成反比。这一定律称为齿廓啮合的基本定律。 过两齿廓啮合点所作的齿廓公法线与两轮连心线OO的交点C称为啮合节点(简称12 节点)。 上式还表明,要使两齿轮作定传动比传动,则两齿廓必须满足的条件是:不论两齿廓在何位置接触,过接触点所作的两齿廓公法线必须与两齿轮的连心线相交于一定点。 当两齿轮作定传动比传动时,节点C在轮1和轮2的运动平面上的轨迹分别是以O、1O为圆心,以O C、O C为半径的两个圆,此圆称为节圆。并且两节圆作纯滚动。 212 若两齿轮作变传动比传动时,节点C在轮1和轮2的运动平面上的轨迹分别是两条非圆曲线,此曲线称为节线。 渐开线的形成及其特性 一、渐开线的形成 1)基圆,半径用r表示 b 2)展角,用θ表示 k 21 沈阳理工大学学士论文 二、渐开线的特性 , 1) BK,AB )渐开线上任一点的法线恒与基圆相切。切点B是点K的曲率中心,而线段是渐开线在2BK 点K的曲率半径。 rOBb3) ,,cos,KrOKk 4)渐开线的形状取决于基圆大小。 5)基圆内没有渐开线。 三、渐开线齿廓啮合特性 1、渐开线齿廓能保证定传动比传动要求 i=ω/ω== 常数 OP/OP121221 2、渐开线齿廓间的正压力方向不变 啮合线——齿轮传动时其齿廓啮合点的轨迹称为啮合线(NN)。 12 3、渐开线齿廓传动具有可分性 由图知,ΔONP~ΔONP,故 1122 i=ω/ω= = r/ r OP/OP1212 b2 b121 当渐开线齿轮的中心距稍有改变,其角速度比仍保持原值不变。 渐开线标准齿轮各部分名称和基本尺寸 1、各部分的名称和符号 1)齿顶圆:齿顶所在的圆,用d和r表示。 aa 2)齿根圆:齿根所在的圆,用d和r表示。 ff 3)齿厚:任意圆周上量得的齿轮两侧间的弧长,用s表示。 k 4)齿槽宽:任意圆周上量得的相邻两齿齿廓间的弧长,用e表示。 k 5)齿距:任意圆周上量得的相邻两齿同侧齿廓间的弧长,用p表示。 k p=s+e kkk 6)分度圆:计算基准圆,用d和r表示。 22 沈阳理工大学学士论文 7)齿顶高:介于分度圆与齿顶圆之间的轮齿部分的径向高度,用h表示。 a 8)齿根高:介于分度圆与齿根圆之间的轮齿部分的径向高度,用h表示。 f 9)齿全高:齿顶圆与齿根圆之间的轮齿部分的径向高度,用h表示。 h=h+h af 2、基本参数 1)齿数:用z表示。 2)模数:用表示。m ? 分度圆周长= z p =πd ? d= zp/π 设 π 单位:。于是,有 m=p/mm d=zm m是决定齿轮尺寸的基本参数,已标准化。 3)分度圆压力角:用α表示。 α=arc cos (r/r) kbk 由上式可见,对于同一渐开线齿廓,r不同,α也不同,基圆上的压力角为零。通kk 常所说的齿轮压力角是指齿轮在分度圆上的压力角,用α表示,于是有 α=arccos (r/r) b 或 r=rcosα b 压力角也是决定齿轮尺寸的基本参数,国标规定的标准值,α=20?。有时也用α =14.5?、15?、22.5?、25?。 3、各部分尺寸的计算公式 1)分度圆直径 d=mz * 2)齿顶高 h=hm aa ** 3)齿根高 h=(h+c)m fa ** 4)齿全高 h=h+h=(2h+c)m afa * 5)齿顶圆直径 d=d+2h=(z+2 h)m aaa ****6)齿根圆直径 d=d-2h= mz - 2(h+c)m= (z -2 h- 2c)m ffaa ****式中,h——齿顶高系数、c——顶隙系数。其标准值为:h=1、c=0.25 aa 7)基圆直径 d= dcosα= mzcosα b 8)齿距 p =πm 23 沈阳理工大学学士论文 9)基圆上的齿距 ? 任意圆周长= zp=πd kk ? p=πd/ z k k mz,cos, 故 p=πd/ z ==πmcosα=pcosα bb z 10)法向齿距——相邻两齿同侧齿廓沿公法线方向量得的距离,用p表示。而根据n 渐开线的第一个性质可知 = p pnb **标准齿轮——m、α、h、 c均为标准值,且s = e的齿轮。 a 渐开线直齿圆柱齿轮的啮合传动 一、一对渐开线齿廓正确啮合条件 由图知,要使齿轮能正确啮合,必须有 p=pn1n2 由上节知 = p pnb 所以,要使齿轮能正确啮合,必须有 p=p b1b2 又因 p=πmcosα b 所以 πmcosα=πmcosα 1122 故 mcosα=mcosα 1122 要满足上式,则应 m=m=m , α=α=α 1212 所以,渐开线齿轮正确啮合的条件是:两轮的模 数和压力角应分别相等。 二、齿轮传动的中心距和啮合角 1、外啮合传动 1)齿轮正确安装的条件 a、齿侧间隙为零,即 s',e'及s',e'1221 而标准齿轮有 m,m,12 、 s,e,s,e,112222 24 沈阳理工大学学士论文 根据正确啮合条件有: m=m 12 所以: m,2 s,e,s,e,11222 由以上分析知,要使齿侧间隙为零,则必须使其分度圆与节圆重合。 b、具有标准顶隙 * = c c m 2)标准中心距 当顶隙为标准值时,设两轮的中心距为a,则: ****++= +- ()+= (+)/2 a = rcrrhm+cm+r hm+cm = rrm zza1f2 1a2a1212 即两轮的中心距a应等于两轮分度圆半径之和,我们把这种中心距称为标准中心距。 3)啮合角 啮合角——两轮传动时其节点C的圆周速度方向与啮合线NN之间所夹的锐角,其值等于节圆压力角。故用α' 表12 示。 当两轮实际中心距a' > a时,r'>r、r'>r及α'>α 1122 因为 r=rcosα=r'cosα'、r=rcosαb111b22=r'cosα' 2 所以 r+r=(r+r)cosα= acosα= ( r'+ b1b2121 )cosα'= a'cosα' 2r' 故 a'cosα'= acosα 2、齿轮与齿条啮合传动 α'?α、r'?r 三、渐开线齿轮连续传动条件 1、一对齿轮的啮合过程 实际啮合线BB 12 理论啮合线NN 12 啮合极限点N和N 12 2、渐开线齿轮连续传动条件 25 沈阳理工大学学士论文 为了保证连续传动,则。 BB,p12b 通常将用ε表示,称为重合度。于是可得连续传动条件为: BB/pα12b ε,BB/p,1α12b 实际 ε?[ε] 式中:[ε]——许用重合度。 ααα 5 机构建模过程 这一章开始,真正进入了采用关键技术实现即定功能的过程。机构的建模,是实从 现虚拟演示的第一步,采用最合理的技术手段,构建出对象的逼真模型,是这一章讨论的核心内容。 5.1 机构建模的基本思想与关键技术 应用OpenGL进行三维实体的建模过程,实际上是一个对实体进行分析、描述和绘制的过程。现实世界中的三维实体,都可以由点,线,面的方式描述出其表面。针对这一点,OpenGL基本库提供了大量方法绘制各种类型图元,包括点、直线、多边形等,辅助库也提供了不少描述复杂三维图形的函数。利用这些图元绘制方法,就可以建立比较复杂的模型了。OpenGL图元是抽象的几何概念,不是真实世界中的物体,因此须用相关的数学模型来描述。 下面罗列出本系统中使用较多的OpenGL建模函数和重要技术,这些技术贯穿于整个系统设计的始终: , 绘制基本图元:调用glBegin(mode:Glenum)和glEnd函数对,参数mode可为 GL_POINT、GL_LINES、GL_POLYGON、GL_TRIANGLES、GL_QUADS等, 用以绘制点、线段、多边形、填充三角形、四边形等诸多图元。 , 利用顶点数组优化性能:此功能将顶点数据放入预定义的数组中,从而更有效 地使用顶点数据,并可以多次调用,这种方式省却了一次绘制一个图元的繁琐, 使顶点数据在OpenGL执行中的速度明显加快。使用顶点(颜色)数组,首先要 执行以下函数以启动功能 26 沈阳理工大学学士论文 glEnableClientState(GL_VERTEX_ARRAY); //启动顶点数组 glEnableClientState(GL_COLOR_ARRAY); //启动颜色数组 在建模时,就可以调用函数glDrawArrays()函数,方便地使用数组中的数据绘制 出多个基本图元。 , 利用显示列表功能:显示列表由一组预先存储起来留待以后调用的OpenGL函 数语言组成,它在物理存在上是一种高速缓存,而不是动态数据库缓存。这种 设计能优化程序运行性能,尤其可以大大提高网络性能,即当通过网络发出绘 图命令时,由于显示列表驻留在服务器中,从而使网络的负担减轻到最小。而 且显示列表可以嵌套。使用方法如下 glNewList(1,GL_COMPILE); //建立新列表1 … //列表代码 glEndList; //结束列表 glCallList(1); //执行列表1 NURBS 曲线曲面:应用NURBS(非均匀有理样条)可以非常容易的生成参数曲线或曲面,在构造复杂的表面时,不仅可以大大减少计算顶点的工作量,而且精度、光滑度都大大提高。使用过程:用gluNewNurbsRenderer函数建立NURBS对象的指针,然后调用gluBeginCurve或gluBeginSurface函数开始绘制,之后调用gluNurbsCurve或gluNurbsSurface生成绘制曲线或曲面。 5.2.2 凸轮的构建 凸轮的构建相对简单,与杆结构类似,可以在 凸轮上用若干控制点描述其轮廓曲线,再用连续填 充三角形的方法绘制,如图5.1。 将轮廓曲线上的控制点预先求出并存入顶点 数组Pedge[0..n-1,0..2],并循环绘制填充三角形得 到凸轮的表面,下面分别给出绘出上下表面的源 码: VarPedge:array[0..n-1,0..1]ofglfloat;//n为控制点个数 图 5.1 glnewlist(1,GL_COMPILE); //构造上表面显示列表1 27 沈阳理工大学学士论文 for i:=0 to n-2 do begin glbegin(GL_TRIANGLES); glnormal3f(0,0,1); glvertex2f(0,0); glvertex2f(Pedge[i,0],pedge[i,1]); glvertex2f(Pedge[i+1,0],pedge[i+1,1]); glend; end; glendlist; glnewlist(2,GL_COMPILE); //构造下表面显示列表2 for i:=0 to n-2 do begin glbegin(GL_TRIANGLES); glnormal3f(0,0,-1); glvertex3f(0,0,-depth); //depth为凸轮厚度 glvertex3f(Pedge[i,0],pedge[i,1],-depth); glvertex3f(Pedge[i+1,0],pedge[i+1,1],-depth); glend; end; glendlist; glnewlist(3, GL_COMPILE); //构造凸轮侧面的列表3 for i:=0 to n-2 do begin glbegin(GL_QUADS); glnormal3f(pedge[i,0],pedge[i,1],0); glvertex3f(pedge[i,0],pedge[i,1],0); glvertex3f(pedge[i,0],pedge[i,1],-depth); glvertex3f(pedge[i+1,0],pedge[i+1,1],-depth); glvertex3f(pedge[i+1,0],pedge[i+1,1],0); glend; end; glendlist; 下面就可以调用建立好的列表,完成整个凸轮的建模: glnewlist(4,GL_COMPILE); //构造整个凸轮的显示列表4 glpushmatrix; glcalllist(camlist+1); glcalllist(camlist+2); glcalllist(camlist+3); glpopmatrix; glendlist; 28 沈阳理工大学学士论文 图 5.2 至此,完整的凸轮已经构建完成,图5.2为一个凸轮实例,经过一定的颜色光照处理后,具有逼真的效果。 6 机构空间运动的模拟 6.1 运动模拟的基本思想与关键技术 OpenGL提供了双缓存用来制作动画。也就是说,在显示前台缓存内容中的一帧画面时,后台缓存正在绘制下一帧画面,当绘制完毕,则后台缓存内容便在屏幕上显示出来,而前台正好相反,又在绘制下一帧画面内容。这样循环反复,屏幕上显示的总是已经画好的图形,于是看起来所有的画面都是连续的。 基于双缓存技术,我们可以实现对机构运动和传动的模拟。在此我们引入Delphi 6.0中的timer控件,这个组件以用户定义的时钟频率触发事件,在它的消息处理函数Timer1Timer(Sender: TObject)中,通过对该时刻特定机构在空间内制约关系的计算得到相应的位置参数,并根据此参数将该机构平以及旋转以摆放到正确的位置上。然后调用系统的窗体重绘函数Invalidate(FALSE),这样系统就会刷新并重绘窗体,随时间控件不 29 沈阳理工大学学士论文 断触发重绘函数,用户就可以看到流畅的运动画面了。 不断触发重绘函数对系统来讲是一笔不小的开支,因为这里涉及到大量的建模、矩阵运算、光照处理等计算。所以,代码的优化和计算量的缩减就显得尤为重要。譬如前面章节中提到的显示列表功能,在模拟运动时就大大减少了的系统开销。另外在动画的实现过程中,还会应用到如下技术: 深度检验:对于屏幕上的每个像素,深度缓存保持对视点和像素所在对象之间距离的跟踪。然后当所指定的深度检验通过时,输入的深度值替换深度缓存中的值。 剪裁检验:定义窗口中的一个矩形部分,利用glScissor函数可以限制绘图发生在这个矩形内。当片段值在该矩形内时,即通过剪裁检验。 6.2 各种机构运动的具体计算及过程 6.2.1 四连杆传动 从杆类中派生出四个杆对象,并分别进行参数的初始化,形成四杆结构中的机架、曲柄、连杆、摇杆: var bar1,bar2,bar3,bar4:bar; bar1:=bar.Create; bar2:=bar.Create; bar3:=bar.Create; bar4:=bar.Create; 下面开始传动过程的模拟,其中涉及到一些容错设计和变位扩展。 1.在进行演示以前,首先对四个杆的长度作合理性判断,因为根据“杆长条件”,最短杆与最长杆的长度和应小于或等于其他两杆的长度和。实现代码如下: if (ls[0]<>l2)or(ls[0]+ls[3]>=ls[1]+ls[2]) or (form1.SpinEdit7.Value>= form1.SpinEdit8.value) then //根据用户的输入值判断 showmessage('输入数据无效!请重新输入'+chr(13)+'提示:曲柄长必须为最短,且曲 柄长与最长杆之和应小于其它两杆长度之和。'+chr(13)+'轴半径应小于杆宽半径。 2.将四根杆按正确位置摆放。之前建立好的杆类的显示列表,是以杆中心落在坐标原点,并与x轴重合的方式建立的。所以正确摆放杆的位置,就要首先确定特定杆在某一时刻的中心位置和与x轴的相对偏移角度,然后调用相应杆的显示列表。 30 沈阳理工大学学士论文 机架和曲柄:这里我们首先假定机架是放置于水平位置且不作运动的,由曲柄牵动 整个连杆结构的传动。那么首先以曲柄绕机架的转动角度确定曲柄的摆放位置,: glcalllist(bar1.barlist+4); //调用机架的构造列表 gltranslatef((-l1/2+x1)/2,y1/2,bar1.depth); glrotatef(angr+90,0,0,1); //angr为曲柄的转动角度 glcalllist(bar2.barlist+4); //调用曲柄的构造列表 连杆和摇杆:如图6.1,在任意时刻,只要B点即曲柄端点的位置确定,那么在由 BD和连杆、摇杆组成的三角形中,C点的位置就 唯一确定,也由此确定了连杆和摇杆的位置。因此, 对连杆和摇杆的位置计算,就转化成在三角形BCD 中对C点坐标的求解,经计算,将B、C、D点的 坐标分别赋予变量(x1,y1)、(x2,y2)、(x3,y3),而连 杆和摇杆的偏移角度分别为a2、a3,代码如下: glpushmatrix; //画连杆 gltranslatef((x1+x2)/2,(y1+y2)/2,2*(bar1.depth)); glrotatef(a2*180/pi,0,0,1); glcalllist(bar3.barlist+4); 图 6.1 glpopmatrix; glpushmatrix; //画摇杆 gltranslatef((x2+l1/2)/2,y2/2,3*(bar1.depth)); glrotatef(a3*180/pi,0,0,1); glcalllist(bar4.barlist+4); glpopmatrix; 至此,系统成功实现将四个杆正确连接以演示四连杆传动的功能。 3. 四连杆传动效果的实现:在时间控件所触发的响应函数Timer1Timer(Sender: TObject)中,调用重绘函数并将曲柄的转动角度angr增加步长:step,随时间控件不断 触发,不断增加的angr就带动了四连杆机构的传动。 procedure TForm1.Timer1Timer(Sender: TObject); begin Invalidate(FALSE); angr:=angr+step; end; 31 沈阳理工大学学士论文 6.2.2 齿轮的啮合传动 1. 首先讨论一对渐开线直齿轮的外啮合传动。 渐开线齿轮正确啮合的条件是:两轮的模数和压力角应分别相等。而在确定了中心距之后,两齿轮还应该满足以下条件: 1) 保证两轮的齿侧间隙为零,主要是为了减小或减免轮齿间的冲击。 2) 保证两轮的顶隙c为标准值。取顶隙为标准值c=c*m,两轮的中心距a为两轮分度圆半径之和,即标准中心距。 一对满足正确啮合条件的渐开线齿轮的啮合情况 如图6.2.1,设主动轮以角速度ω顺时针方向回转,从1 动轮以角速度ω 逆时针方向回转。两轮轮齿在啮合2 起始点B(啮合线NN与从动轮齿顶圆的交点)开始啮212 合,这时主动轮的齿根与从动轮的齿顶接触。随传动 进行,两齿廓的啮合点将沿着啮合线NN 移动,而12 同时啮合点将分别沿着主动轮的齿廓,由齿根逐渐走 向齿顶,并且沿着从动轮的齿廓由齿顶逐渐移向齿根。 当啮合进行到主动轮的齿顶圆与啮合线的交点B 时,1 两轮齿即将脱离接触,故点B为两轮轮齿的啮合终止1 点。由此可知,两轮轮齿啮合的过程中,轮齿的齿廓 图 6.2.1 并非全部都能参加工作,而只限于从齿顶刀齿根的 一段齿廓,实际工作段。 2、传动的实现: 首先调用齿轮类的构造函数,构造两个齿轮对象: var gear1,gear2:gear; gear1:=gear.Create; gear2:=gear.Create; 为了正确摆放两个齿轮以达到啮合的效果,我们将两个齿轮的间距设定为标准中心距,同时将齿轮gear2转动一个角度angf来与gear1正确交错。angf是每个齿在齿根圆 32 沈阳理工大学学士论文 上的角度,即angf:=360/z。而在传动过程中,二齿轮的角速度ω:ω =Z: Z。实现代码122 1如下: glpushmatrix; gltranslatef(-(gear1.r+gear2.r)/2,0,0); //齿轮一 glrotatef(j,0,0,1); glcalllist(gear1.gearlist+4); glpushmatrix; glpushmatrix; //齿轮二 gltranslatef((gear1.r+gear2.r)/2,0,0); glrotatef( (gear2.angf)/2,0,0,1); glrotatef(-j*(gear1.z)/(gear2.z),0,0,1); glcalllist(gear2.gearlist+4); glpushmatrix; 如图6.2.2,齿轮一(齿数:18)与齿轮二(齿数:30)实现了正确的啮合: 图 6.2.2 6.3 二级圆柱齿轮减速器结构设计理论 6.3.1 二级圆柱齿乾减谴器主要类型和特点 圆柱齿轮传动承载能力和速度范围大,传动比恒定,外廓尺寸小,工作可靠,效率高,寿命长,维修简便,因而应用范围很广。 二级圆柱齿轮减速器应用最广,常用于i=8—50及高,低速级的中心距总和的情况下(技其运动简图的特点,可以分为展开式、同轴式和分流式三种。下面我们只介绍展开式二级圆柱齿轮减速器。 33 沈阳理工大学学士论文 展开式二级圆柱齿轮减速器(图6.3)的结构简单,减速器输入轴端和输出轴端的位置可根据传动的配置来选择(但由于齿轮相对于支承为不对称布置,受载时轴的挠曲线将 图 6.3 加剧齿轮沿齿宽上的载荷集中现象,因而这种减速器对轴的刚性要求高(一般在中心距总和a??1700mm的情况下( 6.3.2二级圆柱齿轮减速器的主要参数 国内的某些机器制造部门已将减速器系列化了,而且制订了某些类型减速器的标准系列。在制订标准系列时,对减速器的主要参数,如中心距、模数、齿数、齿宽系数及传动比等还作了一系列规定。 表6.1和表6.2分别列出了渐开线二级圆柱齿轮减速器的中心距和公称直径传动比的值。 表6.1二级圆柱齿轮减速器的中心距 34 沈阳理工大学学士论文 表6.2二级圆柱齿轮减速器的公称传动比 在设计标准减速器的齿轮传动时,中心距应取为标准值,此时齿宽应按 Øa=b/a 确定,Øa的值为0.2,0.25,0.30,0.40,0.50,0.60,0.80,1.0,1.2,其中以 Øa=0.40最为常用。 6.4 定位机构 如图6.4所示,是一个可调位置的定位杠杆。 图 6.4 图6.4所示可调位置的定位杠杆,其杆1可利用构件2安装在所需位置上。构件2上的槽可沿螺栓3移动并被螺栓3固定在所需位置上。 6.5 反向止动机构 35 沈阳理工大学学士论文 如图6.5所示,具有滚珠的楔面锁止单向机构: 图 6.5 构件1沿固定导轨移动,构件1和壳体之间有滚珠2。当构件1在导轨中沿固定方向A运动时,它被滚珠2锁止。 6.6 锁止机构:具有变向爪的杠杆锁止器。 图 6.6 图6.6所示锁止器中,齿轮1和爪2绕固定轴B和A转动。爪2上有二个凸出物,它可绕A轴变换位置。当爪2进入到齿轮1的凹槽时,它能在二个方向均锁止。 36 沈阳理工大学学士论文 结 论 通过连杆、凸轮、齿轮等机构以及一些组合机构的计算、建模、效果处理和演示,系统完成了预期功能,即在三维环境中机械机构的交互式演示和设计,以及方便的网络应用。把虚拟现实技术引入机械原理的CAI软件中是本系统的一个大胆尝试,通过本文中对系统分析和开发过程的讨论,不仅证明该方法是可行的,而且具有非常广阔的发展前景,完全可以推广到其它课程的CAI应用中去。 本文的重点、难点及创新点主要有以下几个方面: 1. 选取OpenGL为开发本系统的核心技术,很好的实现了系统对于交互性、三维 环境等要求,但这个三维建模工具对计算机的性能有较高的要求,否则会在一 定程度上影响演示效果。 2. 在建模过程中诸如顶点数组、显示列表、双缓存、颜色跟踪模式、可重用的模 块化设计等技术起到非常大的作用,并贯穿整个系统的设计与实现。另外,在 齿轮建模和齿轮滚刀切齿过程中,选用合理的建模和计算方法也是技术上的重 点。 3. ActiveForm技术的引入,巧妙的突破了网络传输的瓶颈,很好的解决了网络应 用的问题。 4. 机械理论与计算机编程实现的结合,是本系统的一个特点。 由于时间有限,以及作者对专业知识的相对缺乏,本系统一定还有一些工作需要进一步的深化、细化。比如仿真过程中一些更详尽的细节,包括用户操作时更方便、人性化的功能还可以改进。有关OpenGL的更深层次功能,也有进一步开发的空间。 37 沈阳理工大学学士论文 参考文献 [1] 孟宪源 《现代机构手册》, 下册 数学七年级下册拔高题下载二年级下册除法运算下载七年级下册数学试卷免费下载二年级下册语文生字表部编三年级下册语文教材分析 ,北京,机械工业出版社 1994 年 6月 [2] (美) MANJULA B. WALDRON AND KENNETH J.WALDRON 《MECHANICAL DESIGN》.THEORY & METHODOLOGY,.Springer-Verlag.Inc, 1996 [3] 孙桓、陈作模, 《机械原理》,北京, 高等教育出版社,2001. [5] 郭燕利、胡建军,《利用OpenGL三维图形库进行三维实体造型》,北京,微型电脑 应用,1998. [6] 王刚、赵万生, 《利用OpenGL实现三维绘图》 ,北京,软件世界,1998. [7] 董笑菊、刘竞宇、顾国昌,《基于OpenGL的运动视景仿真的实现》 ,哈尔滨,计 算机 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 ,1999. [8] 伍铁军、周来水、周儒荣,《用OpenGL实现几何模型真实感图形显示》,北京,计 算机工程与应用,1999. [9] 李芃、高贞彦、张健沛,《用OPENGL实现动画时几个问题及解决方法》 ,电脑 学习,1999. [10] 李素有、侯宇、孙智民,《利用OpenGL实现常用机构的三维运动仿真》,西安,计 算机应用研究,2002. [11] 叶琳,《虚拟现实机械零件模型库的实现技术》 ,成都,计算机与现代化,2002. [14] 陈芸,《基于Web方式的CAI课件的开发与应用》 ,成都,计算机与现代化, 2001. [15] 陈万平、陈兴瑞,《远程多媒体CAI课件的设计与制作》,北京,现代计算机,2001. [16] 飞思科技产品研发中心,《Delphi 开发者手册》, 北京, 电子工业出版社,2002. [17] 郑一,《浅议高校教学CAI课件的设计与实现》,北京,计算机时代,2002. [18] 朱振元、朱承,《Delphi网络应用程序性能分析》 ,长沙, 小型微型计算机系统, 2002. [19] 飞思科技产品研发中心,《Delphi 高级编程》, 北京,电子工业出版社,2002. [20] 高岩,《基于Web的图形学CAI课件研制中的关键技术》 ,北京,计算机工程与 应用,2002. 38 沈阳理工大学学士论文 39
本文档为【计算机辅助教学的概念】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_337177
暂无简介~
格式:doc
大小:347KB
软件:Word
页数:56
分类:生活休闲
上传时间:2017-09-26
浏览量:27