(计算机软件与理论专业论文)三维动态几何画板的设计与实现.pdf_第1页
(计算机软件与理论专业论文)三维动态几何画板的设计与实现.pdf_第2页
(计算机软件与理论专业论文)三维动态几何画板的设计与实现.pdf_第3页
(计算机软件与理论专业论文)三维动态几何画板的设计与实现.pdf_第4页
(计算机软件与理论专业论文)三维动态几何画板的设计与实现.pdf_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一文f _ _ 、 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含为获得东北师范大学或其他教育机 构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献 均已在论文中作了明确的说明并表示谢意。 学位论文作者签名:丕磊 日期v 。己jfo 学位论文版权使用授权书 本学位论文作者完全了解东北师范大学有关保留、使用学位论文的规定,即: 东北师范大学有权保留并向国家有关部门或机构送交学位论文的复印件和磁盘, 允许论文被查阅和借阅。本人授权东北师范大学可以将学位论文的全部或部分内 容编入有关数据库进行检索,可以采用影印、缩印或其它复制手段保存、汇编学 位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:磕 指导教师签名: 豆叁殳 日期:丝纽厂口 e t 期:笋监山r 学位论文作者毕业后去向: 工作单位: 通讯地址: 电话: 邮编: f l 产 帆 - , - - 摘要 计算机辅助教学( c o m p u t e r a i d e di n s t r u c t i o n ,简称c a i ) 是在计算机的辅助下进 行各种教学活动、开展教学训练的方法与技术。动态几何画板系统是众多c a i 软件中的 一种主要面向数学教学的软件系统。 本文首先介绍了动态几何画板系统的研究背景和国内外发展状况,提出了当前这类 软件中存在的一些问题,然后介绍了三维动态几何画板的设计与实现。 使用三维动态几何画板,可以对三维几何模型进行编辑和修改,并提供视点变 换、动画、文本等等功能更加清楚的展示动态几何问题,为数学课堂教学提供了更加丰 富、生动的数形结合的教学情境。 这套系统由三个模块组成,它们分别为:数学库、几何模型库、场景管理。其中, 数学库是系统实现的基础,系统的其它模块都是在数学库的基础上研究和开发的,数学 库包括:数值计算、向量、矩阵、四元数。几何模型库是系统的核心,也是本文所要论 述的重点。几何模型库包括几何模型和几何计算,几何模型包括点、线、面、平面图形、 空间几何体等系列几何元素,几何计算包括几何元素之间进行相交、相切判断、几何造 型、几何分析等等算法,本文对几何模型库要提供的几何模型和重要的几何算法进行了 详细的介绍。场景管理对几何模型和它们之间的动态关系进行管理。 本文还对系统的几何模型、数学库、场景管理以及各个功能的实现进行了比较详细 的介绍。 关键词:计算机辅助教学;三维动态几何画板;几何模型库;几何计算 a b s t r a c t c o m p u t e ra i d e di n s t r u c t i o ni st h em e t h o da n dt e c h n o l o g yo fp r o c e e d i n ga l lk i n d so f t e a c h i n ga c t i v i t i e s ,d e v e l o p i n gt e a c h i n gt r a i n i n gi nt h ea s s i s t a n c eo fc o m p u t e r d y n a m i c g e o m e t r i cd r a w i n gb o a r ds y s t e mi st h eo n eo ft h em a i ns o f t w a r es y s t e mo r i e n t e da t m a t h e m a t i c a lt e a c h i n g t h ea r t i c l ef i r s t l yi n t r o d u c e st h es t u d y i n gb a c k g r o u n do fd y n a m i cg e o m e t r i cd r a w i n g b o a r ds y s t e ma n dt h ed e v e l o p m e n t a ls i t u a t i o ni nd o m e s t i ca n da b r o a d ,p u t sf o r w a r d st h e p r o b l e m se x i s t e di n t h er e c e n ts o r to ft h es o f t w a r e ,a n dt h e ni n t r o d u c e st h ed e s i g na n d r e a l i z a t i o no ft h et h r e e d i m e n s i o n a ld y n a m i cg e o m e t r i cd r a w i n gb o a r d p e o p l ec a ne d i ta n dr e v i s et h et h r e e - d i m e n s i o n a lg e o m e t r i cm o d e l sb yu s i n go ft h e t h r e e - d i m e n s i o n a ld y n a m i cg e o m e t r i cd r a w i n gb o a r d ,p r o v i d i n gv i e wt r a n s f o r m i n g ,c a r t o o n , t e x ta n do t h e rf u n c t i o n si no r d e rt od e l a yt h ep r o b l e m so fd y n a m i cg e o m e t r i c ,a n dt op r o v i d e m o r ec o l o r f u la n dv i v i dt e a c h i n gs i t u a t i o nf o rt h em a t h e m a t i c a lc l a s s r o o m t h es e to fs y s t e mi sm a d eu po ft h r e em o d u l e s :m a t h e m a t i c a ll i b r a r y , g e o m e t r i cm o d u l a r l i b r a r y , t h ec o n t r o l l i n go fs i t u a t i o n ,a m o n gw h i c ht h em a t h e m a t i c a ll i b r a r yi st h eb a s i so ft h e r e a l i z a t i o no ft h es y s t e m ,a n di ti sb a s e do nt h em a t h e m a t i c a ll i b r a r yt h a to t h e rm o d u l e sa r e a n a l y z e da n dd e v e l o p e d t h em a t h e m a t i c a ll i b r a r yc o n c l u d e s :n u m e r a lc a l c u l a t i o n ,v e c t o r , m a t r i xa n dt h eq u a t e r n i o n g e o m e t r i cm o d u l a rl i b r a r yi st h ec o r eo ft h es y s t e ma n di sa l s ot h e e m p h a s i so ft h ea r t i c l e g e o m e t r i c m o d u l a rl i b r a r yc o n c l u d e sg e o m e t r i cm o d u l ea n d g e o m e t r i cc a l c u l a t i o n ;g e o m e t r i cm o d u l ec o n c l u d e sp o i n t ,l i n e ,p l a n e ,p l a i nf i g u r e ,a n d s p a t i a lg e o m e t r i cb o d y ;g e o m e t r i cc a l c u l a t i o nc o n c l u d e st h ei n t e r s e c t i o n ,j u d g m e n ta m o n g t h eg e o m e t r i ce l e m e n t s ,t h eg e o m e t r i cm o d e l i n ga n dt h eg e o m e t r i ca n a l y z e s t h ea r t i c l e m a i n l yi n t r o d u c e s t h eg e o m e t r i cm o d u l e sa n dg e o m e t r i cc a l c u l a t i o no ft h eg e o m e t r i c m o d u l a rl i b r a r y h o wt h ec o n t r o l l i n gs i t u a t i o nc o n t r o l st h eg e o m e t r i cm o d u l e sa n dt h e r e l a t i o n s h i p sa m o n g t h e m k e yw o r d s :c o m p u t e ra i d e di n s t r u c t i o n ;t h r e e d i m e n s i o n a ld y n a m i cg e o m e t r i cd r a w i n g b o a r d ;g e o m e t r i cm o d u l a rl i b r a r y ;g e o m e t r i cc a l c u l a t i o n i l 目录 摘要i a b s t r a c t i i 目录i i i 第一章引言1 1 1 问题描述1 1 2 研究背景及意义1 1 3 国内外研究现状2 1 3 1 几何画板2 1 3 2z + z 超级画板3 1 3 3 现存动态几何画板系统的不足4 第二章理论基础5 2 1 计算机图形学的发展5 2 2 计算机图形学的研究内容5 2 3 计算机图形学处理过程6 第三章系统总体设计7 3 1 系统支撑技术7 3 1 1 面向对象程序设计思想7 3 1 2 图形接口一- o p e n g l 图形软件包7 3 1 3m f c 基础类库8 3 2 系统功能设计8 3 3 系统模型9 第四章几何模型设计1 0 4 1 几何模型1 0 4 2 几何计算l l 第五章三维动态几何画板的实现1 9 5 1 几何模型、约束关系和场景管理1 9 5 1 1 几何模型1 9 5 1 2 约束关系2 2 5 1 3 场景管理2 3 5 2 几何计算2 4 5 2 1 数学库2 4 5 2 2 几何变换2 7 5 2 3 图元间的几何算法2 8 5 3 人机交互2 8 5 3 1 三维观察和视图变换2 9 5 3 2 图形的拾取3 0 5 3 3 人机界面3 1 第六章结论和展望3 2 6 1 结论3 2 6 2 展望3 3 参考文献3 4 致谢3 6 i v 东北师范大学硕士学位论文 第一章引言 计算机辅助教学( c o m p u t e r a i d e di n s t r u c t i o n ,简称c a i ) 是在计算机的辅助下进 行各种教学活动、开展教学训练的方法与技术。随着计算机技术的发展,计算机辅助教 学已经被广泛的应用于教育领域的每个学科,同时也促进了教育技术的发展和教育观念 的变革。 本人所在的东师理想信息技术研究院长期从事计算机辅助教学的研究工作,并取得 了大量具有学术价值和应用价值的成果。本文所介绍的三维动态几何画板是本人负 责设计开发的专门面向数学教学的软件系统,本文将介绍本人在研究生期间所从事的研 究工作及取得的成果。本文的主要工作内容包括: 1 研究的背景、研究现状及意义 2 理论基础 3 系统总体设计 4 几何模型设计 5 系统实现 6 总结与展望 1 1 问题描述 所谓动态几何,就是研究在几何图形的运动中,伴随出现的一些图形位置、数量关 系的“变”与“不变”性:就其运动对象而言有点动、线动、面动等等;就其运动形式 而言有平动、旋转、翻折、滚动等等。 三维动态几何画板就是利用计算机图形学的基本技术表现几何元素间动态关系 的软件系统。 1 2 研究背景及意义 在教育领域中,数学是最重要的基础学科之一,数学教育的意义在于培养学生的数 学观念和数学思想,通过开拓头脑中的数学空间,进而促进学生的全面素质的发展和提 高。而数学在所有学科之中又是最具抽象性的,数学的高度抽象性成为了数学难教、难 学的主要因素。 华罗庚曾经说过过“数缺形时少直觉,形少数时难入微 ,所以数学学习的过程应 该是一个从具体上升到抽象的过程。在教授数学知识的时候要秉承数形结合的思想,首 先给学生一个直观的认识,进而实现感性认识到理性认识的升华。随着教育技术的发展 和教学思想的变革,特别是建构主义学习理论的产生,在数学教学活动中营造一个数形 东北师范大学硕士学位论文 结合的教学情境显得越来越重要。 随着计算机技术的飞速发展,硬件性能的不断提高,计算机辅助教学系统不断涌现 并被广泛的应用于教育领域的每个学科,一类专业性很强的面向数学教学的c a i 系统 一“动态几何画板 也应运而生。 动态几何画板可以很方便的为数学的教学活动提供一个数形结合的教学情境。它对 数学教学的意义在于: 1 减轻教师的负担,为教师提供一个通用性强、易用性高的制作数学课件的工具, 使教师在讲解复杂的数学问题时能有一个生动、直观的演示,避免教师讲得口干舌燥学 生却听得不知所以然的尴尬局面,使数学知识的讲授变得简单易行。 2 为学生提供一个丰富、生动的数学学习情境,使学生对各种数学问题有一个直 观的认识,并可以亲自动手对头脑当中一些抽象的数学问题建立直观的模型,观察并验 证自己的结论,激发学生的学习兴趣,培养学生的抽象思维能力和动手实践的能力。 3 动态几何画板系统可以方便、灵活的对数学问题的模型进行构建、更改,使数 学问题的展开和拓展变得灵活和容易,能促进师生间的互动,使课堂气氛变得更加活跃。 1 3 国内外研究现状 目前国内外的动态几何系画板统有很多,例如:几何画板、c a b r ig e o m e t r y 、 c i n d e r e l l a 、e u k l i d e s 、几何专家、超级画板等等。目前在我国使用最广泛 的两款动态几何软件就是几何画板和z + z 超级画板,下面专门以这两款软件为例 对现存的动态几何画板系统进行分析。 1 3 1 几何画板 几何画板是由美国k e yc u r r i c u l u mp r e s s 公司1 9 8 8 年开始开发并于1 9 9 1 年 出版的一款功能强大、操作简单的动态几何软件。并由人民教育出版社1 9 9 5 年引进我 国。它以其易学性、动态性和交互性为创建数形结合的数学情景提供了强大的技术平台。 几何画板具有强大的图形构建功能和动画功能,很适合平面几何的研究,它以 点、线、圆为基本单位,并提供了平动、旋转、翻折、滚动等操作,可以构建所有的尺 规图形,并能保持它们之间的动态几何关系,使学生可以更加容易的把握问题的本质。 几何画板操作界面简单,而且占用资源较小,便于携带和传播,可以很方便的进行 交流和讨论。 2 东北师范大学硕士学位论文 l 、 刻 刽 削 鲞煎鲢主墼;翌基曼 图卜1 几何画板软件界面图 1 3 2z + z 超级画板 z + z 超级画板由中国科学院院士张景中教授主持策划,由李传中教授设计开发。 它是经过两年多的时间广泛征集了一线教师的意见和建议后开发的产品,是为中国基础 教育量身定做而成的。 z + z 超级画板是一款功能更为强大的动态几何画板系统,它具有非常强大的绘 图功能,不仅可以绘制点、线、圆,还能直接构造中点、垂足、交点、平行线、垂线、 三角形、多边形等基本图形,还可以根据各种几何条件构造圆锥曲线、函数曲线等等。 z + z 超级画板在几何变换过程中也能保持几何图形的基本关系,同时提供动画操作 和轨迹显示。z + z 超级画板提供了先进的文本公式编辑功能,还可以插入图片、声音 等多媒体材料,可以清晰地对问题进行表述。另外,z + z 超级画板还提供了几何度量、 符号计算、几何证明等等功能。z + z 超级画板整合了多种教学资源,为数学教学活动 提供了更加丰富、生动的学习情境。 3 东北师范大学硕士学位论文 图卜2z + z 超级画板的界面图 1 3 3 现存动态几何画板系统的不足 上述两款动态几何系统都有非常强大的教学辅助作用,在我国的教育领域取得了很 大的的成功,并对数学教学思想和教学观念产生了深远的影响。然而这两款软件也有其 不可忽视的缺陷,他们在对平面几何的表达时能够获得比较完美的效果,在绘制和描述 三维空间中的几何体的位置和相互关系的时候则会有些力不从心。 三维空间中的立体几何问题相对于平面几何问题更加抽象,是我国中小学几何教学 中的重难点。因此,利用计算机图形学基本技术清晰地表现三维空间中几何元素及它们 之间的动态关系是本课题研究的重难点。 4 东北师范大学硕士学位论文 第二章理论基础 三维动态几何画板是以计算机图形学为理论基础进行开发设计的,从广义上说, 能在人的视觉系统中形成视觉印象的客观对象都可以称为图形。它包括人眼所能观察到 的自然界的景物、用照相机等设备获得的图片、用绘制工具绘制的工程图、各种人工美 术绘画和数学方法描述的图形,等等。其中用数学方法描述的图形,包括几何图形、代 数方程或分析表达式所获得的图形等等,既是几何学等数学学科的研究对象,也是计算 机图形学的主要研究对象。 2 1 计算机图形学的发展 计算机图形学经过近五十年的发展,已经成为计算机科学中最活跃的分支之一。 1 9 6 2 年,i v a ne s u t h e r l a n d 发表的名为“s k e t c h p a d :一个人机通信的图形系统 的论 文标志着图形学的诞生。1 9 6 2 年贝塞尔提出的贝塞尔曲面和1 9 6 4 年孔思提出的孔斯曲 面为计算机几何设计奠定了基础。上个世纪7 0 年代,图形学进入实用化的阶段,许多 新的图形系统产生,并开始被应用于教育、科研等领域。8 0 年代至今,计算机硬件飞速 发展,图形处理能力的提升,图形学开始了蓬勃的发展,目前图形学技术已经广泛的应 用于动画、c a d c a m 、影视娱乐等社会生活的各个领域。 2 2 计算机图形学的研究内容 计算机图形学虽然是计算机科学中一个比较年轻的分支学科,但是近五十年来的发 展,以使它逐渐成为以图形设备、图形专用算法和图形软件系统等作为研究内容的成熟 学科,其主要的核心技术是如何建立所处理的对象的模型并生成该对象的图形。 图形学主要研究的内容大体上包括: 1 几何建模。包括构造各种二维和三维的几何模型,并分析构造算法的性能。 2 图形操作。包括图形在显示设备输出之前要进行剪裁、投影、旋转等几何变换操 作以及这些操作的软硬件实现技术。 3 图形生成技术。包括线段、圆等图元的生成算法及消隐、纹理、阴影等各种真实 感图形的显示技术。 4 图形信息的存储、检索与交换技术。包括图形信息的组织、存取和传输。 5 动画技术。即实现高性能的动画的方法、工具和硬件技术。 6 人机交互机用户接口技术。包括各种交互技术,如构造技术、命令技术、选择技 术、响应技术等。 7 图形输出设备与输出技术。如图形卡、图形中断、图形工作站等图形显示器的逻 5 东北师范大学硕士学位论文 辑结构的研究。 8 图形标准与图形软件包。包括制定图形软件包的国际标准并进行设计和开发, 使其摆脱对系统的依赖,可以在各种不同的系统间移植和访问。 2 3 计算机图形学处理过程 图2 1计算机图形学处理过程 计算机图形系统处理过程如图2 1 所示。作为图形系统,至少应该具有以下五个方 面的基本功能: 1 计算功能。图形系统应该能够实现图形程序库中应有的坐标的变换,曲线和曲面 的生成,光、色模型的建立和计算等。 2 存储功能。在计算机内存和外存上存放图形数据,尤其是形体之间的连接关系与 各种属性信息,并能够根据需要对相关数据进行操作。 3 交互功能。通过图形显示器等硬件设备进行人机通信,并通过显示器来观察图形 结果,用鼠标或光笔等选择、拾取等设备获得各种参数,按照用户的指示接受各种命令 以对图形进行修改,同时对图形中的错误进行跟踪检测。 4 输入设备。将所涉及或绘制的定位数据几何参数以及各种命令与约束条件输入到 系统中去。 5 输出设备。在显示设备上将当前状态的图形以及根据一定要求经过增加、删除、 修改后的图形结果进行显示、打印和保存,不同的要求可以根据不同的输出设备来满足。 6 东北师范大学硕士学位论文 第三章系统总体设计 本系统采用面向对象思想进行设计,开发环境是v i s u a ls t u d i o2 0 0 8 ,所使用的编 程语言是v c + + ,图形接口是s g i 公司开发的o p e n g l 图形软件包。 3 1 系统支撑技术 3 1 1 面向对象程序设计思想 面向对象程序设计是将客观存在的事物抽象为系统中的对象,以方便在系统的设计 过程中使用人类的自然思维方式。 1 面向对象的基本概念 ( 1 ) 对象:面向对象程序设计思想中的对象不仅包括具体的事物,还能表示抽象的 规则和计划,对象就是人们所要研究的任何事物。 ( 2 ) 类:将与当前研究目标相关的一系列对象根据其共性归纳抽象出来就是类。对 象的抽象是类,类的实例就是对象。 ( 3 ) 继承:继承性表示的是类与类之间的一般与特殊的关系,子类通过继承保留父 类的全部属性和方法,同时包含了子类本身的特殊性。 ( 4 ) 多态:多态是指相同的操作函数对应继承体系中不同的对象产生不同的结果。 2 面向对象程序设计的优点 面向对象程序设计将客观存在的事物和问题进行数据抽象并封装成系统中的对象, 并建立起对象间的继承体系。数据抽象可以在保证外部接口不变的情况下,修改内部实 现,减少或隔绝了外界的干扰;继承性可以减少代码的冗余性,并且很方便的进行扩展, 减少了代码出错的几率,方便系统的维护,提高了代码的可重用性和健壮性;聚合、联 合可以在保证封装与抽象的情况下实现对象的结构和功能上的扩充;面向对象程序设计 将系统分割成各个独立的模块,减少了系统的复杂度。 3 1 2 图形接口o p e n g l 图形软件包 o p e n g l ( o p e ng r a p h i c sl i b r a r y ) 是一个开放的三维图形软件包,o p e n g l 使用简便、 效率高、功能全面,在专业高端绘图领域,o p e n g l 是不能被取代的主角。它独立于窗口 系统和操作系统,可以与v i s u a lc + + 紧密结合,由于o p e n g l 被设计成与硬件无关,因此 输入输出等许多操作均不包括在其基本库中。o p e n g l 的基本功能包括: 1 状态管理和图形绘制:o p e n g l 支持、线、多边形、曲线、曲面的绘制,o p e n g l 的顶点数组可以保存大量的几何数据,属性组可以同时保存和恢复相关的状态值,具有 很高的编程效率和渲染性能。 2 几何变换。通过o p e n g l 可以控制对模型进行观察的角度、方向和距离,可以对 7 东北师范大学硕士学位论文 模型的显示进行放大、缩小等操作。o p e n g l 提供了一系列基本的变换操作:如使用投影 变换定义一个视景体;几何变换可以使物体在三维场景中平移、旋转和缩放;视点变换 可以使用户从不同的角度观察物体。 3 颜色。o p e n g l 提供了颜色索引模式和r g b a 模式对图形进行着色操作,在r g b a 模式中,颜色由红、绿、蓝三种颜色分量来描述,在索引模式中,颜色由索引表中的索 引值来指定。 4 光照和材质。o p e n g l 配置了以下四种光:环境光、漫反射光、镜面光、和辐射 光。用户可以通过定义光源来添加光照,对物体的材质进行设定,并通过材质与光照的 合成实现具有真实感的效果。 5 混合、抗锯齿、雾和多边形偏移。o p e n g l 提供了混合、抗锯齿、雾和多边形偏 移等图像增强效果的函数,可以实现图元的边缘变得平滑、实现半透明效果、创建具有 逼真大气效果的场景等功能,使图形更加美观、更具真实感。 6 像素、位图操作和纹理贴图。o p e n g l 提供像素、位图操作和纹理贴图操作使图 形更加精美、自然。 7 选择和反馈。o p e n g l 提供了选择和反馈功能方便了图形和用户之间交互功能的 实现。 3 1 3m f c 基础类库 m f c 基础类库是微软提供的用于便编写w i n d o w s 应用程序的框架和引擎,m f c 提供 一组可重用的类库供开发人员使用,从而使代码的可靠性和可重用性大大提高。 m f c 提供了一个典型且实用的基于文档与视图的应用程序框架模板,在此框架的基 础上,设计和插入相关的对象,就可以实现交互式的用户界面、几何模型的管理和操作、 图形图像的显示,以及其他各种专业功能。 3 2 系统功能设计 本文所论述的系统是一个展示三维动态几何关系的工具,并提供了如下功能: 1 几何模型的编辑 作为一款三维动态几何画板系统,图形的创建是最基本的功能,本文所介绍的系统 参考初高中数学教学对于绘图功能的特殊要求,提供了多种几何模型,并为各种常用的 几何模型提供了多种方便快捷的图形创建方式。 2 几何模型的显示 本文所论述的系统要做的主要工作就是展示三维几何图形的动态关系,为了方便用 户的观察和操作,我们提供了四视图的表现形式并可以自由的进行切换,四视图分别为: 前视图、左视图、俯视图和自由视图;提供了对图元的属性进行修改的操作,例如修改 点图元的大小、颜色、修改几何图形的透明度等操作。 8 东北师范大学硕士学位论文 3 几何模型的控制 为了让用户能从各个角度和距离观察几何模型,我们提供了平移、旋转、缩放、折 叠等等几何变换功能。 4 几何模型的分析 为了方便用户对几何模型进行创建和分析,我们提供了各种几何算法,例如直线相 交、线面相交等相交算法和线段的长度、平面图形的面积等度量算法。 5 动画设计 为了对几何图形的一些动态的性质进行直观的演示,我们提供了设置动画的功能, 包括图形的旋转、运动等等动画形式,并提供了动画启动、动画暂停、调整动画播放速 度等操作对动画进行控制。 6 教学资源的整合 为了清晰的描述几何问题,本文所论述的系统提供了文本操作,用户可以根据自己 的需要为几何问题作相应的注释。本系统还将提供载入图片、视频、声音等等教学资源 的功能以支持课件的制作。 3 3 系统模型 本文所论述的系统主要包括数学库、几何模型库、场景管理和用户界面等部分。数 学库模块包括数值计算、向量、矩阵、四元数以及相关的计算函数,几何造型、操作、 及显示等相关的功能都需要这些基本的数学计算功能;几何模型库是系统的核心,主要 包括几何模型和几何计算,几何模型包括模型的表示与创建,几何计算包括相交、相切、 度量、几何分析等算法;场景管理包括几何模型的编辑、存储、渲染、观察等功能;用 户界面根据用户的需求调用几何算法对几何模型进行编辑、观察和分析。 隧一三燮;燮;二;2 翊 3 - 1 系统层次结构 9 东北师范大学硕士学位论文 第四章几何模型设计 本文所论述的系统最重要的功能就是对几何模型进行编辑、观察和分析,因此几何 模型是系统的核心,也是本文所论述的重点。我们对初高中数学教学中需要用到的几何 模型进行分析和总结,并针对这些几何模型设计了相关的几何算法,下面将对系统中基 本的几何模型和几何算法进行介绍。 4 1 几何模型 本文所论述的系统详细参考初高中数学教学的绘图需求,对点、线、平面、平面图 形以及空间几何体等等几何模型都提供了支持,本系统提供的几何模型如下图所示: “; 曩囊 弧形 l _ 。 4 等。等 晨;边 三:三 角角 j 形f 形 l 口4 镕女自耐 4 - 1 几何模型 1 0 抵“x 。、 球l 正 体l 多 和 l 碾 球 i 体 体l ”自* 女 正ll十覆体一 一正十ll面体一一正八蔼体一 乱 芷四面体一 _ 六面体 一 q 臻缺 一 ; 一 臻冠 一 ;皤 甥 经纬球 一 曩形 一0-; ;,|二直角三角形一 三角形 z, ; f;。等屡梯形俐 梯形 ;一 仲l;!|。直角梯形 一平行四边形。_1菱形i一 一正多边形。 ;。;,。 ,:;:,;:。 矩形 一 _一般多边形一l;l 东北师范大学硕士学位论文 4 2 几何计算 要展示的是几何元素间的动态关系,几何计算必不可少,三维空间中的几何算法相 对于平面几何算法更为复杂,在本文所论述的系统中,是使用空间解析几何的方法来对 几何算法进行研究的,解析几何的基本思想就是用代数的方法来研究几何,为了把代数 运算引入到几何中来,最根本的做法就是设法把空间的几何结构有系统的代数化,数量 化。本文所论述的系统中几何计算都是通过向量和向量运算来实现的。下面将对本系统 中的基础算法进行介绍。 1 点算法 点是用有序数组( x ,y ,z ) 来定义的,点的相关算法如下: ( 1 ) 空间两点a ( x 。,y 。,z ,) 和b ( x :,y :,z :) 的距离: i 朋l = :一工。) 2 + ( y :一y ,) 2 + ( z :一z 。) 2 。 ( 2 ) 点p ( x ,y ,z ) 沿向量矿( x 。,y 。,z 。) 平移得到点q : q :( + 工1 ) ,( y + y 1 ) ,( z + z 1 ) ) 。 ( 3 ) 两点e o ( x o ,y o ,z o ) 和最 l ,y 1 ,z 1 ) 间的向量y : v :( 0 。- - x o ) ,( y l y o ) ,( z l z 。) ) 。 ( 4 ) 点e o ( x 。,) ,。,z o ) 关于点e o ,y ,乙) 对称的算法: 首先求得两点e o ( x o ,) ,o ,z o ) 和墨 l ,y l ,z 1 ) 间的向量y , 点异关于点置对称的点:最= 只+ y 。 2 线形对象算法 三维空间中最简单的直线形式是参数形式,x ( t ) = p + t d ( t e r ) ,p 为直线上一点, d 0 为直线的方向;射线是对其参数形式具有约束条件t 苫0 的直线,射线的起点为p ; 线段是对其参数形式具有约束条件f 【f 。,t 。】的直线。假设孑6 是规整的,即模为1 的 向量,线形对象相关的算法如下: ( 1 ) 求点q 0 到直线一p + 耐的投影q 。的算法: t o d 。( q 0 一p ) , q l p + t o d 。 ( 2 ) 判断两线形对象l o ;e o + 以。和l ,= i 1 + 耐。平行或者垂直的算法: 东北师范大学硕士学位论文 垂直的条件:l - h - - 量d o 与d 的点乘结果为0 ,且只与。的距离不为0 。 平行的条件:向量五与孑的叉乘所得向量为零向量。 ( 3 ) 判断两线形对象厶一晶+ 磁。和l 。= 毋+ 以。是否共面的算法: 两直线公垂线的方向为五与五的叉乘, 昂和只之间的向量为k , 若和k 平行,则两线共面,否则为异面。 ( 4 ) 求两异面线形对象厶= p o + t d 。和l 。= b + t d 。公垂线的算法: 判断两线形对象是否异面,若共面则公垂线不存在,反之进行下一步, d 。与d 。叉乘,求得两线形对象的公垂线的方向圪, 构造平面m ,m 的法线方向为吐与的叉乘并且经过点置, 线形对象厶与平面m 进行求交得到点q o ,q o 为公垂线在厶上的垂足, 求q 0 在l o 上的投影q 1 ,q 1 为公垂线在三。上的垂足, 厶和。的公垂线就是q 。和q l 确定的线形对象。 ( 5 ) 判断两线形对象l 。= 晶+ 耐。和l 。一只+ 耐。是否相交的算法: 4 _ 2 线形对象相交 如上图所示: h 是置在厶上的投影,g 是f 在上的投影。 东北师范大学硕士学位论文 则有:置h :f g5 只e :e f 。 算法如下: 判断两线形对象是否异面,若异面则交点不存在,反之进行下一步, t 。2 l 置e l = 要里 觜,r 。2 j 最ei = 要里- 群 分析t 。和f 。的值,判断e 点是否在两线形对象上, 点e = p o + f o d o = 只+ f l d l 。 ( 6 ) 求线段三。= 咒+ t e l 。的中点q 的算法: 中点:a ;p o + 丢试。 ( 7 ) 求点e 1 ,y 1 ,z ,) 关于直线l o = p o + t d o 对称的算法: 首先求得只在l 。上的投影点昱, 点异关于三。的对称点是:只关于只的对称点。 3 平面的算法 平面的代数方程为石( x p ) = 0 何5 为平面的法线向量,p 为平面上的一个点) 来定义。通过变形可以得到平面方程的隐含形式:血+ 毋+ c z + d = 0 ,在本文所论述 的系统中,平面的几何模型是用平面的规整化法线石一,b ,c ) 和平面到原点的距离d 来 表示的。平面相关的算法如下: ( 1 ) p ( x o ,y o ,z o ) 到平面m :a x + o y + c z + d = 0 的有符号距离: = a x o + 当y o + c 2 0 + d 。 ( 2 ) 点p o o ,y o ,z o ) 在平面m :a x + b y + c z + d ;0 上的投影q : 计算得到点到平面m 的距离l , 投影点:q p + 工元。 ( 3 ) 判断线形对象工。一只+ 斌与平面m :血+ 毋+ + d = o 垂直或平行: 垂直的条件:向量磊与元的叉乘所得向量为零向量。 平行的条件:向量五与元的点乘结果为0 ,且昂与m 的距离不为0 。 1 3 东北师范大学硕士学位论文 ( 4 ) 判断线形对象l o = v o + 耐。是否在平面m :出+ 毋+ c z + d = 0 上: 如果昂与平面m 的距离不为为0 ,则厶不在m 上,否则: 判断厶是否与平面m 平行,若平行则l o 在平面上。 ( 5 ) 求线形对象l o - p o + t d o 与平面m :a x + i y + c z + d 一0 的交点q : 异到交点q 的距离:f 。二掣。 分析t 的区间,判断点q 是否在线形对象上, 交点:q = e o + t d o 。 ( 6 ) 求两平面m o :4 z + 玩y + c o z + d o - 0 和m l :a 1 x + b l y + g z + d 1 = 0 的交l o : 设两平面法向量分别为碗,曰。,c 。) 和厩似,b 1 ,c 。) , 两平面的交线的方向为碗与焉叉乘向量的方向, 下面需要找到直线上的一个点, 假设点是死与厩的线性组合: p a k o + b n i , 点在两个平面上,则必满足: s 。;口0 元。1 1 2 + b k 一。7 1 1 s 1 = a n 一。n 一1 + 6 2 求解a 和b ,可得: 一一一l i z 。$ 1 1 1 0 刀1 一s o l l n l l i 口目7 ( 元。元。) 2 一| i 元。1 1 2 i 审。0 2 一一一l i z 6 ; ! ! ! ! :! ! 二! ! ! 鬯! ! ! ( 瓦厩) 2 一碱旷 由此得到直线厶的方程:l 。= ( a k 。+ 厩) + f 何。厩) 。 ( 7 ) 用三点a ,b ,c 确定平面m : 首先判断三点不共线, 通过a 、b 问的向量和b 、c 间的向量叉乘并规整化得到平面m 的法线元, 将a ,b ,c 中任意一点的坐标代入方程k x x + 元,y + 元z + d 一0 得到d 。 1 4 东北师范大学硕士学位论文 ( 8 ) 求点关只于平面m 的对称点只的算法: 首先求得只在m 上的投影点只, 点只关于m 的对称点是:只关于只的对称点。 4 平面图形算法 平面图形包括圆形、三角形、矩形等等几何模型,平面图形的算法是在点、线、面 的算法的基础上进行研究的的,下面以三角形为例进行说明: 三角形由不共线的三个点首尾相接组成的封闭图形,三角形包括三个顶点和三条 边,三角形的算法包括三角形的重心、垂心、内心、外心、旁心、中线、高线、中位线、 角平分线、内切圆、外接圆、旁切圆等等,下面以a a b c 的部分算法为例进行分析: 4 3 外心和外援圆 ( 1 ) 求a a b c 的外心d 的算法: 首先通过a b 和b c 的方向叉乘计算三角形所在平面的法线元, a b 边的中垂线的方向d 。为a b 的方向叉乘平面的法线元, 在求得线段a b 的中点p 。, a b 边的中垂线:l o p o + t d o , 同理,求得b c 边的公垂线:l 1 一只+ t d l , a a b c 的外心d 可由l o 和厶相交得到。 ( 2 ) 求三角形a a b c 的外接圆的算法: 圆由其圆心d 和半径,定义, a a b c 外接圆的圆心d 可由算法( 1 ) 求得, 半径,即为外, b o 到三角形任意一个的顶点的距离。 1 5 东北师范大学硕士学位论文 b a e 4 4 三角形的高线和垂心 ( 3 ) 求三角形a a b c 的边b c 上的高线的算法: b c 边上的高线就是顶点彳在线段b c 上的投影d 。 点a 和d 所确定的线段就是b c 边上的高线。 ( 4 ) 求三角形a a b c 的垂心的算法: 首先求得三角形上任意两条边上的高线, 垂心:利用线形对象相交算法对任意两条高线求交得到的交点。 4 5 三角形的中线和重心 ( 5 ) 求三角形a a b c 的中线的算法: 要得到b c 边上的中线首先求得b c 边中点d , b c 边上的中线:b c 边中点d 和顶点a 确定的线段。 ( 6 ) 求三角形a a b c 的重心的算法: 重心:利用线形对象相交算法对任意两条中线求交得到的交点。 4 - 6 三角形的角平分线、内心和内切圆 1 6 东北师范大学硕士学位论文 ( 7 ) 求三角形a a b c 的角平分线的算法,以求角_ _ b a c 的平分线为例: 使点a 分别沿着a b 和a c 的方向平移相同长度得到点f 和g , 则得到等腰三角形a a f g ,求得边f g 的中点h , 则点a 和h 确定的直线就是z b a c 的角平分线。 ( 8 ) 求三角形a a b c 的内心的算法: 内心:利用线形对象相交算法对任意两条角平分线求交得到的交点。 ( 9 ) 求三角形a a b c 的内切圆的算法: a a b c 的内切圆心就是a a b c 的内心d , 求得d 在任意一条边上的投影点e , a a b c 的内切圆的半径就是点d 和点e 间的距离。 5 空间几何体算法 空间几何体包括圆柱、圆锥、球体等等几何模型,空间几何体的算法是通过上述算 法结合方程的方法来研究的,下面以球体算法为例来阐述: 球体用一个球心d 和半径,来表示,球体的隐含方程为:i i x - o l 2 = ,2 。 ( 1 ) 球体和点只o 。,y 。,z 。) 的位置

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论