首页> 中国专利> 基于电子白板的函数曲线的构造方法和系统

基于电子白板的函数曲线的构造方法和系统

摘要

本发明公开了一种基于电子白板的函数曲线的构造方法和系统。该方法包括:根据输入的函数表达式和初始参数来实例化电子白板中预存的函数曲线类,从而生成函数曲线;初始设置电子白板对应的坐标系单位长度,同时建立函数曲线和坐标系之间的对应关系,并基于初始设置电子白板对应坐标系单位长度获得坐标边界的值。本发明的方法和执行该方法的系统可以在一个坐标系下显示多个函数曲线,同时还可以增加、删除、实时修改函数曲线,以及对函数曲线拖拽、平移等,增加了电子白板的交互性和实时性;在增加、删除函数曲线、拖拽或平移函数曲线时,坐标系可以动态地按比例变化,可以更清晰、准确地显示函数曲线在坐标系的位置。

著录项

  • 公开/公告号CN102841781A

    专利类型发明专利

  • 公开/公告日2012-12-26

    原文格式PDF

  • 申请/专利权人 汉王科技股份有限公司;

    申请/专利号CN201110171308.9

  • 发明设计人 杨良策;

    申请日2011-06-23

  • 分类号G06F9/44(20060101);G06F3/048(20060101);

  • 代理机构

  • 代理人

  • 地址 100193 北京市海淀区东北旺西路8号5号楼三层

  • 入库时间 2023-12-18 07:51:02

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-03-30

    授权

    授权

  • 2013-02-13

    实质审查的生效 IPC(主分类):G06F9/44 申请日:20110623

    实质审查的生效

  • 2012-12-26

    公开

    公开

说明书

 

技术领域

本发明属于电子白板领域,尤其涉及一种基于电子白板的函数曲线的构造方法和系统。

 

背景技术

交互式电子系统包括交互式电子白板,平板电脑等。交互式电子系统具有灵活性,交互性等特点。其中交互式电子白板通过触摸屏与计算机相连,投影设备将计算机上的内容投影到触摸屏上,通过运行在个人电脑上的应用程序,用户在触摸屏上进行点击和书写,完成与计算机之间的交互,构成一个交互大屏幕会议和教学环境。

普通的交互式电子白板一般仅提供一个坐标系中显示一个函数曲线的功能,可以选择任意的一种函数(例如正弦函数)显示在该坐标系中。有的交互式电子白板提供了共用坐标系技术,即一个坐标系中可以显示多个函数曲线,可选择任意几种函数(例如正弦、余弦、立方、平方等)同时显示在一个坐标系中。

目前的电子白板等交互系统中,提供了多函数共用一个坐标系的实现方案,但是不可以实时对函数或坐标系进行增加、修改、删除等操作。在使用过程中,用户希望可以在一个坐标系下显示多个函数曲线,同时还希望可以实时地对显示在电子白板中的共用坐标系的几个函数分别进行修改、删除、替换等各种操作,以提高教学过程的交互性和灵活性。但是,目前的电子白板只是提供了一种多函数曲线共用一个坐标系的显示机制,却不能根据用户的需要进行实时的修改、删除、替换等操作。

 

发明内容

本发明要解决的技术问题是提供一种能够对共用坐标系的几个函数进行实时控制的基于电子白板的函数曲线的构造方法和系统。

为解决上述技术问题,本发明采用如下技术方案:

一方面,提出一种基于电子白板的函数曲线的构造方法,包括如下步骤:

根据输入的函数表达式和初始参数来实例化电子白板中预存的函数曲线类,从而生成函数曲线;

初始设置电子白板对应的坐标系单位长度,同时建立函数曲线和坐标系之间的对应关系,并基于初始设置电子白板对应坐标系单位长度获得坐标边界的值。

优选地,上述处理方法还包括步骤:

设置坐标系单位长度,根据该坐标系所有函数曲线中各变量的定义域范围重设对应坐标轴的单位长度,并基于当前设置的坐标系单位长度更新坐标边界的值。

优选地,设置坐标系单位长度包括如下步骤:

分别求出坐标边界在各坐标轴原点两侧方向上的最大绝对值作为函数曲线中各变量的定义域范围;

根据函数曲线中各变量的定义域范围的数字位数所在的预定区间调整对应坐标轴的单位长度;

根据对应坐标轴的单位长度更新坐标边界的值。

优选地,上述处理方法还包括在电子白板上增加函数曲线,包括:

根据输入的函数表达式和初始参数生成函数曲线;

如果坐标边界与增加的函数曲线相比有变化,则重设坐标系单位长度并更新坐标边界的值。

