已阅读5页,还剩52页未读, 继续免费阅读
(课程与教学论专业论文)数学聊天软件的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 目前广泛使用的数学软件有很多,如几何画板、( ( m a t h e m a t i c a ) ) 、( ( m a p l e ) ) 、 z 上z 智能教育平台等,这些数学软件虽然都具有强大的解决数学问题的功能, 但却只能在单机上进行,如果遇到不清楚的问题,充其量也只能到b b s 论坛上 去发个帖子询问一下,终究还是不能得到即时的解答,随着网络信息技术的高速 发展,高效快捷的解决问题已成为网络信息时代的主旋律,那么通过网络以聊天 的方式来解决些数学问题,无疑是一种极为有效而又势在必行的工作之一。说 到此,不免让人感觉,数学软件的此种功能,与大家广泛使用的聊天软件颇为相 似。目前,市面上有很多可供聊天的工具软件,其中最为广泛使用的就是i c q 、 m s n 以及国内腾讯公司开发的q q 了。聊天软件的问世和推广为天南海北的人 们互通消息,联络感情提供了一个广阔的空间。但现在的这些聊天软件都只能传 输普通的文字和一些图片,笔者一直在想,如果让普通的聊天软件具备数学软件 的某些功能,如公式显示和几何作图,从而使聊天软件可以即时传输、显示公式 和动态作图,那么对一些想通过聊天的方式来讨论数学问题的人来说无疑是一个 很大的福音。据调查,目前国内外的聊天软件和数学软件均未发现有此“二合一” 的功能,本文研究的就是如何开发设计这种数学聊天软件。 文章开始首先介绍了计算机辅助教学、教育软件、网络教学及计算机代数的 基本概念、研究现状及发展前景,以期读者对这个数学聊天软件的理论基础有一 个更全面的了解。 第二章中,作者介绍了以面向对象的方法实现动态几何作图。 第三章中,作者重点介绍数学公式的显示及传输,部分初中代数的解题功能。 第四章中,作者详细阐述了在聊天过程中,如何动态交换作图控制权实现实 时交互以及数学公式的传输。 在文章的末尾,作者对文中算法的一些不完善的地方及可能的改进方法做了 简要的阐述和展望。 关键词:计算机辅助教学;智能教育软件;动态几何作图 垒坠坚生一 a b s t r a c t n o w a d a y s ,m u c hm a t h e m a t i cs o f t w a r e a r eb e i n gw i d e l yu s e d t h e s es o f t w a r e i n c l u d eg e o m e t e rjs k e t e h p a d 、m a t h e m a t i c a ,m a p l e 、z + zi n t e l l i g e n te d u c a t i o n a l p l a t f o r m a l t h o u 曲t h e s em a t h e m a t i cs o f t w a r eh a v ep o w e r f u l f u n c t i o n so fs o l v i n g m a t h e m a t i cp r o b l e m s ,t h e yc a no n l yo p e r a t e0 1 3 t h es i n g l em a c h i n e i fm e e t i n gs o m e p r o b l e m s ,w eu s u a l l ys e n da l la r t i c l et ot h ef o r u m o fb b sf o rh e l p ,b u tw ec a r l tg e t t h eh e l pi nt i m e w i t ht h er a p i dd e v e l o p m e n to fn e ti n f o r m a t i o nt e c h n o l o g y , s o l v i n g t h ep r o b l e m se f f i c i e n t l ya n dq u i c k l yh a sb e c o m em a i nr h y t h mi nt h ee r ao fn e t i n f o r m a t i o n s o l v i n gs o m em a t h e m a t i cp r o b l e m sb y n e tc h a t t i n gi su n d o u b t e d l yo n e o ft h em o s te m c i e n ta n di m p e r a t i v ei o b s w e l l ,t h ef u n c t i o no ft h em a t h e m a t i c s o f t w a r es e e m ss i m i l a rt ot h a to ft h ec h a t t i n gs o f t w a r ew i d e l yu s e db yp e o p l e n l e a u t h o rh a sa l w a y sb e e nt h i n k i n gt h a ti ft h ec o m m o nc h a t t i n gs o f t w a r eh a ds o m e f u n c t i o n so fm a t h e m a t i cs o f t w a r e ,s u c ha sf o r m u l ad i s p l a y i n ga n dg e o m e t r yc o n s t r u c t , t h e y w o u l db e c a p a b l e o ft r a n s m i t t i n g s y n c h r o n o u s l y , f o r m u l ad i s p l a y i n g a n d g e o m e t r yc o n s t r u c t t h a tm u s tb ew e l c o m eb yt h ep e o p l ew h ow a n tt or e s o l v et h e m a t h e m a t i cp r o b l e m sb yc h a t t i n g i ti ss u r v e y e dt h a ts of a rn os o f t w a r ec o m b i n i n g t h e s et w of u n c t i o n sh a sb e e nd e v e l o p e d n i sd i s s e r t a t i o ni sa i m e da th o wt od e s i g n a n dr e a l i z et h e s ef u n c t i o n s i nt h ef i r s t c h a p t e r , t h e c o m m u n i c a t i o n a l t h e o r y o f c h a t t i n gs o f t w a r e ,t h e c o n c e p t i o n ,t h eb a c k g r o u n d ,t h es t a t u s q u oo fs t u d yo fd y n a m i cg e o m e t r yc o n s t r u c t a r ei n t r o d u c e d i n c h a p t e r t w o ,t h ew a y o f r e a l i z i n gd y n a m i cg e o m e t r y c o n s t r u c t b y o r i e n t e d - o b j e c tm e t h o d i si l l u s t r a t e d i n c h a p t e rt h r e e ,t h e a u t h o rf o c u s e do nt h e d i s p l a y i n g a n dt r a n s m i t t i n go f m a t h e m a t i cf o r m u l ai nd e t a i l a tt h es a r f l et i m e t h ea u t h o ra l s oi n t r o d u c e ds o m e f u n c t i o no f j u n i o r a l g e b r a i nt h ef o u r t h c h a p t e r , t h e a u t h o r e x p a t i a t e d h o wt o e x c h a n g et h e c o n s t r u c t c o n t r o l l e rd y n a m i c a l l yi no r d e rt or e a l i z et h ei n t e r a c t i o ns y n c h r o n o u s l ya n d d i s p l a yo f t h em a t h e m a t i cf o r m u l a a tt h ee n do ft h i sp a p e r , s o m es h o r t c o m i n g so f t h ea l g o r i t l m la r e p o i n t e do u t a n d w ea l s od i s c u s s e ds e v e r a lp o t e n t i a lw a y st h a tc o u l d i m p r o v e t h ef u n c t i o n s k e yw o r d s :c o m p u t e ra s s i s t e di n s t r u c t i o n ;i n t e l l i g e n te d u c a t i o n a ls o f t w a r e ;d y n a m i c g e o m e t r yc o n s t r u c t h 广州大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指 导下,独立进行研究工作所取得的成果。除文中已经注明引 用的内容外,本论文不含任何其他个人或集体已经发表或撰 写过的作品成果。对本文的研究做出重要贡献的个人和集体, 均已在文中以明确方式标明。本人完全意识到本声明的法律 后果由本人承担。 学位论文作者签名:关留何日期:阚尸年多月日 广州大学学位论文版权使用授权书 本人授权广州大学有权保留并向国家有关部门或机构送 交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权 广州大学可以将学位论文的全部或部分内容编入有关数据库 进行检索,可以采用影印、缩印或扫描等复制手段保存、汇 编学位论文。( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:集廖七日期:瑚 绰舌月f 日 翩獬:祀 醐:埘绷佃 苎二童堕丝 第一章绪论 随着现代科学技术的发展,计算机已进入我国的教育领域,并得到迅速的发 展。它正逐渐成为有效的教学媒体和教育管理的有力工具,它使当今的教学手段、 教学方法、教学观念与形式、课堂教学结构以至教育思想与教学理论都发生了变 革。由此相应形成一门新的综合的教育学知识与计算机技术相结合的研究领域一 一计算机辅助教育( c a i ) ,它在我国的教育领域中发挥了重要的作用。而随着多 媒体技术、网络技术、人工智能和自动推理技术的日益成熟,计算机教育软件在 计算机辅助教学领域也将发挥出更大的作用。 1 1 计算机辅助教学 计算机辅助教学( c o m p u t e ra s s i s t e di n s t r u c t i o n 简称c a i ) 是电化教学 的高级形式。它是利用计算机辅助教学人员完成教学过程的一种教学方法和手 段,辅助教师的课堂教学、考试,辅助学生自学、复习、练习、自测等,从而减 轻教师繁重重复的劳动,改进教学方法、提高教学质量f 9 】。c a i 是计算机技术在 教育领域中的一个重要应用,它不仅涉及到计算机技术,还涉及到教学思想、原 则和方法,涉及学生、教师和计算机技术人员,它的核心是研究如何将上述人员、 思想及设备等方面加以系统地组织,使之有机结合起来,形成一个高校的教学系 统。因此,c a i 是一门综合应用教育学、心理学、计算机科学与其它专业学科各 方面知识,研究实现教育目标的最优手段和方法( 包括理论和技术) 的边缘科学, 是一门新兴的交叉科学。 c 舡对现代传统的教育方法和教学手段具有深远影响应用c a i 技术将充分 发挥计算机的存储容量大、处理速度快的特点,大大提高单位时间的教学信息量。 特别是随着超文本和多媒体等新技术的出现,学生可以在知识海洋中主动的、大 量的获取知识。计算机用于教学,就目前计算机的硬件、软件水平以及人工智能 发展的水平,c a i 主要有以下几个有利方面:一、教学不再只是被动地灌输,而 是提供较好的条件让学生自己主动探试。学生可以克服来自各方面的心理压力, 第一章绪论 自主地进入最佳的学习状态,学习进度、理解能力、记忆能力等各方面的差异在 计算机面前、在课件的引导下都可以得到补偿。教师可逐步摆脱不同程度的重复 性劳动,把精力转移到更有创造性的活动中去。二、充分利用现代化教学手段, 认真研究和推广c a i 教学,能够有力地推动课程建设和教学方法的革新,改变单 一的教学模式,改变传统的“以教师为中心”的教育思想,能够大大提高教学质 量和教学效率。三、计算机辅助教学具有良好的视、昕效果。它可以创设问题情 境、激发学生学习的兴趣,在传统的教学活动中,教师对教学内容的描述大多是 通过粉笔、黑板进行的,是一种“单媒体”的活动。多媒体教学课件具有形象生 动的演示,动听悦耳的音乐效果给学生以新颖感、惊奇感,充分调动了学生的视 觉、听觉神经,从而使学生在教师设计和“激疑创设问题情境分析问题 解决问题”的各个环节中都能保持高度兴奋,学习效果会明显提高。拿计算 机辅助数学教学为例,几何课里的作图课,学生一般都会觉的比较枯燥无味,但 如果使用计算机辅助教学,使用作图课件来讲解作图的知识要点就会使学生顿时 兴趣盎然,收到意想不到的效果。这样通过演示功能、展示动态图形,提出问题 本质,不仅使学生掌握知识,还能培养出学生浓厚的学习兴趣,大大提高课堂效 率。 从计算机辅助教学对传统教学产生的影响可见c a i 具有很强的交互性、适应 性、控制性以及灵活性。它可以使学生与计算机之间、学生与教师之间以及学生 与学生之间得以进行广泛的交流,形成一种开放的、积极的交流教学环境。 与此同时,计算机辅助教学的顺利实施又是以优秀的计算机教育软件为前提 的,是以教育软件的运行来展开相应教学过程的。由此计算机教育软件的健康发 展对我国教育水平的普及和提高是至关重要的。 1 2 计算机教育软件 自2 0 世纪g o 年代以来,多媒体技术逐渐发展成熟,计算机教育和教育软件 的发展引起了人们广泛的关注,大量的教育软件纷纷涌现出来。但是许多教育软 件存在以下的问题:( 1 ) 针对性不强,在因材施教,启发学生思维,情感交流, 个性品格形成等方面存在严重不足。( 2 ) 缺少协作学习功能。学习者无法与他人 苎二兰堕堡 一 相互讨论,相互取长补短,共同解决问题。( 3 ) 缺乏智能性。学习者不能根据自 身的知识结构和认识能力选择适合自己的学习方式和学习内容,没有因果分析, 不能培养学习者的创造能力。( 4 ) 交互性不强,反馈效果差。人机交互的不灵活 性大大限制了学习者的自由发挥,反馈往往是按照行为主义的刺激反应模式 进行,缺乏弹性和空间。同时,其只能在单机上而不能在网络上运行,教育软件 中的数据无法被更多的人共享和利用,不能在原有教育软件基础上进一步扩展其 功能。 针对上述问题,笔者认为比较完善的教育软件应具备以下功能:( 1 ) 学生可 以使用教育软件学习课堂上老师所讲授的内容,并可以作为复习资料使用。( 2 ) 学生可以使用教育软件解答自己在学习中碰到的疑难问题,当然,这就需要该教 育软件具有一定的疑难问题储备。( 3 ) 学生可以通过教育软件实现远程资源共享, 和别人合作探讨问题,这也是教育软件今后的发展趋势。就数学教育软件而言, 目前的教育软件在( 1 ) ,( 2 ) 两个方面都已经做了有效的尝试,而且效果也比较 显著,最常用的有几何画板、( ( m a t h e m a t i c a ) ) 、 m a p l e ) 、z + z 智能教育平台 等。这些软件在解决数学问题上功能强大,但却只能在单机上使用,要想远程同 步探讨某个问题,这些软件就鞭长莫及了。而我们知道,由于网络的迅速发展, 广域网、局域网几乎遍及世界每一个角落。资源共享和统一管理,对c 越系统, 特别是教育软件要求共享、受益面积更大的呼声越来越强烈,这就给教育软件提 出了更高的要求。原来教育软件单机版向网络版、非实时交互网络版向实时交互 网络版的发展,随着网络的迅速发展和普及,发展不同地区、不同层次、不同行 业、不同水平的教学网络必将成为教育软件发展的大趋势。 1 3 计算机网络教学 当今世界,以计算机技术和通信技术为代表的信息技术迅速普及和发展,给 人类的生产、生活及工作方式都带来的巨大的变革。在信息技术的推动下,教育 传播也受到了前所未有的冲击。网络教学作为一种新兴的教育传播形式,正以它 独一无二的特点和优势与传统的教学模式逐渐形成对垒。各个学科的网络化教学 已是大势所趋,但基于各学科的学科特点不同,其网络化教学自然因“科”而异。 茎二至堕望 一 就中学数学的网络教学问题而言,就有很多东西值得探讨。 1 3 1网络教学的特点 网络教学模式不同于传统的教学模式,传统的教学模式是以教师为主体,学 生为客体,教学内容的讲授均以教师主动授课,而学生被动接受为模式,大大抑 制了学生学习的主动性和积极性,正所谓有“填鸭式”教学一说。而网络教学则 是以互联网为主要媒介,运用现代技术手段,利用网上资源所进行的教学活动。 它最大的特点就是具有信息容量大,传输速度快,交互性、渗透性强,多种媒体 综合利用、无形化,无时间、地点、场所限制的优势,为学生创立更优越的学习 环境,并为激发学生的自主创新意识,实现个性化教学,提高整体教学质量开辟 了一片广阔的空间。 1 3 2 目前网络教学所面临的问题 1 教师对网络教学的适应能力不足 由于网络教学作为一种新兴的教学模式较之传统的教学模式,无论是在教学 方法、教学内容以及对教师的能力要求上都相去甚远,很多教师由于对电脑基本 操作不熟悉,所以对使用计算机进行教学很容易产生恐惧心理,因而造成网络教 学难以普及。 2 网络教学的形式有待进一步改进 目前,多数学校的网络教学主要是通过网络虚拟教室、校园网和互联网等形 式,以计算机课件音频视频多媒体为主要学习工具,采用电子邮件,b b s ,在线 交谈等方式实旌教学与信息的反馈,其实笔者认为这种网络教学并非真正意义上 的网络教学,我们所希望实现的网络教学最重要的一点应该是体现它的实时交互 性,这样才能体现网络的及时、交互、渗透性强的特点,而那种以为网络教学就 是把优秀教师的授课以现场直播的方式传送到各个教室去的想法是绝对错误的。 因此网络教学不只是传统教学在网络上的再现过程,也不是广播电视教学模式的 电子翻版,而是要展示教学的丰富内涵,实现以教师为主体的传统教学模式向以 教师和学生共同为主体的双向实时互动式教学模式的本质转变,创建适合个体教 学的数字化智能学习环境。 苎二童堕笙 1 3 3 中学数学的网络教学 中学数学的课程特点是科学性强,思维严谨。就平面几何和初中代数这两门 学科来说,仔细分析他们的教学内容,就不难发现数学课的教授其实非常适合我 们所说的这种网络教学模式,特别是这门学科的实时互动性可谓将网络教学的精 髓诠释的淋漓尽致。下面我们就来谈谈一个好的中学数学的网络教学模式应该如 何实现。 我们就拿平面几何和初中代数两门课程为例。从平面几何课的教学大纲中, 我们不难发现这门课程要求学生掌握的不仅是点、线、圆、角、多边形等这些知 识点的概念和用法,更重要的是要学生能通过对基本概念的了解,学会解决各种 派生问题,而且还要能够通过相互学习探讨掌握越来越多的解题技巧,那么如何 通过网络教学来实现这个目的呢? 这就是本文所进行的主要研究。 1 4 本文的工作 基于对现有相关软件的研究和分析,再结合自己所做的工作,现将本软件和 相关软件的某些功能做一比较,列表如下: 表1 1 相关软件功能比较 t a b l e1 1f u n c t i o nc o m p a r eo f r e l a t i o n a ls o f t w a r e 本系统m a t h e n m f i c am a p l e几何z + z 智聊天类 画板能软件软件 几何作图有无无有有无 公式显示传输有无无无无无 数学解题有有有无有无 实时交互作图有无无无无无 网上聊天有无无无无有 本文重在研究数学教育软件的单机版向实时交互网络版的设计与实现,因此 单机版上目前已经实现的解题功能,在本软件中只是实现了最简单的部分,旨在 说明单机版向实时交互网络版转交的可行性,亦是保证软件的完整性。本软件意 5 第一章绪论 在实现一个较好的中学数学的网络教学平台,以平面几何和初中代数的实时交互 平台为例,说明其在网络教学中的可行性。现将本软件在实际应用中的模型阐述 如下: 要制作一个快捷有效的数学网络教学平台,首先要根据教学内容,设计实时 交互平台。在网络教学中,教师如何才能在课堂教学中与学生充分交流,在课后 又能留一段时间供学生讨论或回答学生的提问以充分实现师生互动呢? 网上会 议系统n e t m e e t i n g 是一个很好的参考模型。它为全球用户提供了一种通过 i n t e m e t 交谈、召开会议、工作以及共享程序的全新的通讯方式。通过n e t m e e t i n g 可以进行实时的通信,具有音频、数据和视频会议的功能。那么把这种系统应用 到数学网络教学中该如何改进呢? 我们知道,在n e t m e e t i n g 中也有简单的画图形的功能,但如果用于平面几 何课的讲授,就务必要将没有任何几何意义的图形变成有几何意义的图形,那么 我们在设计软件的时候就要想办法实现动态几何作图,而且还要考虑到双方互动 的特性,设计软件时加入控制权的处理。比如,我们在跟学生讨论三角形的外接 圆问题时,教师通过作图命令做出一个任意三角形,然后让学生画出该三角形的 外接圆并求出外接圆的半径,就如同传统教学中,教师在黑板上画了一个三角形, 然后叫下面的一个同学上来解题一样,软件设计成请求控制权的形式,用来提示 教师机哪个同学要求解答这个问题,教师机程序可设计一个请求控制权列表,将 所有请求控制权的学生信息放入其中,包括用户名和i p 地址,然后有选择的将 控制权交给某个学生。当某个学生获得了控制权之后,就可以在原有图形上继续 进行各种编辑操作,如添加辅助线、复制、粘贴、删除等,提交解题答案时,可 选择放弃控制权命令,则教师机就可重新获得控制权,如果这时又有其他学生想 继续解答这道题目,那控制权可继续转交。假如在某个学生获得控制权后突然掉 线或死机,那教师机有权强制收回控制权以保持正常的教学进程。需要指出的是, 在整个授课期间,没有控制权的计算机是不能进行任何操作的,这是程序设计的 需要,也符合正常的教学规律。另外,在这种数学网络教学平台的软件设计中还 要注意的一点就是,在几何作图的过程中要注明当前控制权持有人的姓名,以便 让所有学生知道当前是谁在控制。同时,要添加“文本插入”功能,这种功能在 数学软件的设计中是非常必要的。这是平面几何平台的设计。 6 第一章绪论 初中代数平台的设计笔者采用了类似于普通聊天软件的那种设计,然后在其 中加入了公式显示和解题功能。笔者发现,把普通的聊天软件加以改进,应用到 初中代数的网络教学平台中去是一个很不错的创意。首先初中代数这门课程主要 是以计算解题为主,那么它的实时交互性较之平面几何就没有那么苛求,在教师 与学生间探讨代数问题时,我们完全可以采用网络聊天的形式,试想一下,在传 统的教学课堂上,教师在黑板上出一道代数题让学生上来解答,主要都是以文字 和字符为主,那么应用到软件设计上,就如同输出的文字一样,只要想办法将正 常的数学公式转化成相应的字符串,就可以看到正确的公式显示了,这样,师生 之间在网上讨论数学问题,就可以和在生活中一样了。 笔者将这两种平台合并到了一起,使其成为一个有机的整体,在以后的工作 中,我们可以将其他数学课程也做成类似的平台,加入到这个数学网络教学平台 中去,那么此平台的实用价值一定会大大提高。 1 5 计算机代数 上面提到初中代数平台中的解题功能,在此需要补充介绍一下计算机代数的 概念。数学计算这个词在许多场合往往被狭隘地理解为数值计算( 浮点计算) 而 忽略了其另一个组成部分,即:“符号计算”。特别是不少人对当代计算技术及计 算机的功能缺乏全面的了解,在他们那里数学计算几乎成了数值计算的同义词, 实际情况并非如此。 符号计算又称为符号与代数计算、符号代数、符号操作等等,它的正式名称 是“计算机代数” 1 3 1 。而为实现计算机代数的软件包,叫做“计算机代数系统”。 在过去的三十年中,计算机代数无论在基础研究或程序设计方面,发展都很迅速, 迄今交付使用的系统数以百计。这些系统按其用途可分为两类:一类是特殊用途 的系统。如6 0 年代发展起来的符号积分的程序( 即求初等函数的原函数的软件) 。 另类是一般用途的系统。一种是用人工智能语言l i s p 实现的m a c s y m a 和r e d u c e 。 还有一种是更加现代化的,用c 语言实现的有机协调符号计算、数值计算与作 图功能的软件:m a t h e m a t i c a 和m a p l e 。 计算机代数的出现和发展,对现代科学计算和科学推导所面临的日益艰巨繁 第一章绪论 冗的计算( 特别是符号计算) 任务,无异于雪中送炭,并从而推动了计算机自动 推理( 机器证明) 、数学机械化、技术和工程科学的智能化等研究领域的发展。 8 苎三童堡璺堡兰一 第二章作图模块 本章主要叙述作图模块的总体结构、技术路线和设计方法。 2 1 总体结构 作图模块主要完成对象的输入、对象的编辑和对象的属性修改。对象在c + + 语言里是指具体的现实世界中的实物或抽象物,如桌子、车子、人等,这些都是 对象。在本系统中,由于是以平面几何为例,所以对象被定义为最基本的知识元, 包括:点、线、圆和文本。 对象的输入包括鼠标点击作点、鼠标点击并拖动作线、鼠标双击并拖动作圆、 通过工具栏或菜单命令作文本输入框。同时,通过相应的程序设计可实现关联对 象的输入,如线上的点、圆上的点、线与线的交点、线与圆的交点等。 对象的编辑包括对上述对象的移动、复制、粘贴、剪切、删除、撤消、恢复 等。 对象的属性修改是指对上述对象的属性,如颜色、线型、线宽等的改变。 作图模块的设计旨在保证软件的完整性,实现的功能都是最基本的,主要目 的是为网络传输提供载体。下面讲述该模块的整体技术路线。 2 2 技术路线 作图模块主要分为三个层面:用户层、对象层和数据层。 用户层以软件的主体界面为舞台,接受用户的各种操作。它面向的对象是用 户,内部调节它的是c + + 中的视图。对象层则是软件内部所写的类,它负责对象 本身的处理。它要及时和用户层及数据层交流,以决定自己处理什么样的事情, 内部调节它的是c + + 中的类。数据层是根据用户层及对象层的变化,及时更新和 修改数据,内部调节它的是c + + 中的文档。顺利的完成该模块的各项工作就是处 理好这三个层面彼此之间的工作。其流程如图: 第二章作图模块 作图主界面如下 图2 - 1 作图模块流程图 f i g u r e2 - 1f l o wc h a r to f m o d u l ef o rc o n s t r u c t 图2 - 2 作图主界面 f i g u r e2 - 2m a i ni n t e r f a c eo f c o n s t r u c t 0 一 第二章作图模块 2 3 设计方法 2 3 1 类的定义 整个作图模块都是围绕着对象来处理的,所以处理好对象,也就是说作好类 的定义是成功实现系统的前提。 c + + 的精髓是面向对象的编程。在c + + 里,每一个对象都是独立的,它们都 有着自己特殊的属性以及自己要处理的特定的事情。所以给每个对象编写一个类 是合理也是符合c + + 的原则的。如:给线定义一个线类,给圆定义个圆类。但 这些对象之间又不是互相分离的,比如:点有自由点、半自由点、固定点之分。 自由点,是指坐标不固定的点,是可以任意移动的:半自由点,是指它的坐标是 和某一个参数相关联的,它的位置的变化取决于该参数的变化,其运动不是全自 由的,如线上的点,圆上的点,它们的运动路线只能在线上或圆上;固定点,是 指坐标固定,不可移动的点,如线与线的交点,线与圆的交点等。那么是为每一 种类型的点都写个类,还是有什么更好方法昵? 我们先来分析一下这三种类型的点对象属性之间的异同点。首先,它们都是 点,它们所具有的共同属性就是有坐标,有相同的画法,而不同的就是,运动时 对坐标的处理是不同的,半自由点关系到其他的对象,处理起来比较复杂,如线 上的点运动时要考虑线的斜率,圆上的点运动就要考虑点与x 轴正半轴所成的 角等等。那么我们在处理这几个点类的时候,就可以将它们所共有的属性写到基 类里,每一个点再自成一类作为基类的派生类,在自己的类里主要处理自己的特 性问题,这就是类的多态和继承。 2 3 2 类的数据结构 如上对点类的分析,我们将其他各个对象( 点、线、圆、文本) 也都做这样 的处理,分析它们所共有的属性,我们定义了一个所有对象的基类c d r a w o b j , 它所拥有的属性和操作是和它的所有子类所共有的。下面我们给出类c d r a w o b j 定义的主要部分: 第二章作圈模块 c l a s sc d r a w o b j :p u b l i cc o b j e c t d a t a p u b l i c : c d r a w o b j n a m e + mp o b j n a m e ; 点的名字 c d r a w o b j +m _ p b e g i n ;对象的起点 c d r a w o b j + m p e n d ;对象的终点 c o l o r r e f m _ c r c o l o r ; 颜色 i m m _ n p e n s t y l e ; 线型 i n t m _ n w i d t h ;线宽 d o u b l e m _ d x ;点的坐标 d o u b l e m _ d y ; i n t m _ n l n d e x ; c r e c t m _ r e c t p o s i t i o n ;对象的位置矩形 c s t r i n gm _ s t r c o n t e n t ; b o o l m _ b l s m o v e ; c m a t h s c h a t d o c + m _ p d o c ;保存文档指针 c a s s o c i a t e o b j l i s tm _ a s s o c i a t e o b j l i s t ;,对象的关联列表 b o o lm b s h o w ; c o n s t r u c t o r sa n dd e c o n s t r u c t o r s p u b l i c : c d r a w o b j ( c o n s tc d r a w o b j & p o b j ) ; c d r a w o b j ( c o n s tc r e c t & r e c t p o s i t i o n ) c d r a w o b j o ; v i r t u a l c d r a w o b j 0 ; o p e r a t i o n s p u b l i c : 苎三望堡里堡垫 一 ,_ _ _ _ j _ h 一。 v i r t u a lc d r a w o b j * c o p y ( i n tn p a s t e c o u n t = o ) ; 对象的复制 v i r t u a lv o i dd u p l i c a t e ( c d r a w o b j + p o b j ) ; v i r t u a lv o i dr e m o v e a s s o c i a t e o b j s ( c m a t h s c h a t d o c + p d o c ,i n tn u n d o i n d e x ) ; v i r t u a lv o i ds e t b e g i n ( c d r a w o b j + p b e g i n ) ; v i r t u a lv o i ds e t e n d ( c d r a w o b j + p e n d ) ; v i r t u a lc d r a w o b j + o e t b e g i n 0 ; v i r t u a lc d r a w o b j 4 g e t e n d 0 ; v i r t u a lv o i da d d a s s o c i a t e o b j ( c d r a w o b j + p o b j ) ; v i r t u a lv o i di n v a l i d a t e a s s o c i a t e o b j s ( c d r a w v i e w p v i e w ) ; v i r t u a lv o i dr e s e t p o s i t i o n ( ) ; v i r t u a lv o i dm o v e t o ( c o n s t c p o i n t & p t ,c d r a w v i e w + p v i e w ) ;对象移动函数 v i r t u a lv o i dd r a w ( c d c + p d c ) ; v i r t u a lv o i dd r a w s e l e e t e d ( c d c + p d c ) ) ; 2 3 3 要点分析 对象的作图函数 被选择对象的处理函数 这里重点介绍一下关联图形韵处理。要实现动态几何作图,一个基本的思想 需要建立,就是,线和圆都是由两个点作出的,那么在线类和圆类的数据成员里 就都要有点类的对象,也就是说,对于线来说,它的关联对象是两个点,而对于 线上的点来说,它的关联对象就是线,这是最基本的关联,那么几何作图一个最 显著的优势就在于多个对象的关联,也就是说,一个对象可以关联多个对象,这 样在讲述平面几何图形的几何意义时才可以给学生一个直观感性的认识,例如, 我们从线上的一个点作出数条线段,然后再将这数条线彼此相连,那么当我们移 动线上这一点的时候,由它引发的多条线段就都应该相应移动,这就是多个对象 的关联,依次类推,我们不难发现,定义一个关联列表类的对象是非常必要的。 笙三兰堡望堡垫 因为只有定义了这样的一个关联列表,把每个对象的关联对象记录下来,在移动 对象时,其关联对象才会跟着移动,这样才能保证图形的几何关系从而使图形具 有几何意义,这也就是我们所说的动态几何作图。以圆上的点为例,我们来看下 关联图形的绘制。首先以点类为基类,定义一个圆上的点类,具体定义如下: c l a s sc d r a w p o i m c i r d e :p u b l i cc d r a w p o i n t d e c l a r es e r i a l ( c d r a w p o i n t c i r c l e ) ; p u b l i c : c d r a w o b j 4m _ p c i r c l e d o u b l emd a n g l e ; p u b l i c : c d r a w p o i n t c i r c l e 0 ; c d r a w p o i n t c i r c l e ( c o n s tc p o i m & p o i n t ,c d r a w o b j + p c i r c l e ) v o i ds e t a n g l e 0 ; p u b l i c : v i r t u a lc d r a w o b j 4 c l o n e ( ) ; v i r t u a lv o i dd u p l i c a t e ( c d r a w o b j + p o b j ) ; v i r t u a lv o i ds e r i a l i z e ( c a r c h i v e & a r ) ; v i r t u a lv o i dr e s e t p o s i t i o n ( ) ; v i r t u a lv o i dm o v e t o ( c o n s t c p o i n t & p t ,c d r a w v i e w + p v i e w ) ; ) ; 其中,m o c i r e l e 表示点的关联对象是圆;m _ d a n g l e 表示作圆上的点所需要 的个角度参数,这两个参数负责作出一个圆上的点。首先让我们来看一下点和 圆是如何关联的,在作任何对象时,我们除了要定义一个对象本身的属性类,还 要定义一个如何画出这个对象的工具类,具体实现这个对象的功能都应该在这个 工具类中实现,这里同样运用了类的继承和多态。因此,作圆上的点的工具类我 1 4 塑三童堡里坚些一 们有如下定义: c l a s sc p o i n t t o o l :p u b l i cc d r a w t o o l ( p u b l i c : c p o i n t t o o l 0 ; p u b l i c : v i r t u a lv o i do n l b u t t o n d o w n ( c d r a w v i e w + p v i e w , u i n t n f l a g s ,c o n s tc p o i n t & p o i n t ) ; v i r t u a lv o i d o n l b u t t o n d b l c l k ( c d r a w v i e w + p v i e w , u i n tn f l a g s ,c o n s t c p o i n t & p o i n t ) ; v i r t u a lv o i do n l b u t t o n u p ( c d r a w v i e w + p v i e w , u i n tn f l a g s ,c o n s tc p o i n t & p o i n t ) ; v i r t u a lv o i do n m o u s e m o v e ( c d r a w v i e w 8p v i e w , u r n t n f l a g s c o n s tc p o i n t & p o i n t ) ; ) ; 其中,c d r a w t o o l 为工具类的基类,不再赘述,c p o i n t t o o l 为点的工具类, 因为所以类型的点,其绘制方法都是相同的,所以不必再将点的工具类按类型细 分。另外,所有图形的绘制都是在鼠标的左键按下、左键抬起、鼠标双击和移动 这几个动作间完成的,所以,我们重点看一下这几个函数是如何编写的就可以了。 以左键按下函数为例: v o i d c p o i n t t o o l :o n l b u t t o n d o w n ( c d r a w v i e w 4p v i e w , u i n tn f l a g s ,c o n s t c p o i n t & p o i n t ) c d r a w t o o l :o n l b u t t o n d o w n ( p v i e w , n f l a g s ,p o i n t ) ; c m a t h s c h a t d o c + p d o c 2 p v i e w - g e t d o c u m e n t 0 ; p v i e w - m o u s e o n o b j e c t s ( p o i n t ) ; i n tn c o u n t 2 p v i e w 一 m _ m o u s e o n l i s t g e t c o u n t 0 ; b o o l b n e w p o i n t = t r u e ; i f ( n c o u n t o 、 15 兰三童堡里堕垫一 ( m _ p d r a w o b j = n e wc d r a w p o i n t ( p o i n t ) ; ) e l s ei f ( n c o u n t = = 1 1 为线或圆上点 c d r a w o b j + p d r a w o b j = p v i e w - m _ m o u s e o n l i s t g e t h e a d 0 ; i 如d r a w o b j - i s k i n d o f ( r u n t i m e c l a s s ( c d r a w
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 委托加工物资的核算教学设计-2025-2026学年中职专业课-企业财务会计-纳税事务-财经商贸大类
- 2025陕西煤业化工实业集团有限公司招聘(13人)笔试历年备考题库附带答案详解试卷3套
- 2025辽宁省高速公路运营管理有限责任公司招聘笔试历年备考题库附带答案详解试卷3套
- 2025福建福州地铁集团有限公司社会招聘(二)笔试历年常考点试题专练附带答案详解试卷3套
- 人教部编版八年级下册庄子与惠子游于濠梁之上教案
- 第一节 生长素是最早被发现和研究的植物激素教学设计-2025-2026学年高中生物沪教版2019选择性必修1 稳态与调节-沪教版2019
- 2026-2031中国食品加热设备市场深度评估与未来发展趋势报告
- 烟草局往考试题目及答案
- 2026-2031中国燃料乙醇行业前景研究与投资战略咨询报告
- 仓库管理员仓库仓库环境监控方案
- 餐厅店铺转让合同范本
- 学堂在线 海上作战与三十六计 章节测试答案
- 2025年下半年南通市通州区兴仁镇招聘城管协管员2人易考易错模拟试题(共500题)试卷后附参考答案
- 2025年房屋中介居间合同协议
- 车棚合同范本编写规范2025版
- 驾驶证理论考试科目一试题及答案
- 电工考证专栏2025年低压电工复审考试题库精细讲解(1)附答案
- 广东省肇庆市2026届高三上学期高考第一次模拟考试 英语一模试卷
- 医院信息安全隐患排查及整改报告模板
- 物流搬运劳务合同范本
- 内蒙古农村信用社招聘考试(真题)
评论
0/150
提交评论