一种基于虚拟技术实现模拟量角器功能的方法与流程

文档序号:13471937阅读:1853来源:国知局
一种基于虚拟技术实现模拟量角器功能的方法与流程

本发明涉及一种基于虚拟技术实现模拟量角器功能的方法。



背景技术:

常规教学,上数学课过程中,涉及到角度的度量知识,老师总是拿着实物量角器在那边教授学生。当今是信息社会,教育信息化,教育科技化,多媒体教室、仿真实验已经非常普及。很多地方都是实现电子化教育、网络授课,不再是常规的黑板和粉笔,为此就需要一些虚拟的授课工具作为基石。



技术实现要素:

本发明要解决的技术问题,在于提供一种基于虚拟技术实现模拟量角器功能的方法,便于教师使用。

本发明是这样实现的:一种基于虚拟技术实现模拟量角器功能的方法,包括如下步骤:

步骤1、定义量角器的操作接口;

步骤2、定义量角器实现的功能操作;

步骤3、建立量角器数学几何模型;

步骤4、定义量角器的控制区域以及控制区域的控制效果;

步骤5、通过编程工具实现量角器模型。

进一步地,所述步骤1进一步具体为:使用支持2d绘图的开发语言以及工具建立一绘图工程,并创建画布,定义量角器的操作接口。

进一步地,所述操作接口包括:鼠标操作接口、触控操作接口以及手势操作接口。

进一步地,所述步骤2中功能操作包括:改变量角器的大小、实现半圆量角器与全圆量角器、旋转量角器、移动量角器、沿着量角器边缘画标注有角度的弧线以及沿着量角器边缘画标注有角度的扇形。

进一步地,所述步骤3进一步具体为:建立量角器数学几何模型,并根据不同的场景设置相应的刻度线。

本发明具有如下优点:本发明一种基于虚拟技术实现模拟量角器功能的方法,实现过程简单,使用便捷,易上手。

附图说明

下面参照附图结合实施例对本发明作进一步的说明。

图1为本发明方法执行流程图。

图2为本发明具体实施方式示意图一。

图3为本发明具体实施方式示意图二。

图4为本发明具体实施方式示意图三。

图5为本发明具体实施方式示意图四。

图6为本发明具体实施方式示意图五。

图7为本发明具体实施方式示意图六。

图8为本发明具体实施方式示意图七。

图9为本发明具体实施方式示意图八。

图10为本发明具体实施方式示意图九。

图11为本发明具体实施方式示意图十。

图12为本发明具体实施方式示意图十一。

图13为本发明具体实施方式示意图十二。

图14为本发明具体实施方式示意图十三。

图15为本发明具体实施方式示意图十四。

图16为本发明具体实施方式示意图十五。

图17为本发明具体实施方式示意图十六。

图18为本发明具体实施方式示意图十七。

具体实施方式

如图1所示,本发明基于虚拟技术实现模拟量角器功能的方法,包括如下步骤:

步骤1、使用支持2d绘图的开发语言以及工具建立一绘图工程,并创建画布,定义量角器的操作接口,所述操作接口包括:鼠标操作接口、触控操作接口以及手势操作接口;

步骤2、定义量角器实现的功能操作,所述功能操作包括:改变量角器的大小、实现半圆量角器与全圆量角器、旋转量角器、移动量角器、沿着量角器边缘画标注有角度的弧线以及沿着量角器边缘画标注有角度的扇形;

步骤3、建立量角器数学几何模型,并根据不同的场景设置相应的刻度线;

步骤4、定义量角器的控制区域以及控制区域的控制效果;

步骤5、通过编程工具实现量角器模型。

本发明一种具体实施方式:

本实施例中采用delphi作为开发工具。

一种基于虚拟技术实现模拟量角器功能的方法,包括如下步骤:

步骤1:定义量角器基本的操作接口,详细说明如下:

步骤11:用任何能支持基本2d绘图的开发语言及工具建立一个绘图工程,并创建画布;

这里说的支持基本2d绘图的开发语言及工具,指的是一套基本绘图api,比如基于window的gdi、gdi+;画布一般指的是能调用这些基本api实现绘制图形的设备;

