一种在动态几何软件中实现鼠标智能画图的方法及装置制造方法

文档序号:6637875阅读:217来源:国知局
一种在动态几何软件中实现鼠标智能画图的方法及装置制造方法
【专利摘要】本发明公开了一种在动态几何软件中实现鼠标智能画图的方法包括以下步骤:步骤一,采集鼠标事件并判断作哪种几何对象;步骤二,响应鼠标事件以完成作图。采用本发明的技术方案,当鼠标进入智能画笔状态时,用户操作鼠标,根据鼠标的操作及已有图形响应鼠标事件作出不同的几何图形。在作图的过程中,不再需要切换菜单就能完成多种常见几何对象的作图。本发明还公开了一种在动态几何软件中实现鼠标智能画图的装置,该装置能够实现鼠标的智能画图。
【专利说明】一种在动态几何软件中实现鼠标智能画图的方法及装置

【技术领域】
[0001]本发明涉及几何软件作图领域,特别是指一种在动态几何软件中实现鼠标智能画图的方法及装置。

【背景技术】
[0002]动态几何软件是一种可以让用户制作并操作几何图形的软件。在动态几何软件中作好的几何图形在变化和运动中能够保持几何对象之间的相互关系不变。
[0003]在一般的动态几何作图软件中,用户作各种不同类型的几何对象(如点、线、圆、各种常见的多边形等),在操作方法上一般分为两步:第一步,用鼠标选择菜单或工具栏中的作图类型按钮,设置当前的作图类型,即先告知计算机用户接下来要做什么;第二步,用户操作鼠标(如点击、选择、拖动等)作出相关的几何对象。
[0004]由于一个几何图形往往是由多个不同类型的几何对象组合而成,如点、线、圆、各种常见的多边形等,因此当用一般的动态几何作图软件来完成时,用户需要根据软件提供的相关菜单或按钮的不同功能,按照构图的目标及先后顺序,用鼠标在各菜单或按钮间不停地切换,导致鼠标在选择作图功能及作图过程间频繁切换,增加了鼠标点击的次数,影响作图的效率。
[0005]例如,要做一个三角形的三条高,需要如下的一些鼠标操作步骤:
[0006](a)用鼠标选择“作线”工具中的“线段”按钮,作出三条边;
[0007](b)点击菜单,切换鼠标为“选择”状态,选择一个点和点的对边;
[0008](c)点击“作线”工具中的“垂线”按钮,作出相应的垂线;
[0009](d)点击“作点”工具中的“交点”按钮,作出相应的垂足;
[0010](e)点击菜单,切换鼠标为“选择”状态,选择垂线进行隐藏;
[0011](f)用鼠标选择“作线”工具中的“线段”按钮,作出高线;
[0012](g)重复步骤(b)至步骤(f),作出另外两条高线。
[0013]按照这种方式来作几何图形,由于经常性的菜单切换和鼠标选择,有时候可能会导致鼠标误选或漏选,从而影响作图过程的准确性和流畅性。


【发明内容】

