基于变量及数学表达式的动态几何软件的实现方法技术

技术编号:11448532 阅读:77 留言:0更新日期:2015-05-13 20:47
本发明专利技术涉及计算机制图领域,提供一种基于变量及数学表达式的动态几何软件的实现方法,以解决目前的动态几何软件构造方法少以及应用局限大的问题,该方法主要包括:建立动态添加的变量库;构造约束关系;指定几何元素或滑竿与相关变量的影响关系,调节变量实际值。本发明专利技术提出的技术方案对几何元素的控制可以精确到控制某个变量,而不是以自由点为基础单位,因此增大了应用范围。

【技术实现步骤摘要】
基于变量及数学表达式的动态几何软件的实现方法
本专利技术涉及计算机制图领域,特别涉及一种基于变量及数学表达式的动态几何软件的实现方法。
技术介绍
目前,市面上流行的动态几何软件都是基于有向无环图的方式来存储几何对象及其之间的关系。用户主动改变某个几何对象时,系统首先会判定该几何对象在有向无环图中的位置,如果当前的几何对象没有父节点,则直接移动该对象,并遍历图中的子孙元素,根据相应的几何关系移动,完成几何元素的动态改变;如果当前的几何对象有父节点,则向上查找直到找到没有父节点的元素进行移动,并遍历图中的子孙元素,然后根据相应的几何关系移动。但是基于有向无环图的方式存储几何对象及对象之间的关系存在以下不足:(1)在移动几何元素的过程中只能按照系统预定义的约束关系来进行变换。例如,系统预定义了中点的构造方法,用户才能构造出两点之间或线段的中点,如果系统未有充分的预定义,用户也无法构造出三等分点等特殊的几何关系;(2)用户只能以自由点为基本单位进行变换,所有的几何变换最终都是基于自由点变换,因此在应用过程中具有很大的局限性。
技术实现思路
【要解决的技术问题】本专利技术的目的是提供一种基于变量及数学表达式的动态几何软件的实现方法,以解决目前的动态几何软件构造方法少以及应用局限大的问题。【技术方案】本专利技术是通过以下技术方案实现的。本专利技术涉及一种基于变量及数学表达式的动态几何软件的实现方法,该方法包括:步骤A:根据用户构造的自由点的维数生成变量,并将生成的变量保存至变量库;步骤B:根据用户选择的几何关系的数学表达式生成几何元素,所述几何关系的数学表达式为系统预定义的几何关系对应的数学表达式或用户输入的自定义的数学表达式;步骤C:为自由点或几何元素选定影响变量,所述影响变量的维数与自由点或几何元素的维数相同;步骤D:当移动自由点或几何元素时,根据自由点或几何元素的移动位移计算影响变量的最新值,然后计算出所有与影响变量相关的数学表达式的最新值。作为一种优选的实施方式,所述方法还包括步骤E:初始化变量滑竿,从变量库中选择关联变量,将变量滑竿与选择的关联变量进行关联;作为另一种优选的实施方式,当拖动变量滑竿时,根据变量滑竿的移动位移计算关联变量的最新值,然后计算出所有与关联变量相关的数学表达式的最新值。作为另一种优选的实施方式,所述步骤B还包括:为用户选择的几何关系的数学表达式分配变量名并保存至变量库。作为另一种优选的实施方式,所述初始化变量滑竿具体包括:设置变量滑竿最大值、最小值和步长。作为另一种优选的实施方式,所述步骤C还包括:如果所选择的影响变量的个数大于1,则设置每个影响变量的权重系数。作为另一种优选的实施方式,所述自由点的维数为2或3。【有益效果】本专利技术提出的技术方案具有以下有益效果:(1)无需再用有向无环图存储几何元素及几何元素之间的关系,降低了复杂度;(2)对几何元素的控制可以精确到控制某个变量,而不是以自由点为基础单位,因此增大了应用范围;(3)用户可以通过自定义表达式来构造系统未预定义的特殊几何关系,因此应用更灵活。附图说明图1为本专利技术实施例一提供的基于变量及数学表达式的动态几何软件的实现方法的流程图。图2为本专利技术实施例二提供的基于变量及数学表达式的动态几何软件的实现方法的流程图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术的具体实施方式进行清楚、完整的描述,显然,所描述的实施例是本专利技术的一部分实施例,而不是全部实施例,也不是对本专利技术的限制。基于本专利技术的实施例,本领域普通技术人员在不付出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术的保护范围。图1为本专利技术实施例一提供的基于变量及数学表达式的动态几何软件的实现方法的流程图,如图1所示,该方法包括步骤S11至步骤S16,下面分别对步骤S11至步骤S16进行详细说明。步骤S11:根据用户构造的自由点的维数生成变量,并将生成的变量保存至变量库。具体地,本实施例中,用户构造两个自由点A(x1,y1,z1)、B(x2,y2,z2),由于每个自由点的维数均为三维,因此生成六个变量x1,y1,z1,x2,y2,z2,其中变量x1、y1、z1用于表示A点的x轴坐标、y轴坐标和z轴坐标,变量x2、y2、z2用于表示B点的x轴坐标、y轴坐标和z轴坐标,并把这六个变量存储至变量库D1中。步骤S12:根据用户选择的几何关系的数学表达式生成几何元素。具体地,选择系统预定义的几何关系对应的数学表达式作为变量之间的几何关系,本实施例中,选择系统预定义的构造中点功能,构造A、B两点的中点C,此时C的坐标为由A、B两点坐标的变量组成的表达式:需要说明,本专利技术中的几何元素包括具有几何特征的点、线段、圆弧等等。另外,选择系统预定义的几何关系对应的数学表达式作为变量之间的几何关系时,会为该表达式分配一个变量,该变量名称可以是V001、V002等,同时会将该变量保存至变量库,这样在后续应用过程中系统预定义的几何关系也可作为基本变量使用。步骤S13:当移动几何元素时,在变量库中选择影响变量。移动C点时(将C点向x轴方向移动a单位的位移、向y轴方向移动b单位的位移、向z轴方向移动c单位的位移),用户将选择由哪个变量引起坐标的变化,本实施例中选择x1作为影响x轴坐标变化的影响变量、y1作为影响y轴坐标变化的影响变量、z1作为影响z轴坐标变化的影响变量。步骤S14:根据几何元素的移动位移计算出影响变量的最新值。步骤S13将C点向x轴方向移动a单位的位移、向y轴方向移动b单位的位移、向z轴方向移动c单位的位移,则影响变量的最新值x1=x1+2*a,y1=y1+2*b,z1=z1+2*c。由于选择A点的坐标对应的变量为影响变量,因此移动C点时,只会影响A点的位置变化,B点的位置保持不变。需要说明,本实施例选择x1、y1、z1为影响变量,若选择x2、y2、z2为影响变量,则移动C点分别向x轴、y轴、z轴方向移动a单位、b单位、c单位的位移后,影响变量x2=x2+2*a,y2=y2+2*b,z2=z2+2*c。另外,用户还可同时选择x1、x2作为影响x轴变化的变量,此时需要设置两个影响变量的权重系数,这时移动C点时,A点和B点都会根据相应的权重系数进行位移。步骤S15:计算出所有与影响变量相关的数学表达式的最新值。具体地,根据C点坐标表达式以及影响变量x1、y1、z1的最新值,计算C点坐标表达式的最新值。步骤S16:根据影响变量的最新值、数学表达式的最新值动态地绘制图形的新状态。具体地,根据影响变量的最新值、数学表达式的最新值得到A点、B点、C点坐标的最新值,然后根据A点、B点、C点坐标的最新值绘制图形的新状态。需要说明,实施例一中,移动C点时,通过选择影响变量完成图形新状态的绘制,如果移动自由点A点,则直接选择A点为影响变量,根据影响变量的最新值,计算C点坐标的最新值,完成图形新状态的绘制。图2为本专利技术实施例二提供的基于变量及数学表达式的动态几何软件的实现方法的流程图,如图2所示,该方法包括步骤S21至步骤S25,下面分别对步骤S21至步骤S25进行详细说明。步骤S21:根据用户构造的自由点的维数生成变量,并将生成的变量保存至变量库。具体地,本实施例中,用户构造两个自由本文档来自技高网...
基于变量及数学表达式的动态几何软件的实现方法