步骤12:定义基本的操作接口。有:鼠标操作接口、触控操作接口、手势操作接口;

这里说的,鼠标操作接口、触控操作接口、手势操作接口,主要是获取画布(设备)捕获到的位置信息,作为整个模型的输入参数,后面的步骤的数据依据,操作来源都是基于这些基础参数进行的。这边位置信息包括设备按下的位置、设备按下移动的位置、设备弹开的位置、设备触发手势的识别结果及参数。

步骤2:定义量角器所要实现的功能操作;

步骤21:作为量角器有基本的测量角度功能:用量角器直接测量角度;如图2所示:

步骤22:定义附加功能:改变量角器的大小、实现半圆量角器与全圆量角器、旋转量角器、移动量角器、沿着量角器边缘画标注有角度的弧线、沿着量角器边缘画标注有角度的扇形;

(1)改变量角器大小(如图3所示):

(2)半圆量角器与全圆量角器(如图4所示)

旋转量角器(如图5所示)

(4)沿着量角器边缘画标注有角度的弧线(如图6所示)

(5)沿着量角器边缘画标注有角度的扇形(如图7所示)

步骤3:建立量角器数学几何模型;

步骤31:半圆量角器在外围轮廓为矩形的内部画半圆;矩形的长度为高度的两倍;并依此根据不同的实际场景,需要具体的量角器样式绘制对应的刻度线跟辅助线;

具体描述如下:

半圆量角器外围轮廓是个半圆,如图8所示,被矩形框住的部分,

由于圆的直径是半径的两倍,因此显然这个矩形(图中的a部分)一定满足关系:长是高的两倍。

现实实物中,为了预防底线(180度)那直线磨损影响角度的测量,因此直径下一般会多出一个小矩形(图中的b部分),且这个小矩形的小边(宽)一定是与圆弧相切。

以下针对刻度线、辅助线进行详细描述:

如图9所示,设定的图形样式满足如下的几何关系:

ab为半圆的直径,o为圆心,ab=2oa=2ob=2oc;

底边小矩形的高度为20,长度为直径ab;

由外到内圆弧总共有四圈圆弧,如下

第一段圆弧,整段半圆弧,圆心为o,半径长度为:0a;

第二段圆弧,圆心为o,半径长度为:oa-36;为了在中间能加粗绘制标注出90度刻度,因此此段圆弧必须在中间位置留出足够的位置空间,这边规定左右两边各留5度圆心角出来;即:被90度刻度线截成两段圆弧,左边的圆弧的圆心角为:0-85度的圆弧,右边的圆弧为95-180度的圆弧,也就是说中间标注90度刻度的空间占据“10度的空间”;

第三段圆弧,圆心为o,半径为:oa-60;

由以上三段圆弧的几何关系,可知第一段与第二段圆弧间距为36,第二段圆弧与第三段圆弧的间距为:60-36=24;36大于24,也就是图上两个圆环的间距不一样的原因;

第四段圆弧,以o为圆心附近的小半圆弧,半径长度od=20

(4)刻度值为10的倍数为大刻度线,长度为:15;

(5)刻度值为5的倍数,但不是10的倍数的刻度线,为中刻度线,长度:10;

(6)刻度值既不是10的倍数,也不是5的倍数的刻度线,为小刻度线,长度为:5;

(7)由外到内,例如:外边刻度值为60度,内边刻度值为120位置,60度刻度值下有有一小段线段,120度下边也有内部半径超出“一小段”,规定这“一小段”的长度为:5;

步骤32:全圆量角器在外围轮廓为正方形(矩形)的内容话正圆;并依此根据不同的实际场景,需要具体的量角器样式绘制对应的刻度线跟辅助线;

具体描述如下:

如图10所示,模型的主体与步骤31相同。这边只针对不同点进行描述:

外围轮廓也是个矩形,而且是个正方形;

除了90度刻度线位置的刻度值字号大外,270度位置刻度值字号也大,但预留的角度空间都是10度;

不存在“底边小矩形”;

步骤33:定义半圆量角器在不同外围尺寸下的显示差异、全圆量角器在不同外围尺寸下的显示差异;