[0014]本发明的一个目的是提出一种在动态几何软件中实现鼠标智能画图的方法,克服了现有技术的不足,当鼠标进入画图状态,用户无需切换菜单,直接操作鼠标,并根据实时提示,就可以快速精确地作出许多常见的几何对象,包括点、线段、圆、线段的中点、线上的点、圆上点、圆周与圆周的交点、线与线的交点、线与圆周的交点、点到线的垂足、等长线段、垂直相等线段、与已知线段平行的线段、与已知线段垂直的线段、圆的切线、切线与圆的切点、等边三角形、平行四边形、和直线相切的圆、平行线与圆或直线的交点、垂线与圆或直线的交点等。
[0015]本发明的另一个目的是提出了一种在动态几何软件中实现鼠标智能画图的装置,该装置能够实现鼠标的智能画图。
[0016]本发明的技术方案是这样实现的:一种在动态几何软件中实现鼠标智能画图的方法,包括以下步骤:
[0017]步骤一,采集鼠标事件并判断作哪种几何对象;
[0018]步骤二,响应鼠标事件以完成作图。
[0019]优选的,所述的在动态几何软件中实现鼠标智能画图的方法,所述步骤一之前还包括以下步骤:
[0020]步骤A,按作图的先后顺序记录作图区域内完成的几何对象及对象间的联系;
[0021]步骤B,计算并动态存储新对象的信息及新对象与已有对象的关联信息;
[0022]步骤C,跟踪鼠标并获取鼠标所在的位置坐标;
[0023]步骤D,计算并判断鼠标位置坐标与其他几何对象的关系;
[0024]步骤E,提示用户鼠标所在的特殊位置与已有几何对象的关系。
[0025]优选的,采集鼠标单击事件,响应鼠标单击事件完成画点,所述鼠标单击事件为单击鼠标左键或右键。
[0026]优选的,单击鼠标左键后不松开并拖动鼠标,进入画线状态,松开鼠标结束画线。
[0027]优选的,双击鼠标左键或单击鼠标右键后不松开并拖动鼠标,进入画圆状态,松开鼠标结束画圆。
[0028]一种在动态几何软件中实现鼠标智能画图的装置,包括以下模块:
[0029]对象记录模块:用于记录作图区域的所有几何对象;
[0030]计算存储模块:用于计算并存储作图区域内所有几何对象的信息及几何对象之间的关联?目息;
[0031]位置获取模块:用于获取鼠标在作图区域的位置坐标;
[0032]位置判断模块:用于判断鼠标所在的位置与已有几何对象的关系;
[0033]信息提示模块:用于提示用户鼠标所在的特殊位置与已有几何对象的关系;
[0034]采集判断模块:用于采集鼠标事件并判断作哪种几何对象;
[0035]作图模块:用于响应鼠标事件以完成作图。
[0036]在动态几何软件中实现鼠标智能画图的具体过程如下:
[0037]对象记录模块按作图的先后顺序记录作图区域内完成的几何对象及对象间的联系,包括对象的类型、对象的父对象与子对象等;
[0038]每作出一个新的几何对象,计算存储模块计算并动态存储新对象的信息及新对象与已有对象的关联信息,包括点的坐标、线段所在直线的斜率及方程、圆的半径及方程等;
[0039]位置获取模块自动跟踪鼠标并获取鼠标所在的位置坐标(简称鼠标位置坐标);
[0040]位置判断模块根据作点、线、圆三种几何对象的不同情形,计算并判断鼠标位置坐标与其他几何对象的关系;
[0041]当鼠标在与其他几何对象相关联的特殊位置时,信息提示模块自动给出相关提示;
[0042]采集判断模块针对鼠标的不同操作决定画点、画线或者画圆;
[0043]作图模块响应鼠标事件完成画图。
[0044]本发明的有益效果为:采用本发明的技术方案,当鼠标进入智能画笔状态时,用户操作鼠标,根据鼠标的操作及已有图形响应鼠标事件作出不同的几何图形。由于所有作好的几何对象及它们之间的相互关系都通过计算被确定,当鼠标接近这些对象时会自动判断鼠标位置坐标与已有几何对象的关系,并能给出相关的提示,用户根据提示即可轻松作出关联已知几何对象的新对象。在作图的过程中,不再需要切换菜单就能完成许多种常见几何对象的操作。