优选地,上述处理方法还包括在电子白板上删除函数曲线,包括:

删掉指定的函数曲线对应的表达式;

如果坐标边界与删除的函数曲线相比有变化,则重设坐标系单位长度并更新坐标边界的值。

优选地,上述处理方法还包括在电子白板上拖拽函数曲线,包括如下步骤:

根据该坐标系当前所有函数曲线判断坐标边界与被拖拽函数曲线的变化情况;

如果有变化则重设坐标系单位长度并更新坐标边界的值。

优选地,上述处理方法还包括对函数曲线的定义域开区间或闭区间的设定处理。

优选地,上述对函数曲线的定义域开区间的设定处理包括如下步骤:

当定义域设定为左开区间时,函数曲线在对应坐标轴上定义域的左边界为初始值加上无穷小量;

当定义域设定为右开区间时,函数曲线在对应坐标轴上定义域的右边界为初始值减去无穷小量;

当定义域设定为左闭区间时,函数曲线在对应坐标轴上定义域的左边界为初始值;

当定义域设定为右闭区间时,函数曲线在对应坐标轴上定义域的右边界为初始值。

另一方面,提出一种用来执行基于电子白板的函数曲线的构造方法的系统,包括:输入检测单元,用于检测输入的数据和指令;还包括:

函数曲线建立单元,用于根据输入的函数表达式和初始参数来实例化电子白板中预存的函数曲线类,从而生成函数曲线;

坐标系建立单元,用于初始设置电子白板对应坐标系单位长度,同时建立函数曲线和坐标系之间的对应关系,并基于初始设置电子白板对应坐标系单位长度获得坐标边界的值。

优选地,上述系统还包括坐标系单位长度设置单元,用于初始设置电子白板对应的坐标系单位长度,同时建立函数曲线和坐标系之间的对应关系,并基于初始设置电子白板对应坐标系单位长度获得坐标边界的值。

本发明主要的优点如下:

1.本发明的技术方案可以在一个坐标系下显示多个函数曲线,同时还可以增加、删除函数曲线,实时修改定义域、表达式,以及对函数曲线拖拽、平移等,增加了白板交互系统的交互性和实时性;

2.在增加、删除函数曲线、拖拽或平移函数曲线时,坐标系可以动态地按比例变化,这样的动态变化,可以更清晰、准确的显示函数曲线在坐标系的位置。

 

附图说明

图1示出本发明基于电子白板的函数曲线的构造方法一个实施例的流程图;

图2a和2b示出拖拽函数曲线时,坐标系动态改变效果对比图;

图3示出定义域的开闭控制界面;

图4示出本发明基于电子白板的函数曲线的构造系统的一种结构示意图。

 

具体实施方式

本发明基于电子白板的函数曲线的构造方法主要是可以在电子白板上增加、删除和拖拽函数曲线,并且在增加、删除和拖拽函数曲线的同时为了更加直观、清晰地显示函数曲线,使坐标系的单位长度可按比例动态缩放。

如图1所示,该方法一个实施例包括以下两个步骤。

步骤1,根据输入的函数表达式和初始参数来实例化电子白板中预存的函数曲线类,从而生成函数曲线。

电子白板的存储器中预存有大量的函数曲线类,检测在电子白板上的操作,根据输入的函数表达式和初始参数,就可以生成函数曲线。根据预先定义的函数曲线类来构造函数,利用输入的初始参数来实例化一个函数曲线。生成一个新的函数曲线需要传入的参数包括:表达式、定义域、曲线的颜色、以及定义域的开闭、还有采样点等信息。

预先定义一个函数曲线类。假设函数曲线类的名称为GraphCurve,这个函数曲线类所需要的参数分别为:函数表达式,为字符串类型,称为express;函数表达式的定义域,为浮点的点类型,记为xValue;函数曲线的颜色,Color类型,记为color;一个布尔型变量isLeftOrRight,用来表示定义域的左右区间顶点是开区间还是闭区间;定义一个采样点,为整型,记为sample表示函数曲线是由多少个采样点构成,数字越大,则函数曲线就越精细。

利用JavaScript对函数表达式express进行解析,根据sample设定的采样点数,对定义域进行采样,得到的采样点作为横坐标,传入函数表达式,进而得到函数曲线的纵坐标。

步骤2,初始设置电子白板对应的坐标系单位长度,同时建立函数曲线和坐标系之间的对应关系,并基于初始设置电子白板对应坐标系单位长度获得坐标边界的值。