按照步骤31、步骤32的模型实现,当外围轮廓比较小时,刻度线及刻度线就会挤在一起,显得很不好看;因此我们这边称步骤31、步骤32的模型为“大尺寸”,而“中尺寸”、“小尺寸”都是在大尺寸的基础上优化而来;下面分别给出半圆、全圆大尺寸、中尺寸、小尺寸图说明(如图11和图12所示):

很显然“中尺寸”、“小尺寸”只是把“大尺寸”某些刻度线或者刻度不显示出来;至于外围轮廓矩形多大时为“大尺寸”、“中尺寸”、“小尺寸”,由实际情况而定,那些刻度线要显示那些刻度线要隐藏也由实际定;

步骤4:定义量角器的控制区域及控制区域的控制效果;

(1)控制量角器形状大小及其操作区域:

半圆量角器拉伸改变量角器大小(如图13所示)

全圆量角器拉伸改变量角器大小(如图14所示)

无论是半圆量角器,还是全圆量角器,控制量角器的大小都在外围轮廓矩形右下角处定义一个控制区域。比如说,可以定义外围轮廓矩形右下角,半径为10的圆形区域里。

当半圆量角器操作其控制点(鼠标、触控、手势),我们规定操作过程中量角器的圆心固定不动,因此将产生向右的偏移量dx,向上的偏移量dy。由于外围轮廓矩形一定是长为高的两倍,因此就决定了这边dx必定与dy的值相等。这样轮廓外围矩形的左上位置将由(x0,y0)变成(x0-dx,y0-dy),长度将由w0变成w0+dx,高度将由h0变成h0+dy。外围轮廓矩形的大小变了,由以上步骤31、步骤32、步骤33给出的几何关系,显然就会达到改变量角器大小的效果。

(2)控制量角器的旋转角度及其操作区域:

半圆量角器旋转效果如图15所示,

全圆量角器旋转效果(如图16所示)

无论是半圆量角器,还是全圆量角器旋转控制点都在外围轮廓矩形的定边中间位置,图中的a、b。比如说,可以定义半径为10的圆形为控制区域。

当半圆量角器操作其控制点(鼠标、触控、手势),我们规定操作过程中量角器的圆心固定不动,有点a(x1,y1)到点b(x2,y2),并结合定点o(x0,y0),容易求得角a0b的大小,即旋转角度。

控制量角器的整体移动及其操作区域

这边规定只要控制点在半圆量角器的内部或者全圆量角器的内部,结合鼠标、触控点的按下、移动、弹开动作,都可以视为对整个量角器进行移动。

(4)控制量角器边缘画弧线、扇形及其操作区域如图17以及图18所示,

如果操作点落在画箭头的环形区域里,就判断其沿边缘画弧线或者扇形。环形宽度可根据实际情况来定义。

在此过程中,最核心的问题是要解决一个数学问题,即,任意不跟圆心o(x0,y0)重合的点a(x1,y1),如何求得其与圆心的连线和圆弧的交点q(x2,y2)。

这边用到平面几何图形的向量来解决这个问题。

第一步:向量:0a=(x1-x0,y1-y0),

第二步:向量oa的单位向量eoa=(xe,ye),其中

xe=(x1-x0)/d,

ye=(y1-y0)/d,

d=(x1-x0)*(x1-x0)+(y1-y0)*(y1-y0)开根号

第三步:向量ob与向量oa在同一方向上,且长度为量角器的半径r,那么ob=(r*xe,r*ye)

第四步:由向量平移相关几何学可知,点b可以是由点o沿着向量ob,平移得到,由向量平移公式可得知b的坐标为:

x2=x0+r*xe,

y2=y0+r*ye

步骤5:用编程工具实现量角器模型;

只要能支持基本制图命令的绘图库,按照步骤1至步骤4提供的思路绘制出来。比如说,如果用的是gdi+绘图库,那么会用到如下的基本绘图命令:

绘制直线:drawline,

绘制圆弧:drawarc,

绘制字符串:drawstring,

填充扇形:fillpie

填充矩形:fillrectangle。

不同的开发工具,编程语言,在选用的绘图函数接口会有细微差别,但是用到的模型及其参数,都是基于步骤1-步骤4的思路。

虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1