【具体实施方式】
[0045]为更好地理解本发明,下面通过以下实施例对本发明作进一步具体的阐述,但不可理解为对本发明的限定,对于本领域的技术人员根据上述
【发明内容】
所作的一些非本质的改进与调整,也视为落在本发明的保护范围内。
[0046]实施例
[0047]一种鼠标智能画图的装置通过以下模块实现智能画图:
[0048]对象记录模块:用于记录作图区域的所有几何对象;
[0049]计算存储模块:用于计算并存储作图区域内所有几何对象的信息及几何对象之间的关联?目息;
[0050]位置获取模块:用于获取鼠标在作图区域的位置坐标;
[0051]位置判断模块:用于判断鼠标所在的位置与已有几何对象的关系;
[0052]信息提示模块:用于提示用户鼠标所在的特殊位置与已有几何对象的关系;
[0053]采集判断模块:用于采集鼠标事件并判断作哪种几何对象;
[0054]作图模块:用于响应鼠标事件以完成作图。
[0055]所述鼠标智能画图的装置为一智能画笔,无需切换菜单,直接操作鼠标实现智能作图:
[0056](一)作点
[0057]当鼠标进入智能画笔状态,移动鼠标时,对象记录模块记录作图区域的所有几何对象;计算存储模块计算并存储作图区域内所有几何对象的信息及几何对象之间的关联信息;位置获取模块获取鼠标在作图区域的位置坐标;位置判断模块自动计算鼠标位置坐标与作图区域已存在的点、线或圆周等几何对象的距离d,若d大于给定的阈值r,则点击鼠标可以作出一个自由点,否则鼠标所接近的几何对象改变显示颜色,并根据鼠标所在的位置给出特定的提示:
[0058](I)若鼠标所接近的一个点改变显示颜色,此时点击鼠标不作出新点;
[0059](2)若鼠标所接近的一条线(线段、射线或直线)改变显示颜色,此时点击鼠标将作出该线上的一个点;
[0060](3)当鼠标所接近的一条线段改变显示颜色,并接近线段的中点位置,提示信息为“中点”,此时点击鼠标将作出该线段的中点;
[0061](4)若鼠标所接近的一个圆改变显示颜色,此时点击鼠标将作出该圆上的一个的占.V,
[0062](5)若鼠标所接近的两条线同时改变显示颜色,提示信息为“交点”,此时点击鼠标将作出两线的交点;
[0063](6)若鼠标所接近的一条线和一个圆同时改变显示颜色,提示信息为“交点”,此时点击鼠标将作出与鼠标位置最近的线与圆的一个交点;特别地,若该线和圆相切,则点击鼠标将作出它们的切点;
[0064](7)若鼠标所接近的两个圆同时改变显示颜色,提示信息为“交点”,此时点击鼠标将作出与鼠标位置最近的两圆的一个交点。
[0065]( 二)作线(线段、射线或直线)
[0066]单击鼠标左键后不松开并拖动鼠标(简称单击左键拖动)进入画线状态,松开鼠标左键后结束画线状态,作出带有两端点的线段。线段的起点和终点分别在点击鼠标处和松开鼠标处作出。
[0067]这里点击或松开鼠标后作点的方法与前述作点的各种情形相同。
[0068]画线状态时拖动鼠标,线段起点在点击鼠标时已经确定,线段终点由松开鼠标时的鼠标位置坐标决定。位置判断模块将进一步计算鼠标位置坐标与线段起点的距离S、鼠标位置坐标与线段起点的连线的斜率k等,将计算的结果与计算存储模块中的相关信息进行比较:
[0069](I)若作图区域已经存在作好的线段,单击左键拖动,某一条线段改变显示颜色,提示信息为“相等”,此时松开鼠标将作出一条与改变显示颜色的线段相等的新线段;
[0070](2)若作图区域已经存在作好的线段,单击左键拖动,某一条线段改变显示颜色,提示信息为“垂直”,此时松开鼠标将作出一条与改变显示颜色的线段垂直的新线段;
[0071](3)若作图区域已经存在作好的线段,单击左键拖动,某一条线段改变显示颜色,提示信息为“平行”,此时松开鼠标将作出一条与改变显示颜色的线段平行的新线段;
[0072](4)若作图区域已经作好了一条线段,左键单击该线段的一端点并拖动鼠标,若该线段改变显示颜色,提示信息为“等边”,此时松开鼠标将作出以该线段为边的等边三角形的顶点及另两条边;
[0073](5)若作图区域已经作好了一条线段,左键单击该线段的一端点并拖动鼠标,若该线段改变显示颜色,提示信息为“垂直相等”,此时松开鼠标将作出一条与该线段垂直相等的新线段;
[0074](6)若作图区域已经存在两条首尾相接的线段AB和BC,左键单击点A(AC)并拖动,若BC(AB)改变显示颜色,提示信息为“平行四边形”,此时松开鼠标将作出一点D使得AB⑶是平行四边形,并作出线段AD和⑶;
[0075](7)若作图区域已经存在作好的线,单击左键拖动并指向一条线,若所指向的线改变显示颜色,提示信息为“垂足”,此时松开鼠标将作出一点到该线上的垂足,并且画出点与垂足的连线段;
[0076](8)若作图区域已经存在作好的圆,在圆外单击左键拖动并指向一个圆,若所指向的圆改变显示颜色,提示信息为“相切”,此时松开鼠标将作出该圆的一条切线;
[0077](9)若作图区域已经存在作好的线或圆,鼠标进入画线状态,如果正在画的线段和线A接近垂直,并且鼠标位置接近某对象B (线或圆),若线A和对象B都改变显示颜色,提示信息为“垂直相交”,此时松开鼠标将作出交点及相应的线段;
[0078](10)若作图区域已经存在作好的线或圆,鼠标进入画线状态,如果正在画的线段和线A接近平行,并且鼠标位置接近某对象B (线或圆),若线A和对象B都改变显示颜色,提示信息为“平行相交”,此时松开鼠标将作出交点及相应的线段。
[0079](三)作圆
[0080]双击鼠标左键或单击鼠标右键后不松开并拖动鼠标进入画圆状态,松开鼠标后结束画圆状态,作出一个有圆心和圆上一点的圆周。圆心在点击鼠标处,圆上一点在松开鼠标处。
[0081 ] 这里点击或松开鼠标后作点的方法与前述作点的情形相同。
[0082]画圆状态时拖动鼠标,圆心在点击鼠标时已经确定,圆上一点由松开鼠标时的鼠标位置坐标决定。位置判断模块将进一步计算鼠标位置坐标与圆心的距离r及对应的圆的方程,将计算的结果与计算存储模块中的相关信息进行比较:
[0083]若作图区域已经存在作好的线,鼠标进入画圆状态,拖动鼠标,若某线改变显示颜色,提示信息为“相切”,此时松开鼠标将作出与改变显示颜色的线相切的圆。
[0084]使用智能画笔,用户直接操作鼠标,无需切换菜单,根据系统给出的各种提示,就可以精确地作出如下十九种常见的几何对象:
[0085](I)点:在作图空白区域单击鼠标,能作出一个点。如果点击鼠标的位置有作好的点,就不作出新点。
[0086](2)线段:按下鼠标左键拖动(以下简称拖动)画出线段。
[0087](3)等长线段:拖动鼠标画线段时,如果正在画的线段和一条已有的线段PQ长度接近相等,会出现提示文字“等长”,同时线段PQ会变色。此时松开鼠标左键,就能画出一条和PQ等长的线段。
[0088](4)等边三角形:如果先画出了线段PQ接着由Q继续画线段时,出现“等边”提示并且线段PQ变色,松开鼠标左键就能得到一个以PQ为边的等边三角形。
[0089](5)垂直相等:如果先画出了线段PQ接着由Q继续画线段时,出现“垂直相等”提示并且线段PQ变色,松开鼠标左键就能得到一条和PQ垂直相等的线段。
[0090](6)圆:双击鼠标或单击鼠标右键接着拖动就能画出圆,同时作出了圆心和圆周上的一个点。
[0091](7)线段的中点:鼠标移动到接近线段中点处,附近出现“中点”字样时单击即可作出对象。
[0092](8)圆周上的点:鼠标移动到圆周要作点之处,圆周会变色,这时单击即可作出对象。
[0093](9)线上的点:当鼠标移动到一条线的附近时,这条线会变色,这时单击就作出了线上的点。
[0094](10)交点:这包括圆周与圆周、线与线、线与圆周三类交点。移动鼠标到交点位置,相交的两个对象都会变色,附近出现“交点”字样,这时单击即可作出对象。
[0095](11)与已知线垂直的线段:在拖动鼠标画线段时,如果已经画出(但尚未画完)的线接近垂直于一条已有的线,这条线会变色,附近会出现“垂直”字样。这时松开鼠标左键,就能画出了一条垂直线段。
[0096](12)点到线的垂足:用鼠标从直线外一点拖动画线段,当画到接近垂足位置,对应的直线变色并且出现“垂足”字样时,松开鼠标左键即可作出对象。
[0097](13)垂线与圆或线的交点:画线段时,如果线段和线A接近垂直,并且鼠标位置接近某对象B (包括线、圆周),线A和对象B都会变色,附近会出现“垂直相交”字样。这时松开鼠标左键就能作出交点。
[0098](14)与已知线平行的线段:拖动鼠标画线段时,如果已经画出(但尚未画完)的线接近平行于一条已有的线,这条线会变色,附近会出现“平行”字样。这时松开鼠标左键,就能画出了一条平行线段。
[0099](15)平行线与圆或线的交点:画线段时,如果线段(尚未画完)和线A接近平行,并且鼠标位置接近某对象B (包括线、圆周),线A和对象B都会变色,附近会出现“平行相交”字样。这时松开鼠标左键就能作出交点。
[0100](16)平行四边形:拖动鼠标画线段时,如果已经画出(但尚未画完)的线段接近平行并且长度接近等于一条已有的线段,已有的线段会变色,附近会出现“平行四边形”字样。这时松开鼠标左键,就能画出了平行四边形。
[0101](17)圆的切线:拖动鼠标画线段时,如果已经画出(但尚未画完)的线段所在的直线接近于和一个圆相切,圆周会变色并且附近出现“相切”字样,这时松开鼠标左键,就能画出了一条和圆相切的直线(没有切点)。
[0102](18)和线相切的圆:拖动鼠标画圆时,如果已经画出(但尚未画完)的圆接近于和一条线相切,直线会变色并且附近出现“相切”字样,这时松开鼠标左键,就能画出了一个和线相切的圆(没有切点)。
[0103](19)切点:如果已有一条直线和一个圆相切,把鼠标移到切点处,直线和圆都变色,并且附近出现“相交”字样,这时单击即可画出切点。
[0104]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种在动态几何软件中实现鼠标智能画图的方法,其特征在于,包括以下步骤: 步骤一,采集鼠标事件并判断作哪种几何对象; 步骤二,响应鼠标事件以完成作图。
2.如权利要求1所述的在动态几何软件中实现鼠标智能画图的方法,其特征在于,所述步骤一之前包括以下步骤: 步骤A,按作图的先后顺序记录作图区域内完成的几何对象及对象间的联系; 步骤B,计算并动态存储新对象的信息及新对象与已有对象的关联信息; 步骤C,跟踪鼠标并获取鼠标所在的位置坐标; 步骤D,计算并判断鼠标位置坐标与其他几何对象的关系; 步骤E,提示用户鼠标所在的特殊位置与已有几何对象的关系。
3.如权利要求1或2所述的在动态几何软件中实现鼠标智能画图的方法,其特征在于:采集鼠标单击事件,响应鼠标单击事件完成画点,所述鼠标单击事件为单击鼠标左键或右键。
4.如权利要求1或2所述的在动态几何软件中实现鼠标智能画图的方法,其特征在于:单击鼠标左键后不松开并拖动鼠标,进入画线状态,松开鼠标结束画线。
5.如权利要求1或2所述的在动态几何软件中实现鼠标智能画图的方法,其特征在于:双击鼠标左键或单击鼠标右键后不松开并拖动鼠标,进入画圆状态,松开鼠标结束画圆。
6.一种在动态几何软件中实现如权利要求1-2所述的鼠标智能画图的装置,其特征在于包括以下模块: 对象记录模块:用于记录作图区域的所有几何对象; 计算存储模块:用于计算并存储作图区域内所有几何对象的信息及几何对象之间的关联信息; 位置获取模块:用于获取鼠标在作图区域的位置坐标; 位置判断模块:用于判断鼠标所在的位置与已有几何对象的关系; 信息提示模块:用于提示用户鼠标所在的特殊位置与已有几何对象的关系; 采集判断模块:用于采集鼠标事件并判断作哪种几何对象; 作图模块:用于响应鼠标事件以完成作图。
【文档编号】G06F3/0487GK104462691SQ201410748670
【公开日】2015年3月25日 申请日期:2014年12月9日 优先权日:2014年12月9日
【发明者】张景中, 李传中, 邹宇, 饶永生 申请人:广州大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1