已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 网络几何画板是将网络技术、多媒体技术、几何画板功能融合在一起的全新 的网络教学软件。 当前多媒体网络化教育以其交互性、个别化、实效性、共享性等特点,越来 越被人们所广泛接受。单机运行的几何画板虽然是一个功能强大的教学、研究性 软件,但在动态性上存在用户问不能交互,以及画板模型数据不能实时共享等问 题,不能实现远程客户之间的交互,使合作式学习受到很大限制。本论文针对以 上不足,研究开发了基于合作式学习网络环境的几何画板。 论文第一章介绍几何画板的概念及研究意义,第二章介绍网络几何画板的 理论基础及设计思想,第三章介绍网络几何画板的相关功能类,第四章介绍网络 几何画板设计中的关键技术。全文对网络几何画板的主要功能给出了相关设计图 表,并在结束语中指出网络几何画板的不足和今后应继续努力的方向。 论文对网络几何画板的结构及网络环境的搭建,进行了详细的设计分析。 设计实现的网络几何画板是面向w i n d o w s 平台的网络软件,相比现有的单机版几 何画板软件,它具有操作简单,动态交互性强和网络数据传输稳定、实时等特点。 关键词 几何画板;父子关系:对象变换:拖动技术;轨迹技术;t c p 协议;序列 化技术 a b s t r a c t n e t w o r kg e o m e t r i c s k e t c h p a di san e wt e a c h i n gs o f t w a r et os y n c r e t i z e n e t w o r kt e c h n i q u e ,m u l t i m e d i at e c h n i q u ea n d g e o m e t r i cs k e t c h p a d f u n c t i o n 一 t h ec u r r e n tm u l t i - m e d i an e t w o r ke d u c a t i o ni sa c c e p t e db ym o r ea n d m o r e p e o p l e w i t ht h ec h a r a c t e r i s t i c so f a l t e r a t i o n t u r n i n g s e p a r a t e l y ,r e a lr e s u l t s ,s h a r ee t c a l t h o u g ht h eg e o m e t r i cs k e t c h p a d r u n n i n go ft h es i n g l ec o m p u t e ri sat e a c h i n ga n dr e s e a r c hs o f t w a r ew i t h p o w e r f u lf u n c t i o n ,i nd y n a m i ca s p e c ti th a st h ep r o b l e mt h a tc u s t o m e r s c a n tc o m m u n i c a t ew i t he a c ho t h e ra n ds k e t c h p a dm o d e ld a t ac a n ta c t u a ll y b es h a r e d i tc a nn o tr e a l i z et h el o n g - d i s t a n c ec o m m u n i c a t i o no fc l i e n t , t h u sm a k i n g1 e a r no fc o i l a b o r a t i o n1 i m i t e dg r e a t l y t h i s t h e s i sh a s e x p l o r e dt h eg e o m e t r i cs k e t c h p a db a s e do nt h ec o l l a b o r a t e dn e t w o r k e n v i r o n m e n ta i m i n ga tt h el a c k so fa b o v e c h a p t e r 1i n t r o d u c e dt h ec o n c e p ta n dr e s e a r c h s i g n i f i c a n c e o f g e o m e t r i cs k e t c h p a di nb r i e f c h a p t e r2i n t r o d u c e d t h et h e o r yf o u n d a t i o n s a n dd e s i g n i n gt h o u g h t so ft h en e t w o r kg e o m e t r i cs k e t c h p a d c h a p t e r3 i n t r o d u c e dt h er e l a t e df u n c t i o nc l a s so ft h en e t w o r kg e o m e t r i cs k e t c h p a d c h a p t e r4i n t r o d u c e dt h ek e yt e c h n i q u eo fn e t w o r kg e o m e t r i cs k e t c h p a d d e s i g n t h ew h o l et h e s i sg i v e sr e a l i z e dd e s i g nd i a g r a mt ot h em a i nf u n c t i o n o ft h en e t w o r kg e o m e t r i cs k e t c h p a di nt h et h e s i s ,a n dp o i n t e do u tt h el a c k s o fn e t w o r kg e o m e t r i cs k e t c h p a da n dt h ew o r kt h a ts h o u l db ed o n ei nt h e f u t u r e t h i st h e s i sd e s i g n e da n da n a l y z e dp a r t i c u l a r l yt h ec o n s t r u c t e ro f n e t w o r kg e o m e t r i cs k e t c h p a da n db u i l d i n go fn e t w o r ke n v i r o m n e n t t h e s o f t w a r e f i n i s h e di st of a c et h ew i n d o w s c o m p a r i n gw i t ht h ee x i s t i n g s i n g l em a c h i n ev e r s i o ns o f t w a r e ,i th a sc h a r a c t e r i s t i c so fo p e r a t i n g e a s i l y ,p o w e r f u ld y n a m i ca l t e r a t i o n ,s t a b l ed a t a - t r a n s m i s s i o na n db e i n g i nt j t i l ee t c i k e yw o r d s : g e o m e t e rs k e t c h p a d ;f a t h e r s o nr e l a t i o n s h i p ;t r a n s f o r mo b j e c t ;d r a g t e c h n i q u e ;t r a c et e c h n i q u e :t r a n s f e rc o n t r o lp r o t o c o l ;s e q u e n c et e c h n i q u e i v 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作 及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方 外,论文中不包括其他人已经发表或撰写过的研究成果,也不包含为 获得西北师范大学或其他教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确 的说明并表示了谢意。 签名:丝查 关于论文使用授权的说明 日期:三! 巫o 本人完全了解西北师范大学有关保留、使用学位论文的规定,即: 学校有权保留送交论文的复印件,允许论文被查阅和借阅;学校可以 公布论文的全部或部分内容,可以采用影印、缩印或其他复制手段保 存论文。 ( 保密的论文在解密后应遵守此规定) 签名:亟杰导师签名:! 圣迭日期: _ 7 彳华 西托舅箍大学硕士学位论文第一章绪论 1 1 几何画板概述 第一章绪论 几何画板( t h eg e o m e t r i cs k e t c h p a d ) 是一种基于c a i 教学的计算机应用软 件,它提供了一个探索几何图形内在关系的环境,以点、线、圆为基本元素,通 过对这些基本元素的变换、计算、动画、追踪、显示,来构造出其它较为复杂的 图形,它的最大特点是动态性,即使图形在变化状态下保持不变的几何关系。画 板中的几何图形无论如何变化,它们之间定义的几何关系都不变。因此,在不断 变化的几何图形中,研究不变的几何规律是几何画板的精髓。 1 2 国内外研究现状和发展趋势 4 几何画板”首先由美国k e yc u r r i c u l u mp r e s s 公司提出,它在全世界韵 计算机辅助教学领域引起了广泛的关注,并产生了巨大影响,也是我国“全国中 小学计算机教育研究中心”在c a i 领域中重点推荐、推广使用的教学平台。 几何画板的研究与开发,在国外一直是由k e yc u r r i c u l u mp r e s s 公司在研 究开发,且版本也在不断提高,功能也在不断完善,目前最高版本是4 0 7 ,只 适用于单台计算机操作。由于其广泛的影响,在国内由中国科学院院士张景中教 授领导的一支研究团队,也于近年开始涉足这一领域的研究与开发,并以数学 实验室的名字连续发布了几款不同的应用软件,包括:“平面几何”、“立体 几何”和“解析几何”等。 上面介绍的国内外公司或组织对几何画板的研究与开发,都存在一个不足: 就是不能体现多媒体网络化教育的特点,对其开发依然没有广泛的应用在网络 上,不具有交互性的特点。因此在研究几何画板功能的基础上构建网络环境下合 作式学习,即开发网络几何画板应用软件,充分体现多媒体网络化教育的交互性、 实时性等特点,这也是当前国内外计算机辅助教育研究发展的趋势之一。 1 3 网络几何画板的研究内容和意义 1 3 1 论文研究内容 本系统设计分两部分:首先是根据网络上传输数据量少、实时性高、交互性 西靶师截大学预士学位豫盘 第一章绪论 强等特点设计几何画板的数据结构,实现几何画板的功能,然后在几何画板功能 实现的基础上搭建f 5 9 络辅助环境,将其拓展到网络上,充分体现网络多媒体合作 式学习的特点。本系统研究内容主要分以下两部分: 1 、几何画扳设计 ( 1 ) 点、线、圆的设计 点通过绘制一个小圆,填充红色来实现的;可以构造线段的中点、两直线的 交点、直线和圆的交点、两圆的交点等;线可分为线段、射线、直线、平行线、 垂直线和角平分线,以图元指令来实现;圆为正圆,也是通过图元指令来实现的。 ( 2 ) 图形变化功能的设计 通过变换菜单命令,可按指定值、计算值或动态值对图形进行任意的旋转、 平移、缩放、迭代,并在其变化中保持几何关系不变,使其有助于研究图形的运 动和变换等问题。 ( 3 ) 度量和计算功能的设计 可测算线段长度、各种角的角度,封闭图形的面积等,并对测算出的值进行 多种计算,包括四则运算、幂函数、三角函数运算等等。 ( 4 ) 函数图形及对象轨迹的设计 在直角坐标系下,根据函数方程构造对应的曲线等,并可通过参数变化,来 实现函数图形的动态变化;对运动的对象进行“跟踪”;动态显示对象的轨迹; ( 5 ) 动画功能的设计 实现基本的动画和运动功能,能将较简单的动画和移动通过定义、构造和变 换,得到所需的复杂动画或运动。实现便捷的轨迹跟踪功能,能清晰地构造目标 对象的运动轨迹。 ( 6 ) 拖动功能的设计 由于保持几何关系是几何画板的精髓,画板中的几何图形无论怎样变化,它 们之间确定的几何关系都不变,因此在拖动功能的实现上要充分体现对象与对象 之间的动态关系。 ( 7 ) 几何图形属性及存储的设计 对画板中的对象可以保存、打开和对选择的对象修改颜色或改变几何对象的 线形等。 2 、网络环境的构建 网络环境的构建主要实现几何画板中几何对象的性质以及动态性在网络上 2 西北姊箍大学硕士学位论文 第一章绪论 的实时传输。在设计上用户问的交互性非常重要,即要实现远程用户之间的实时 交流。整体设计主要分四部分: 主服务器设计 主服务器对画板大厅中的房间和用户进行管理,实现画板大厅中数据的及时 更新。 网络数据包设计 设计良好的数据包格式,充分保证网络传输数据的实时性。 房主服务器设计 房主服务器用来实现房间中客户之间的交流,包括交互和数据包的传输。 客户端设计 客户端设计分两部分:首先要向用户提供一个友好的画板虚拟大厅,在大厅 内用户可以任意创建房间和进入房间,实现用户之间的交流。其次用来启动客户 端画板和房主端画板的连接,实现客户和房主之间的交互。 1 3 2 论文研究意义 建构主义理论认为:学习总是与一定的社会文化背景即“情境”相联系的, 在实际情景下学习,可以使学习者利用自己原有认知结构中的有关经验,去同化 和索引当前学习到的新知识,从而赋予新知识以某种意义:学习者与周围环境的 交互作用,对于学习内容的理解( 知识意义的建构) 起着关键性的作用。因此建 构主义提倡情境式教学,认为多数学习应与具体情境有关,只有在解决与现实世 界相联系的问题过程中,所建构的知识才将更丰富、更有效和易于迁移。 计算机辅助教学软件以建构主义理论为基础,具有交互性、个别化、实效性、 共享性等特点,越来越被人们所广泛接受。单机运行的几何画板是一个功能强大 的教学、研究性软件,但使用画板的用户之间不能突破地域性的限制进行交互, 从而不能进行合作式学习。目前虽然一些网络教学环境软件能在有限的局域网内 实现多媒体信息的教学广播,但只是将内容广播到各个客户机上,不能实现客户 之间充分的交互性。针对目前几何画板在网络上的不足,本系统研究开发建立一 个类似于联众的虚拟的网络空问,在此网络空间内用户可以随意的进行关于几何 画板的交流和合作式学习,从而为用户创设一个具有合作式学习特点的多媒体网 络教学情境。 本系统设计上充分融合了多媒体网络化教育的特点,将几何画板功能完整扩 西北舜菇大学硕士擘证论文 第一章靖论 展到网络上,使画板用户和用户之间的交流不再受空间限制的同时,加强了合作 式学习的直观性和动态性。此外,通过对本系统的研究开发可以在一定程度上促 进网络化教育的发展。本系统在设计时对欧氏几何中复杂抽象的几何对象进行了 综合的研究,并充分体现了其形象化和动态化的特点,特别对当前中小学数学教 学改革,起到一定的促进作用。 1 4 论文的创新点 1 、独立设计网络几何画板的数据结构并实现了几何画板的基本功能。 2 、融合几何画板动态性功能和多媒体网络化教育的交互性、实时性等特点,对 当前几何画板在网络上存在不足进行开发,构建了一种基于合作式学习的虚拟 网络环境。 4 西北帮范大学焉士学位论文第二章络几何i 扳的嚣计 第二章网络几何画板的设计 2 1 网络几何画板的理论基础 2 1 1 几何公理法概念 任何一种几何学的研究对象大致可以分为两类,其一是元素( 称为基本对 象) ,其二是元素之间的关系( 称为基本关系) ,这些是构成几何的原始概念。几 何的若干基本概念( 基本对象和基本关系) 和若干公理的集合,称为一个公理系 统,它构成几何学的基础。几何学作为一种逻辑演绎结构的体系,是以一组几何 公理,即基本对象和基本关系的最初假定为基础的。几何公理是客观世界中具体 对象的性质的抽象,即对几何对象的一种表述。 2 1 2 欧氏几何公理与几何萄板的联系 公理化就是抽象化,几何空间是叫做几何元素的“对象”或“物”的集合, 它们相互间的关系满足一定的公理要求。这样,所谓欧几罩得空间可以看作满足 欧几里得几何公理要求的元素的集合。希尔伯特在1 8 9 9 年出版的几何基础 一书中给出了欧几里得几何公理体系 1 。它包括: 基本概念: ( 1 ) 基本对象:点、线、面称为几何元素; ( 2 ) 基本关系:设想点、线、面之间有一定的相互关系,用“关联”( “在 上”,“属于”) 、“介于”( “在之间”) 、“合同于”( “全合同于“相等于”) 等词 表示,这些关系受关联公理、顺序公理、全等公理、平行公理和连续公理等公理 的制约。 几何画板应用于几何教学中,更深刻的体现和遵循几何学的规律,几何画板 中的图形建构以欧氏几何公理为基础。如几何画板中对象的坐标是实数,而欧式 几何公理系统有一个相容的实数模型 1 ,因此画板中对象及其关系符合欧氏几 何公理系统;由关联公理可以求两条线的交点且只有一个:由顺序公理给出射线 和角的定义,并在画板上实现:由合同公理可以求线段的中点和角的平分线;由 连续公理可以进行线段的度量和角的度量;由平行公理可以给出垂线和圆的定义 等等。因此欧式几何对几何画板中对象的定义及实现提供了正确的理论支持。 欧氏几何公理是尺规作图的理论基础,而画板是由点、线、圆三种基本元素 5 西j 匕师范大学i 蠢士学位论文第二章月络凡拜葺板构设计 构成,所以称它为“尺规作图”在欧氏几何中的现代延伸。 相对于传统的纸笔画图,几何画板的新颖性在于其动态性,“拖动”功能使 对图形的直接操作成为可能,且不会改变图形中固有的几何逻辑关系。任何一种 由“拖动”引起的图形变化,都可以在欧氏公理理论中得到证实或证明;换句话 说,画板这种微型环境和欧氏理论固有的一致性,为我们利用它进行几何教学提 供了理论基础。另一方面,它比传统的纸笔作图更能体现欧氏公理化思想。传统 作图不注重图形建构的先后顺序以及原理,造成几何学习中的许多不良现象,例 如:画平行线时可能直接画出两条线,从视觉上使它们平行;表示角的度数可能 不注意字母顺序,即使出现问题或错误,图形也不会迅速反馈给用户,致使一些 用户形成不良的错误表达习惯。在画板中做平行线必须先选中一条直线和直线外 一点,才可能构造出平行线( 符合平行公理) ;在量角的度数时,必须按照角的 表达顺序选中,才能有效,这些都体现出欧氏几何的公理化思想。 2 2 网络几何画板的设计 网络几何画板在软件实现上采用面向对象的语言j a v a ( 版本1 5 ) ,开发平 台是e c l i p s e 3 1 。系统的整体设计分两部分:几何画板的设计和网络环境的设 计,本节对这两部分的设计进行分析。 2 2 1 几何画板的设计 几何画板的设计重点是画板点、线、圆等基本元素数据结构的设计,数据结 构的设计是几何画板设计的核心,是几何画板所有功能实现的基础。 几何画板数据结构按照面向对象的理念进行设计,程序的基本构成是类和语 义对象的描述,其成分包括名称类( c l a s s ) 和一组相同的属性( a t t r i b u t e ) 及 操作( o p e r a t i o n ) 。 基于本系统的图形建构是以欧氏几何理论为基础的,且是由点、线、圆三种 基本元素构成。由用户在画板中创建的一切有形物体都是几何对象。虽然各个具 体的几何对象外形各不相同,画法各异,但它们都是几何体,都有名称、坐标、 颜色等属性。将所有这些共同的属性以及对它们的操作方法结合在一起,便构成 了一个抽象的几何对象类:f i g u r e 。 f i g u r e 中含有几何画板中所有对象的共有属性和方法,包含对象名称、类 型、颜色、线型等共有的属性,以及取父集、子集、返回对象选择状态等共同的 6 西| 匕师范大学焉士学位论文 第二章再络死爿吾板的设计 方法。f i g u r e 类的具体属性见表2 - 1 。 表2 - 1f i g u r e 类的属性 属性含义属性含义 l i n e s t y l e i n t默认线型为细1i n e c o l o r对象的颜色 k i n d对象类型n a m e对象名 s e l e c t e d 对象是否选中 n a m e s h o w 是否显示对象名称 i s o n o b j e c t鼠标是否在对象上 t r a c e s h o w是否显示对象轨迹 is s h o w e d 对象是否显示1 i n e s t y l e本地画板线型 p a r e n t 对象的父集d e l f l a g对象剪切标记 c h i 1 d r e n 对象的子集 i f m a r k e d 对象是否被标记过 p r o p o r t l o n 点所在对象的位置比例1 i n e s t y l e网上传输的线礁 以f i g u r e 为基类,派生出各种具体的几何对象,包括点、线类、圆类、弧 类、标签类、迭代类、内部类和曲线类等基本几何对象,这些基本对象类继承 f i g u r e 类的所有属性,并根据自身特点定义自己独有的属性、构造函数和方法, 同时根据画板对象派生扩展类,构成几何画板韵基本数据结构类,见表2 2 。 表2 - 2 蘧板数据结构主要类列表 类名 类中文名备注 f i g u r e抽象对象类包含所有对啄的共同属性和方法 p o i n t 点类绘制各种点 s t r a i g h t o b j e c t抽象直线类包含线对象的共同属性和方法 h r c 弧类绘制各种弧 c i r c l e圆类绘制各种圆 l i n e 直线类绘制各种直线 s e g m e n t线段类 绘制各种线段 b i s e c t o r 角平分线类绘制各种角平分线 p a r a ll e l 平行线类绘制各种平行线 p e r p e n d i c u l a r垂线类绘制各种垂线 r a y射线类绘制各种射线 c o o r d i n a t e 抽象坐标系包含坐标的共同属性 a x i s x 坐标横轴类绘制x 轴 h x i s y 坐标纵轴类绘制y 轴 m a r k标记类 实现对象的标记( 平移距离等) l a b e l 标签类保存对象的度量值( 如坐标等) b u t t o n 按钮类控制对象的运动( 动画、移动等) e q u a t i o n已知方程类绘制已知方程的曲线 t r a c e 未知方程类绘制未知方程的曲线 i n t e r i o r内部类绘制封闭图形 i t e r a t i o i l 迭代类实现多个对象的分形绘制。 上面定义的几何画板的结构组成类之间可以互相构造,形成画板对象的父子 7 西北师范大学爱士学位论文 第二章罔络几何菅板的设计 关系,如点可以构造线段、弧、圆、直线、射线等对象( 关于父子关系的设计见 第四章) 。除f i g u r e 类外,c o o r d i n a t e 、s t r a i g h t o b j e c t 两个抽象类分别派生 出不同的对象类,由此形成一个体现类继承关系的层次树,见图2 1 几何画板中最基本的对象是点、线、圆,其中点是构成其它对象的基础,其 它对象的构造都是以点为基础的,对这三种对象分别以类的形式进行定义,类中 包含了其属性以及相关方法。 l 、点类( p o i n t ) 的设计 点类中最基本的属性是:横坐标( x ) 、纵坐标( y ) 、横坐标偏移量( d e t x ) 、 纵坐标偏移量( d e t y ) ,其它属性如类型、颜色、名称、父子集等从f i g u r e 继 承 点类中对不同类型的点设计不同的构造函数,同样类中的方法根据不同类 型点进行设计,比如求线线交点、线圆交点、圆圆交点、求变换点等方法,其 中o n o b j e c t ( ) ( 判断鼠标是否在点上) 、s h o w o b j e c t 0 ( 绘制点) 、d r a g ( ) ( 拖 8 西北师螽太学磺士学位绝文 第二章用络几何i 板的设计 动点) 、更新点的坐标、返回点的坐标等方法是所有不同类型点共有的方法。 ( 1 ) 普通点的设计 几何画板普通点的设计以特别的方式实现,即通过单独绘制和填充同心 圆来实现。点的绘制必须给出点在画板中的横坐标和纵坐标,坐标的类型采 用d o u b l e 型,确保点坐标的精确性,采用的坐标系是直角坐标系。 点的创建 设计普通店构造函数将点的类型和横纵坐标进行保存,再以当前点的坐标 为圆心以红色填充一个小圆,以蓝色在其外围画一个小圆,完成点的创建, 见图2 2 。 点的选择 圈2 - 2 通过o n o b j e c t 0 方法,使鼠标所在位置和所选点的距离是否小于一定的 像素值,对以点坐标为圆心用红色填充一个圆,在填充圆内用蓝色画一小 圆,完成点的选择,见图3 2 。 点的删除 将选择的点对象从画板对象链中删除。 点的隐藏和显示 将选中点的显示属性改成假,画板刷新调用s h o w o b j e c t 0 ,直接返回, 不做任何点的绘制操作:点的显示与点的隐藏类似。 点的拖动 点的拖动分普通点、对象上点、坐标单元点、变换点四种类型,分别用不 同的方法对点的坐标进行更新: ( 2 ) 其它点的设计 画板中点的类型共分8 种点,分别为中点、交点、对象上点、旋转点、平移 点、反射点、绘制点和缩放点,设计上根据欧式几何公理系统通过一定算法实现。 中点: 5 ,唷:s 由欧氏几何全等公理可知, 可得中点坐标,见图2 3 。 交点 中点由线段产生,通过方法由线段两端点坐标 由关联公理和顺序公理可知:交点由线线、线圆 和圆圆相交产生,通过求交点算法可得交点坐 标,见图2 4 。 9 西| 匕师箍大学硬士擘位论文第= 章网络几何板构设计 对象上点 对象上点的设计分两种:通过菜单命令创建对象 崩专点 上点和鼠标直接在对象上创建点,对象可是任意2 :竺一一:图2 5 的线、圆以及弧。根据对象类型调用求比例关系 的算法,求出此点坐标和点在对象上的一个位置关系,见图2 5 旋转点 根据旋转的角度、标记中心点的坐标和旋转点的坐标通过方法得到旋转后 点的坐标,见图2 5 。 平移点 根据标记向量中的距离或用户输入的距离与要平移的点的坐标通过方法 得到平移后点的坐标。 反射点 由欧式几何全等公理根据标记镜求出点关于线的 对称点,得到反射点的坐标,见图2 6 。 绘制点 绘制点是通过用户输入的值或两个标签的值作为绘制点的横纵坐标。 缩放点 根据标记中心中的点、缩放比例值和缩放点的坐标沿标记中心点的方向求 出缩放后点的坐标。 坐标原点 直角坐标系的中心点,默认的坐标值是( 4 5 0 ,3 5 5 ) 。 坐标单元点 位于横轴上原点右边第一个刻度,默认3 8 个像素为一个刻度单位。 2 、线类的设计 线类的设计在扩展抽象类s t r a i g h t o b j e c 基础上产生,由欧氏几何公理 可知线由两个不同点产生,在s t r a i g h t o b j e c t 中定义线的两个点( f i r s t 、 s e c o n d ) 作为线的共有属性,共有的方法有:返回线斜率、返回线的两点、计 算线上点的横纵坐标、更新两点坐标。由图3 - i ,扩展的线类型有8 种,分 别为线段、直线、射线、角平分线、平行线、垂线、坐标横轴、坐标纵轴。 ( 1 ) 线段 线段分普通线段设计和变换线段设计两部分,其设计是实现其它线的基础。 1 0 西北辱菇大学硬士学位蛇变第二章罔缮几何i 板的设计 a ) 普通线段的设计 线段的创建“铀。 图2 - 7 由欧氏几何公理可知线段由两个不同点通过连线构成。在设计上,得到线 段两个端点坐标,通过图元指令函数完成,见图2 7 线段的选择 在靠近线段的两边通过方法绘制两条红色的线段,见图2 - 7 。 线段的删除 线段的删除与点的删除类似。 线段的显示和隐藏、 线段的显示和隐藏与点的显示和隐藏类似。 线段的拖动 线段的拖动通过鼠标变换的位移改变线段的两个父端点坐标完成。 b ) 变换线段的设计 。,警暾暇 旋转线段 图2 - 8 通过标记中心点、旋转角度和旋转线段的两个父端点坐标,计算旋转后线 段的两端点坐标,完成旋转线段的创建,见图2 - 8 。, 平移线段 平嚣蟪篙。一。 根据标记向量中的距离或用户输入的距离、线段的两端点坐标通过方法计 算出平移后线段两端点的坐标并创建线段,见图2 - 9 。,反射线段 反射线段0 0 图2 一l o 由欧式几何全等公理根据标记镜面中的线,通过方法求出线段两父端点关 于线的对称点,完成反射线段的创建,见图2 - l o缩警警 缩放线段 根据缩放比例值、标记中心点和缩放线段的两端点的 线段的两端点的坐标并创建线段,见图2 - 11 。 算出缩放后 其他线的设计在线的创建上与线段有区别,其他与线段类似,以下针对其 它线的创建进行设计分析。 ( 2 ) 直线的设计 由欧氏几何公理系统可知,直线的产生必须要有两个不同的点。直线的创建 与线段类似,同样由两个点组成,创建时求出直线在画板上的两个边界点,调用 画线段指令函数绘制一条连接两边界点的线段来完成直线的创建。 l l 西北搿蕴大学焉士事位论文第二章罔终几何蠢板的设计 由欧氏几何公理系统可知:射线与直线的不同在于射线只有一个边界点,另 外一个边界点是射线的其中一个端点,绘制方法与线段类似,见图2 一1 2 。 ( 3 ) 角平分线的设计 由欧氏几何公理系统可知:角平分线由三个点围成的角度 和其中一个点构成,起点为三个点中顺序选择的中间点,。图2 - 1 3 通过三个点计算一个辅助点,辅助点不加入对象链,绘制方法与射线类似, 见图2 一l3 0 ( 4 ) 平行线的设计 。 图2 一h 由欧氏几何公理系统可知:平行线由点和线构成,设计时构造一个辅助点, 辅助点由点和线上的两个点通过方法获得,绘制方法与直线类似,见图2 1 4 。 ( 5 ) 垂线的设计 ”由欧氏几何公理系统可知:垂线由点和线构成,垂线绘制与平行线类似,见 图2 - 1 5 。 ( 6 ) 坐标横轴的设计 横轴的创建 坐标横轴设计分两部分:横轴的设计和横轴 刻度线的设计,横轴上两个点分别为坐标原 点和单元点,横轴通过横轴边界点连接绘制 线段完成;刻度线的设计,能随坐标系的变 。 图2 1 6 化而动态变化,通过在横轴上画垂直于横轴的小线段完成,见图2 一1 6 。 横轴的选择 通过在横轴的上下附近各画两条平行于横轴的红色直线完成。 横轴的删除 将横轴及原点和单元点从对象链中中删除,因父子关系,纵轴随之删除。 横轴的显示与隐藏 将横轴的是否显示属性设为真可实现显示,设为假可实现隐藏。 横轴的拖动 拖动横轴时,原点随之运动,由父子关系定义整个坐标系一起运动。 ( 6 ) 坐标纵轴的设计 纵轴的设计与横轴类似,不作赘述。 西靶师范大学焉士学位论文 第二章络几何萄板的设计 3 、圆类的设计 画板中的弧由三个不共线点构成,由欧氏几何公理系统可知不共线的三 点必存在一个圆,设计上圆是弧的特例,圆的部分属性继承自弧,共有属性 为圆心点、半径和控制点。 ( 1 ) 普通圆的设计 圆的创建 普通圆的设计分两种情况:通过两点构造圆和通过点、半径构造圆,半径 可以是线段或标签的值,以给出的圆心点和半径调用画圆指令函数创建圆。 圆的选择 通过在圆的内外各画一个红色同心圆表示,见图2 1 7 。 圆的显示和隐藏、圆的删除、圆的拖动等操作与线段的类似。 ( 2 ) 变换圆的设计 变化圆有四种:分别为旋转圆、平移圜、反射圆和缩放圆。 旋转圆 根据旋转的角度、标记中心点的坐标和构成圆两父端点 坐标,计算出旋转后圆的两父端点坐标,完成圆的旋转, 见图2 1 8 平移圆 根据标记向量中的两点或用户输入的距离值、 圆的两点坐标,通过方法计算出平移圆的两父 点的坐标,见图2 一1 9 。 反射圆 根据标记镜面中的线求出圆的两父点关于标 记镜面线的反射点,并根据两点坐标创建圆, 见图2 2 0 。 缩放圆 根据比例值、标记中心点和圆两父点坐标, 通过方法计算出缩放后圆的两端点的坐标, 并根据两点坐标创建圆,见图2 2 0 。 2 一1 8 标记向量 oo 一 图2 一1 9 图2 2 0 在实现点类、线类、圆类的基础上可进行i t e r i o r 、i t e r a t i o n 、m a r k 类的 设计,通过度量点的横坐标或纵坐标、度量圆的面积、圆的周长、圆的方程、 1 3 o 西北师粒大学焉士擘位论文 第二章络凡何i 董豹设计 圆的半径、度量线段的长度或斜率、多边形的周长或面积、三个点围成的角度 等操作,进行l a b e l 类的设计,通过l a b e l 类设计和求任意一个表达式值的方 法,进行计算器类c a l c u l a t o r 的设计;通过点、线、圆特点进行随机动画、规 则动画和移动类的设计;通过控制动画和移动进行按钮类的设计:在l a b e l 和 c a l c u l a t o r 基础上进行t r a c e 类和e q u a t i o n 类的设计。 通过上面几何画板数据结构的设计,可知画板中对象类型复杂。所有对象 可由抽象类f i g u r e 表示,画板中所有的对象以f i g u r e 类形式存放于两种链表 中,一种链表存放用户创建的对象称为对象链,另一种链表存放用户当前操作 的对象称为选择链,对象在链中以结点( 】n o d e ) 的形式存储,见图2 2 1 。 图2 屯l 两种链表中的对象可以根据需要任意的进行增加、删除、修改、查询、清空操 作。画板中对象的显示由对象链决定,用户正在操作的对象由选择链临时保存。 用户操作对象时,画板将擦除画板所有对象,根据对象链执行每个对象中的 s h o w o b j e c t ( ) 方法,重新绘制对象。 2 2 2 网络环境的设计 网络环境的搭建用于实现用户画板数据和用户间交互信息的实时传输,主要 有以下功能: 向用户提供友好的画板登陆虚拟大厅界面,并对虚拟大厅及虚拟房间进行动 态管理。 实现房主端( 主控) 和客户端画板内容及其动态性的同步。 实现主机端和客户端的实时对话交流,方便交流效果的反馈。 实现客户端和房主端在画板操作权限上的互操作性,使交互性得到真正体现。 定义良好的底层数据包格式和发送数据包的方式,确保交互的实时性。 考虑到画板的数据量很大,设计时首先考虑减少服务器的负担,主服务器只 完成用户、虚拟房间以及聊天数据的传输,并实时更新用户、虚拟房间的信息; 而基本元素模型及元素属性的数据发送传输,由虚拟房间控制端的房主服务器完 1 4 西北师范大学磺士学位论文 第二章再络几何看扳的设计 成,客户端只完成数据的接收及数据解析和简单命令的请求等功能。 其次,为保证房客二次进入虚拟房问后有实时的数据刷新,必须采用缓冲集 合,对虚拟房问内已有几何对象的所有数据进行缓冲存储,在画板中以对象链的 形式实现缓冲存储。在网络的连接上,采用基于t c p 协议的连接方式,可以使对 象或命令传输准确,确保房主端和客户端操作对象及交互的无误性。 网络环境的搭建是本系统的另一核心部分,整体设计分主要以下几部分: 网络数据包的设计 主服务器的设计 房主服务器的设计 客户端的设计 l 、网络数据包的设计 网络环境搭建的目的是要将房主端画板的所有操作内容,通过房主服务器完 全发送到客户端。考虑到网络传输带宽和实时性的要求,发送画板对象时,不直 接发送对象,将操作命令和对象的坐标以数据包的形式发到客户端,客户端对数 据包中的命令和数据进行解析。根据解析的命令从本地调用相关方法来完成对象 的操作,可减少系统对网络带宽的要求。采用j a v a 序列化技术发送数据包,保 证了操作的实时性,因此数据包在网络环境的设计中非常重要。 根据画板数据包量大、类型复杂且实时性高的特点,我们将数据包分成两种 格式,用于满足不同的功能要求,同时提高接收端的处理效率。 1 ) 画板数据包设计 格式1 : 际忑f 田 当创建画板对象时,发送的数据包包含创建对象的命令和对象在画板中的 坐标。当用户选择对象进行操作时,发送的数据包包含操作命令和对象在本地画 板中对象链的位置索引,用x 表示,y 值暂为空值。负责接收的客户端接到此数 据包后将其解析,并根据c o n t r o l 值、x 、y 值调用本地方法进行相应的操作。 格式2 : 医五圈丑碉 当画板对象存在对其进行拖动操作时,对象坐标发生变化,除了发送操作命 令和对象在对象链中的索引位置外,还要发送对象的坐标偏移量。对方收到包后, 根据命令和索引位置找到本地画板对象,根据坐标偏移量调用本地拖动算法,实 蠢j b 师范大学硬士学证论文 第二章同络几何i 板的设计 现客户端对象的拖动操作。 2 ) 交流信息包的设计 网络环境中合作情境的建立需要大量的交互信息包,如房主在房间内开始与 画板客户进行交流时,首先在本地执行开始教学命令,向本地服务器发送一个开 始教学信息包,由本地服务器向房间内其他客户进行广播,其他客户收到此包后, 将自己本地画板操作关闭,清空本地画板内容,向房主发送请求得到房主端对象 链的请求,房主端客户收到此包,将自己本地对象链打包,由本地房主服务器广 播给其他客户,其他客户收到此包,根据对象链内容,重新绘制本地画板对象, 保持本地画板内容与房主端客户画板内容的一致,工作流程见图2 2 2 。 实线代表向客户广播信息包 一- 虚线代表客户向房主发送信息 图2 - 2 2 以上分析的是网络环境中使用的开始教学信息包,当然在房主和房间中客户 的交流上还有很多类型的信息包,比如:画板操作权限、客户请求权限、房主开 始教学或停止教学等信息包,本系统为了实现充分的交互性,共定义了2 1 种信 息包类型,它们分别是以类的形式定义,在此不作详细的设计分析,以列表形式 给出,见表2 3 。 西托彝蓖大学硬士学位论文第二章网络几何萄板构设计 表2 3 网络环境中的交互信息包说明 类名功能说明类名功能说明 c h a t r e q u e s t聊天请求包o b j e c t l i s t画板对象链包 c li e n t i n f o 客户信息包 o b j e c t r e q u e s t 请求对象包 c o m u n i c a t i o n 客户信息交流包r i g h t r e q u e s t 请求权限包 c o n n e c t i o n n o t i c e连接消息包r o o m 房间包 d a t a p a c k a g e 画板数据包s e r v e r s h u t d o w n服务器关闭包 e x i t k o n m退出房问信息包s t a r t o r e n d t e a c h开始教学包 f i l e l i s t 已保存的醉板文件包u p d a t e h o s t更新房主包 j o i n c h a t r o o m 加入聊天房间信息包u p d a t e l i s t 标记客户更新表包 k i c k e d o u t n o t i c e 踢出信息包u p d a t e m e s s a g e更新房间信息包 l 0 9 0 u t标记客户退出包u p d a t e r o o m房闻人鼓更新包 n e s s a g e普通消息包( 客户登陆时使用) 2 、主服务器的设计 主服务器在设计上必须能接收客户登录画板大厅请求,实时更新所有用户和 虚拟房间的状态信息,响应请求更新房间信息的用户。每个登陆客户端跟主服务 器保持一条连接发送自己的状态,如进入房间,退出房间等。 主服务器启动后在自己本地8 0 端口建立侦听,等待来自客户端登陆请求。 主服务器在包格式的设计上定义了以下五种:房间包、请求房间包、退出房间包、 更新房间包和客户退出大厅信息包。当有客户登陆时,服务器监听程序就会建立 一个新线程与客户建立一条新连接,将此线程存入本地线程集合中。客户第一次 登陆向服务器发送一个信息包,请求本地画板房间信息,主服务器将自己本地保 存画板大厅房间信息发送给客户,客户收到后更新自己本地大厅房问。当用户创 建、进入和离开房间时,客户端会将自己本地的大厅房自j 信息以更新房间信息包 的形式发送给主服务器,主服务器收到后对自己本地保存的大厅房问信息进行更 新,将此信息包广播给其他已经与主服务器连接的客户,更新其他客户端画板的 大厅房问信息,实现画板大厅中所有客户房问信息的同步更新,工作流程见图 2 2 3 。 3 、房主服务器的设计 房主服务器作为创建房间客户端的一个服务线程出现,其在8 0 端口建立侦 1 7 西| 匕帮拖大学焉士学位凳丈第二章一络几何西鬣构设计 听,当有新客户进入房间时,就与新客户建立一条连接,放到本地的线程集合中: 当有客户离开房间时,断开与离开客户的连接,并向其他客户广播一个信息包。 实线代表向客户广播房间更新包 卜虚线代表客户向主服务器发送本地房问包 图2 2 3 表明有客户离开房间;当房主开始教学时,功能是接受房主端画板的数据包,将 其广播给房问内其它所有用户:当房间中的客户要跟房主交流时,负责将信息发 给本地房主,再将房主的反馈信息转发给特定的客户;当有新客户进入房间,房 间中的房主正在教学,此时房主服务器收到客户端请求本地对象链的信息时,会 判断当前房主是否正在进行创建操作。如果正在创建对象则等待,否则就将房主 端对象链发到客户端,客户端受到对象链后更新并关闭本地画板,进入房主教学 中,保持与房主端画板内容的一致;当收到的包是画板操作权限信息时就转发给 指定的用户,从而在房主与房间中的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年IT系统合成升级时间安排商谈函(3篇)范文
- 电子竞技产业平台建设与运营管理方案
- 餐厅服务质量满意度调查通知函(5篇)
- 2026年关于售后服务的函(5篇)范文
- 会计行业审计项目经理KPI考核表
- 工业自动化企业系统调试与运行维护指南
- 感恩教育:回报身边的人小学主题班会课件
- 物理设备故障维护与修复计划
- 小学主题班会课件:诚实守信促成长团结协作展风采
- 迪庆州一级造价工程师考试模拟题及答案:(建设工程计价)(2026年)
- TSG-21-2016-固定式压力容器安全技术监察规程
- oa安全保密管理制度
- DB33- 1001-2003:建筑地基基础设计规范
- 《医疗器械知识培训》课件
- 车辆配装配载方案
- GB/T 14233.3-2024医用输液、输血、注射器具检验方法第3部分:微生物学试验方法
- DL∕T 5210.4-2018 电力建设施工质量验收规程 第4部分:热工仪表及控制装置
- 智研数据中心部分可吸收止血材料市场调研分析报告
- HG+20231-2014化学工业建设项目试车规范
- 高一入学分班考试-数学试题含答案
- 中风病-《中医内科学》课件
评论
0/150
提交评论