初始设置电子白板上的坐标系的单位长度为一个像素点,统计步骤1生成的函数曲线数组中每条曲线的定义域、值域信息,计算得到坐标系的x轴和y轴方向上应该显示的范围,从而确定坐标边界的值。由于每个函数曲线都要显示在同一个坐标系中,因此预先定义坐标系中的各个变量,x方向的单位长度,表示x方向上屏幕坐标与数学坐标的对应关系,记为Xscale(单位长度对应的像素点),初始值为1;Y方向的单位长度,表示y方向上屏幕坐标与数学坐标的对应关系,记为Yscale(单位长度对应的像素点),初始值为1;坐标原点,记为OriginalPoint,这些变量可以定义一个坐标系。

接着建立坐标系和函数曲线之间的联系,定义一个曲线列表,为数组类型,用来存储步骤2中生成的函数曲线对象:List<GraphCurve>;表达式数组:List<String> expression,用来存储函数曲线表达式;坐标边界,类型为浮点矩形,记为_coordBounds。统计曲线列表List<GraphCurve>中所有函数曲线的横坐标的最大值及最小值,作为坐标系x方向的最大及最小值(_coordBounds的左边界和右边界)。假设函数曲线列表List<GraphCurve>中包含两条函数曲线:(1) y=sin(x),定义域为[-4,0],则通过步骤2计算得到的值域为[-1,1]; (2) y=x+3,定义域为[-1,3],则计算得到的值域为[2,6]。因此坐标系在x轴方向上的显示范围应该为[-4,3],在y轴上显示的范围为[-1,6],对应得到屏幕上显示坐标系的边界_coordBounds,具体获得方法为:左边界:-4×Xscale,右边界:3×Xscale,下边界:-1×Yscale,上边界:6×Yscale。实际显示时稍微放大一些,这样显示效果更加美观、合理。

由于本发明的技术方案把函数曲线与坐标系分离,因而分别对函数曲线及坐标系进行不同的操作,使后续的增加、删除函数曲线以及拖拽函数曲线时坐标系的单位长度的动态改变等操作成为可能。

步骤3,设置坐标系单位长度,根据该坐标系所有函数曲线中各变量的定义域范围重设对应坐标轴的单位长度,并基于当前设置的坐标系单位长度更新坐标边界的值。

设置坐标系单位长度的具体流程如下:

步骤31,计算定义域的范围,分别求出原点两侧X方向的定义域、Y方向的值域的绝对值的最大值。

根据坐标系的边界_coordBounds和坐标原点OriginalPoint计算定义域和值域的刻度范围。用坐标原点的横坐标减去坐标系的边界_coordBounds中坐标横轴的最左点坐标,记为Xlength,用Xlength与Xscale做商,得到X轴负方向定义域范围的数学坐标。同理,可以得到X轴正方向定义域范围的数学坐标。取X轴正向和负向中的最大值,作为X轴方向定义域范围,记为xScope;同理可以得到Y轴方向值域范围,记为yScope。

步骤32,计算表示定义域和值域范围的数字的位数,即将上面的xScope、yScope转化为字符串的形式记为xNumLen、yNumLen。用到的函数是xScope.ToString().Length和yScope.ToString().Length。

步骤33,分别判断xNumLen、yNumLen位数数值位于哪个预定区间,根据判断结果调整X方向的单位长度Xscale和Y方向的单位长度Yscale。具体实例如下:

1) 如果是20以内的两位数,则坐标单位长度设为2,坐标刻度为0、2、4、6、8等;

2) 如果区间是大于20的两位数,则坐标单位长度设为5,坐标刻度是0、5、10、15等;

3) 如果是三位数,则坐标单位长度设为25,坐标刻度是0、25、50等;

4) 如果是四位数,则坐标单位长度设为250,坐标刻度是0、250、500等,以此类推。

步骤34,基于当前设置的坐标系单位长度更新坐标边界的值。

对于已建立的函数曲线坐标系,还包括增加函数曲线的处理4,具体过程如下:

步骤41,当检测到增加函数曲线的输入指令时,根据选择的函数曲线的表达式、定义域、颜色、定义域的开闭、采样点等信息构造生成一个新的函数曲线。将当前实例化的函数曲线类添加到List<GraphCurve>中;

步骤42,判断坐标边界_coordBounds与添加新函数曲线之前比是否有变化;

步骤43,根据判断结果,如果有变化则通过上述坐标系单位长度设置过程来重设坐标系单位长度并更新坐标边界的值;

步骤44,根据判断结果,如果没有变化则处理过程结束。

 

对于已生成的函数曲线,还包括删除函数曲线的处理5,具体过程如下:

步骤51,当检测到删除函数曲线的输入指令时,从表达式数组expression中删掉指定删除的函数曲线对应的表达式字符串;

步骤52,判断坐标边界_coordBounds与删除函数曲线之前比是否有变化;

步骤53,根据判断结果,如果有变化则通过上述坐标系单位长度设置过程来重设坐标系单位长度并更新坐标边界的值;

步骤54,根据判断结果,如果没有变化则处理过程结束。

 

对于已生成的函数曲线,还包括拖拽函数曲线的处理6,具体过程如下:

步骤61,当检测到拖拽函数曲线的输入指令时,根据该坐标系当前所有函数曲线的分布情况判断坐标边界_coordBounds与拖拽函数曲线之前比是否有变化;

步骤62,根据判断结果,如果有变化则通过上述坐标系单位长度设置过程来重设坐标系单位长度并更新坐标边界的值;

步骤63,根据判断结果,如果没有变化则处理过程结束。

拖拽函数曲线时,坐标系动态改变效果对比如图2a和2b所示。

在添加一条函数曲线时,定义域初始是闭区间的。例如y=x+1,初始定义域为x:[-1,1],-1和1都计算在内。设置(或重新设置)定义域开区间或闭区间的处理如下:

1)当在图3所示的属性面板中输入设定为开区间时,isLeftOrRight = true。

函数曲线比如y=x+1在x轴上的定义域的边界为初始值加上或减去一个无穷小量,例如0.0001。若设定为左开区间比如x:(-1,1],则从-1+0.0001开始计算,而-1不计算在内。若设定为右开区间比如x:(-1,1],则计算到1-0.0001,而1不计算在内。若定义域左右均为开区间比如x:(-1,1),则从-1+0.0001计算到1-0.0001,而-1和1均不计算在内。

2)当在图3所示的属性面板中输入设定为闭区间时,isLeftOrRight = false。

若设定为左闭区间,则函数曲线比如y=x+1在x轴上的定义域的左边界为初始值,不做改变。若设定为右闭区间,则函数曲线比如y=x+1在x轴上的定义域的右边界为初始值,不做改变。若既为左闭区间又为右闭区间,则左右边界均为初始值。

本发明的实施例公开的方法可以在电子白板上的一个坐标系下构造多条函数曲线,还可以根据在电子白板上的操作在电子白板上增加、删除和拖拽函数曲线,并且在增加、删除和拖拽函数曲线的同时为了更加直观、清晰地显示函数曲线,使坐标系的单位长度可按比例动态缩放,改善了电子白板的交互性和体验。

为了实现本发明的方法,本发明还公开了一种基于电子白板的函数曲线的构造的系统主要包括如下单元:

函数曲线建立单元21,用于根据输入的函数表达式和初始参数来实例化电子白板中预存的函数曲线类,从而生成函数曲线;

坐标系建立单元22,用于初始设置电子白板对应坐标系单位长度,同时建立函数曲线和坐标系之间的对应关系,并基于初始设置电子白板对应坐标系单位长度获得坐标边界的值。

本发明的基于电子白板的函数曲线的构造的系统还包括坐标系单位长度设置单元23,该单元用于根据该坐标系所有函数曲线中各变量的定义域范围重设对应坐标轴的单位长度并进而确定坐标系刻度,基于当前设置的坐标系单位长度更新坐标边界的值。

该系统还可以包括函数曲线添加处理单元24、函数曲线删除处理单元25、函数曲线拖拽处理单元26、以及定义域开闭区间设置处理单元27中的任意一个单元或任意多个单元。其中:

函数曲线添加处理单元24,用于根据输入的函数表达式和初始参数在已建立的坐标系中添加函数曲线并确定是否启动坐标系单位长度设置单元来重设坐标系单位长度;

函数曲线删除处理单元25,用于根据输入的删除指令删除坐标系中已有的函数曲线并确定是否启动坐标系单位长度设置单元来重设坐标系单位长度;

函数曲线拖拽处理单元26,用于根据输入的拖拽指令来确定是否启动坐标系单位长度设置单元来重设坐标系单位长度;

定义域开闭区间设置处理单元27,用于根据输入的对定义域区间开闭的设置指令来确定定义域的边界值。

本发明的实施例公开的系统可以在电子白板上的一个坐标系下构造多条函数曲线,还可以根据在电子白板上的操作在电子白板上增加、删除和拖拽函数曲线,并且在增加、删除和拖拽函数曲线的同时为了更加直观、清晰地显示函数曲线,使坐标系的单位长度可按比例动态缩放,改善了电子白板的交互性和用户体验。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号