【技术保护点】
一种基于变量及数学表达式的动态几何软件的实现方法,其特征在于包括:步骤A:根据用户构造的自由点的维数生成变量,并将生成的变量保存至变量库;步骤B:根据用户选择的几何关系的数学表达式生成几何元素,所述几何关系的数学表达式为系统预定义的几何关系对应的数学表达式或用户输入的自定义的数学表达式;步骤C:为自由点或几何元素选定影响变量,所述影响变量的维数与自由点或几何元素的维数相同;步骤D:当移动自由点或几何元素时,根据自由点或几何元素的移动位移计算影响变量的最新值,然后计算出所有与影响变量相关的数学表达式的最新值。

【技术特征摘要】
1.一种基于变量及数学表达式的动态几何软件的实现方法,其特征在于包括:步骤A:根据用户构造的自由点的维数生成变量,并将生成的变量保存至变量库;步骤B:根据用户选择的几何关系的数学表达式生成几何元素,所述几何关系的数学表达式为系统预定义的几何关系对应的数学表达式或用户输入的自定义的数学表达式;步骤C:为自由点或几何元素选定影响变量,所述影响变量的维数与自由点或几何元素的维数相同;步骤D:当移动自由点或几何元素时,根据自由点或几何元素的移动位移计算影响变量的最新值,然后计算出所有与影响变量相关的数学表达式的最新值;步骤E:初始化变量滑竿,从变量库中选择关联变量,将变量滑竿与选择的关联变量进行关联;当拖动变量滑竿时,根据变量滑竿的移动位移计算...

【专利技术属性】
技术研发人员:管皓
申请(专利权)人:成都远策数码科技有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1