CN116204104A - 几何图形的动态展示方法、装置、终端及存储介质 - Google Patents
几何图形的动态展示方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN116204104A CN116204104A CN202310221958.2A CN202310221958A CN116204104A CN 116204104 A CN116204104 A CN 116204104A CN 202310221958 A CN202310221958 A CN 202310221958A CN 116204104 A CN116204104 A CN 116204104A
- Authority
- CN
- China
- Prior art keywords
- point
- dragged
- derivative
- information
- geometric
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000009471 action Effects 0.000 claims abstract description 40
- 238000004590 computer program Methods 0.000 claims description 22
- 238000004364 calculation method Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 9
- 206010034701 Peroneal nerve palsy Diseases 0.000 claims description 4
- 230000001747 exhibiting effect Effects 0.000 claims description 4
- 230000005484 gravity Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 description 7
- 238000007667 floating Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0486—Drag-and-drop
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明提供一种几何图形的动态展示方法、装置、终端及存储介质。该方法包括:当检测到拖动动作时,确定几何图形中被拖动点的类型,并根据被拖动点的类型和拖动动作,更新被拖动点的信息;更新几何图形中,与被拖动点关联的各衍生点的信息;根据几何图形中的所有点更新后的信息,生成更新后的几何图形。本发明可以实现几何图形的动态展示,便于用户直观地、动态地观察各个几何图形的属性或性质,以使用户可以深刻理解几何图形的性质。
Description
技术领域
本发明涉及图形动态展示技术领域,尤其涉及一种几何图形的动态展示方法、装置、终端及存储介质。
背景技术
平面几何是中学数学的重要教学内容,对于培养学生的空间思维能力和逻辑推理能力具有重要的作用。
然而,目前对平面几何的教学,仅限于静态展示各个几何图形的样式以及文字或语言描述各个几何图形的属性或性质,无法直观地、动态地观察各个几何图形的属性或性质。
发明内容
本发明实施例提供了一种几何图形的动态展示方法、装置、终端及存储介质,以解决目前无法直观地、动态地观察各个几何图形的属性或性质的问题。
第一方面,本发明实施例提供了一种几何图形的动态展示方法,包括:
当检测到拖动动作时,确定几何图形中被拖动点的类型,并根据被拖动点的类型和拖动动作,更新被拖动点的信息;
更新几何图形中,与被拖动点关联的各衍生点的信息;
根据几何图形中的所有点更新后的信息,生成更新后的几何图形。
在一种可能的实现方式中,根据被拖动点的类型和拖动动作,更新被拖动点的信息,包括:
若被拖动点的类型为普通点,则根据拖动动作,更新被拖动点的坐标信息;其中,普通点可被任意拖动;
若被拖动点的类型为圆周点,则根据拖动动作,更新被拖动点的坐标信息和角度信息;角度信息为被拖动点和其所在圆的圆心的连线与预设射线之间的夹角;其中,圆周点为圆周上的点,可沿圆周被拖动;
若被拖动点的类型为线段上的点,则根据拖动动作,更新被拖动点的坐标信息和长度比值信息;长度比值信息为被拖动点到其所在线段起始点的距离与该线段的长度的比值;其中,线段上的点为线段内部或线段延长线上的点,可沿线段被拖动。
在一种可能的实现方式中,更新几何图形中,与被拖动点关联的各衍生点的信息,包括:
对于几何图形中,与被拖动点关联的每个衍生点,判断该衍生点的附加信息中是否包含无穷远点;若该衍生点的附加信息中包含无穷远点,则将该衍生点的是否为无穷远点的属性信息更新为是无穷远点;若该衍生点的附加信息中不包含无穷远点,则根据该衍生点的附加信息计算并更新该衍生点的信息;
其中,根据该衍生点的附加信息计算并更新该衍生点的信息,包括:
当根据该衍生点的附加信息进行计算的结果表明该衍生点不是无穷远点时,更新该衍生点的坐标,并将该衍生点是否为无穷远点的属性信息更新为不是无穷远点;
当根据该衍生点的附加信息进行计算的结果表明该衍生点是无穷远点时,不更新该衍生点的坐标,将该衍生点是否为无穷远点的属性信息更新为是无穷远点。
在一种可能的实现方式中,衍生点的附加信息包含该衍生点的来源信息。
在一种可能的实现方式中,几何图形中的所有点的ID按照绘制先后顺序递增;
与被拖动点关联的各衍生点为ID大于被拖动点的ID的衍生点。
在一种可能的实现方式中,根据几何图形中的所有点更新后的信息,生成更新后的几何图形,包括:
按照点、线段、圆的先后顺序,根据几何图形中的所有点更新后的信息,生成更新后的几何图形;
其中,在生成更新后的几何图形的过程中,若某个点为无穷远点,则该点不被绘制出;若某个线段或某个圆依赖的点包含无穷远点,则该线段或该圆不被绘制出。
在一种可能的实现方式中,几何图形中的点的信息包括点的ID、点的坐标、点的类型、衍生点类型、点的图形样式、点的标识位置相对于点的位置的横向相对偏移、点的标识位置相对于点的位置的纵向相对偏移、点的标识的文字内容、点的附加信息以及是否是无穷远点;
点的类型包括普通点、圆周临时点和衍生点;
衍生点类型包括圆周点、线段上的点、第一线段端点、两条线段或两条线段的延长线的交点、第二线段端点、垂足、三角形角平分线与对边的交点、线段或线段的延长线与圆弧的交点、两个圆的交点、三角形的内心、三角形的外心、三角形的垂心、三角形的重心和三角形的旁心;第一线段端点与第一端点之间的线段和第一端点与第二端点之间的线段相互垂直且长度相等;第二线段端点所在线段与另一线段相互平行且长度相等。
第二方面,本发明实施例提供了一种几何图形的动态展示装置,包括:
被拖动点信息更新模块,用于当检测到拖动动作时,确定几何图形中被拖动点的类型,并根据被拖动点的类型和拖动动作,更新被拖动点的信息;
衍生点信息更新模块,用于更新几何图形中,与被拖动点关联的各衍生点的信息;
几何图形更新模块,用于根据几何图形中的所有点更新后的信息,生成更新后的几何图形。
第三方面,本发明实施例提供了一种终端,包括处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,执行如上第一方面或第一方面的任一种可能的实现方式所述的几何图形的动态展示方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上第一方面或第一方面的任一种可能的实现方式所述的几何图形的动态展示方法的步骤。
本发明实施例提供一种几何图形的动态展示方法、装置、终端及存储介质,通过在检测到拖动动作时,基于被拖动点的类型和拖动动作,更新被拖动点的信息;更新几何图形中,与被拖动点关联的各衍生点的信息;最后根据几何图形中的所有点更新后的信息,生成更新后的几何图形。可以在检测到拖动动作时,实时更新对应的几何图形,实现几何图形的动态展示,便于用户直观地、动态地观察各个几何图形的属性或性质,以使用户可以深刻理解几何图形的性质。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的几何图形的动态展示方法的流程示意图;
图2是本发明实施例提供的几何图形的动态展示装置的结构示意图;
图3是本发明实施例提供的终端的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图通过具体实施例来进行说明。
参见图1,其示出了本发明实施例提供的几何图形的动态展示方法的实现流程图。几何图形的动态展示方法的执行主体可以是终端。
参见图1,上述几何图形的动态展示方法包括:
在S101中,当检测到拖动动作时,确定几何图形中被拖动点的类型,并根据被拖动点的类型和拖动动作,更新被拖动点的信息。
其中,拖动动作通常为鼠标对几何图形中的点的拖动操作,或者是手指在手机等移动终端屏幕上的移动对几何图形中的点的拖动操作。在几何图形中,可被拖动的点的类型包括普通点、衍生点中的圆周点和衍生点中的线段上的点。衍生点是由几何图形中的其它几何属性决定的点。
当检测到拖动动作时,首先确定被拖动点的类型,然后,根据被动拖点的类型和拖动动作本身(比如,拖动的横向位移和纵向位移,等等),更新被拖动点的信息。其中,该信息可以指被拖动点的部分属性信息等。对于不同类型的被拖动点,更新的属性信息不完全相同。
在S102中,更新几何图形中,与被拖动点关联的各衍生点的信息。
与被拖动点关联的衍生点可以理解为受被拖动点影响的衍生点。当被拖动点发生移动时,与被拖动点关联的各衍生点也会发生变化,因此,需要更新几何图形中与被拖动点关联的各衍生点的信息。
在S103中,根据几何图形中的所有点更新后的信息,生成更新后的几何图形。
本实施例可以基于几何图形中所有点的更新后的信息,重新生成或绘制更新后的几何图形,即生成基于上述拖动动作之后的几何图形。
当被拖动点连续拖动时,重复执行上述S101-S103,即可实现几何图形的动态展示。
本实施例通过在检测到拖动动作时,基于被拖动点的类型和拖动动作,更新被拖动点的信息;更新几何图形中,与被拖动点关联的各衍生点的信息;最后根据几何图形中的所有点更新后的信息,生成更新后的几何图形,可以在检测到拖动动作时,实时更新对应的几何图形,实现几何图形的动态展示,便于用户直观地、动态地观察各个几何图形的属性或性质,以使用户可以深刻理解几何图形的性质。另外,本实施例的衍生点重新计算后,可以立即更新该点的坐标结果。这使得重新计算和重新绘制可以分开处理、互不依赖,提高了本技术方案的性能和灵活性。
在一些实施例中,在上述S101中,根据被拖动点的类型和拖动动作,更新被拖动点的信息,包括:
若被拖动点的类型为普通点,则根据拖动动作,更新被拖动点的坐标信息;其中,普通点可被任意拖动;
若被拖动点的类型为圆周点,则根据拖动动作,更新被拖动点的坐标信息和角度信息;角度信息为被拖动点和其所在圆的圆心的连线与预设射线之间的夹角;其中,圆周点为圆周上的点,可沿圆周被拖动;
若被拖动点的类型为线段上的点,则根据拖动动作,更新被拖动点的坐标信息和长度比值信息;长度比值信息为被拖动点到其所在线段起始点的距离与该线段的长度的比值;其中,线段上的点为线段内部或线段延长线上的点,可沿线段被拖动。
在几何图形中,可被拖动的点包括普通点、圆周点和线段上的点。普通点可被任意拖动,不受其他条件约束。圆周点是指位于圆的圆周上,且可以沿着圆周被拖动的点。线段上的点是指线段内部或线段延长线上的点,可以沿着线段被拖动。
由于普通点不受其它条件约束,当其被拖动时,仅更新其坐标信息即可。
当圆周点沿着圆周被拖动时,除了其坐标信息发生变化,其角度信息同样发生变化,因此,当其沿着圆周被拖动时,要更新其坐标信息和角度信息。圆周点的角度信息是指该圆周点和圆心点的连线,与预设射线之间的夹角。其中,预设射线可以是经过该圆心点的向右水平射线,也可以是其它射线,在此不做具体限制。
当线段上的点被拖动时,除了其坐标信息发生变化,其长度比值信息也会发生变化,因此,当其沿着线段被拖动时,要更新其坐标信息和长度比值信息。线段上的点的长度比值信息是指线段上的点到该线段起始点的距离与该线段的长度的比值。
在一些实施例中,上述S102可以包括:
对于几何图形中,与被拖动点关联的每个衍生点,判断该衍生点的附加信息中是否包含无穷远点;若该衍生点的附加信息中包含无穷远点,则将该衍生点的是否为无穷远点的属性信息更新为是无穷远点;若该衍生点的附加信息中不包含无穷远点,则根据该衍生点的附加信息计算并更新该衍生点的信息;
其中,根据该衍生点的附加信息计算并更新该衍生点的信息,包括:
当根据该衍生点的附加信息进行计算的结果表明该衍生点不是无穷远点时,更新该衍生点的坐标,并将该衍生点是否为无穷远点的属性信息更新为不是无穷远点;
当根据该衍生点的附加信息进行计算的结果表明该衍生点是无穷远点时,不更新该衍生点的坐标,将该衍生点是否为无穷远点的属性信息更新为是无穷远点。
在一些实施例中,衍生点的附加信息包含该衍生点的来源信息。
在一些实施例中,几何图形中的所有点的ID按照绘制先后顺序递增;
与被拖动点关联的各衍生点为ID大于被拖动点的ID的衍生点。
在一些实施例中,几何图形中的点的信息包括点的ID、点的坐标、点的类型、衍生点类型、点的图形样式、点的标识位置相对于点的位置的横向相对偏移、点的标识位置相对于点的位置的纵向相对偏移、点的标识的文字内容、点的附加信息以及是否是无穷远点中的至少一种;
点的类型包括普通点、圆周临时点和衍生点;
衍生点类型包括圆周点、线段上的点、第一线段端点、两条线段或两条线段的延长线的交点、第二线段端点、垂足、三角形角平分线与对边的交点、线段或线段的延长线与圆弧的交点、两个圆的交点、三角形的内心、三角形的外心、三角形的垂心、三角形的重心和三角形的旁心;第一线段端点与第一端点之间的线段和第一端点与第二端点之间的线段相互垂直且长度相等;第二线段端点所在线段与另一线段相互平行且长度相等。
其中,点的坐标包括点的横坐标和点的纵坐标。
在本实施例中,几何图形中点的结构/信息如表1所示。
表1 点的结构
Point_ID | Point_X | Point_Y | Point_type |
DerivedPointType | PointGraphFormat | PointTagRel_X | PointTagRel_Y |
PointTagText | MoreInfoOfPoint | IsPointAtInfinity |
Point_ID,点的ID,2字节,点的唯一标识,从0开始按生成先后顺序自动增长,不可修改。本实施例几何图形的所有点由绘制或计算按先后顺序产生,不能删除,这就保证了修改其中一个点只影响后面的点,提高了计算效率。
Point_X,点的横坐标,8字节,双精度浮点数。
Point_Y,点的纵坐标,8字节,双精度浮点数。
点的坐标之所以采用双精度浮点数,是为了保证以后计算产生的点的坐标的精度,以及几何性质的准确图形反映。
Point_type,点的类型,1字节。该值的含义:0表示普通点;2表示圆周临时点;4表示衍生点。
DerivedPointType,衍生点类型,1字节。
PointGraphFormat,点的图形样式,1字节,包括宽度(4位)、是否隐藏点(1位)和颜色(3位)。
PointTagRel_X,点的标识位置相对于点的位置的横向相对偏移,4字节,单精度浮点数。
PointTagRel_Y,点的标识位置相对于点的位置的纵向相对偏移,4字节,单精度浮点数。
PointTagText,点的标识的文字内容,2字节。在几何图形中,通常采用不同的文字表示不同的点,该不同的文字即点的标识。
MoreInfoOfPoint,点的附加信息,9字节,对于普通点保留为0;对于圆周临时点,存储对应圆的半径信息;对于衍生点,表示衍生点的来源信息,用于衍生点的重新计算,详见表2。
IsPointAtInfinity,是否是无穷远点,1字节,该值为0表示此点非无穷远点,该值为1表示该点为无穷远点。无穷远点的产生原因:由于拖动某些点,造成依赖这些点的衍生点不存在(例如:拖动线段的一个端点导致该线段和另一条线段所在直线由相交变为平行,从而使原来生成的两个线段所在直线的交点不复存在),以及依赖这些衍生点的衍生点无法生成。当某点为无穷远点时,该点及依赖于该点的线段和圆不再存在(不再画出)。这就保证了当移动某个点时,几何图形的重绘不会产生错误。
衍生点是由其他几何属性决定的点。在不同类型的衍生点中,除了圆周点和线段上的衍生点外,其它类型的衍生点不可以被拖动(手动修改)。衍生点类型列表如表2所示。
在本实施例中,当更新与被拖动点关联的各衍生点的信息时,对于每个与被拖动点关联的衍生点,首先判断该衍生点的附加信息中涉及的点是否包括无穷远点,具体可以根据各涉及点的属性信息IsPointAtInfinity确定是否包含无穷远点。若包含无穷远点,则将该衍生点的是否为无穷远点的属性信息更新为是无穷远点,即将该衍生点的IsPointAtInfinity设置为1;若不包含无穷远点,则可以根据该衍生点的附加信息计算并更新该衍生点的信息:当计算结果表明该衍生点不是无穷远点时,更新该衍生点的坐标,将该衍生点的IsPointAtInfinity属性设置为0,否则不更新该衍生点的坐标,将该衍生点的IsPointAtInfinity属性设置为1。
由于被拖动点的影响,在计算过程中,原来正常的衍生点可能会变为无穷远点。例如,如果拖动某个点造成两条直线由相交变为平行,那么两条直线原来的交点便会由正常点变为无穷远点。当然原来是无穷远点的衍生点也可以变为正常的衍生点。
表2 衍生点类型列表
在更新与被拖动点关联的各衍生点的信息时,可以按照各衍生点的ID从小到大的顺序依次进行更新。
本实施例提出了无穷远点的概念,无穷远点概念的应用,保证了无论怎样拖动点,都能真实展示图形的几何性质,而不出错误,进一步增强了动态展示的准确性。
在一些实施例中,上述S103可以包括:
按照点、线段、圆的先后顺序,根据几何图形中的所有点更新后的信息,生成更新后的几何图形;
其中,在生成更新后的几何图形的过程中,若某个点为无穷远点,则该点不被绘制出;若某个线段或某个圆依赖的点包含无穷远点,则该线段或该圆不被绘制出。
在本实施例中,根据几何图形中的所有点更新后的信息,生成更新后的几何图形,可以先画点,再画线段和圆。其中,线段的结构如表3所示。
表3 线段的结构
FirstEndPointID | SecondEndPointID | LineGraphFormat |
FirstEndPointID,线段的一个端点的ID,可以为线段的起始点的ID,2字节。
SecondEndPointID,线段的另一个端点的ID,2字节。
LineGraphFormat,线段的图形样式,包括宽度(2位)、实虚线(2位,具体含义:0表示实线;1表示虚线,用于作为辅助线等用途;2表示有向实线)和颜色(4位),1字节。
圆的结构如表4所示,包括圆的ID(Circle_ID)、圆心点的ID(O_id)、圆周确定点的ID(Arc_ID)和圆弧的图形样式(ArcDrawFormat)。
表4 圆的结构
Circle_ID | O_id | Arc_ID | ArcDrawFormat |
其中,圆的ID(Circle_ID),圆的唯一标识,2字节,从0开始按生成先后顺序自动增长,不可修改。
圆心点的ID(O_id),2字节。
圆周确定点的ID(Arc_ID),2字节,其点的类型可以是圆周临时点,也可以是其他类型的点,用于确定圆的半径。其中,圆周临时点是画圆时生成的点,只是为确定圆的半径而设的,它没有图形表示,也没有标签;其他类型的点是画圆时已存在的点。
圆弧的图形样式(ArcDrawFormat)包括宽度(2位)、实虚线(2位)、是否隐藏圆(1位)和颜色(3位),1字节。
当前述发生改变的点(包括被拖动点和与被拖动点关联的各衍生点)是圆心点时,如果对应圆的圆周确定点的类型是圆周临时点,则圆的半径保持不变,圆周会发生平移;如果圆周确定点是其他类型的点,该点不随圆心点移动,这时圆的半径会改变。
平面几何图形涉及到的元素主要是点、线段和圆,通过点、线段和圆的结构可知,通过点的信息,可以将点与线段和圆关联起来。基于先有点,后有线段和圆的思想,只要拖动点,便可影响几何图形中的线段和圆,从而方便地动态展示几何图形。
本实施例通过拖动点可以实现衍生点的自动计算以及图形的自动重绘。点的结构中点的附加信息的设计可以实现移动几何图形的某个点时,重新计算该点后面的衍生点,重绘几何图形,更新受其影响的点、线段和圆,准确地动态展示几何图形的性质,对于辅助师生直观深刻地理解验证平面几何的定理和性质有积极的意义,能够让用户通过拖动点的方式,观察几何图形的变与不变,深刻理解几何图形的性质。本实施例点的类型中圆周临时点的设计,以及衍生点中圆周点和线段上的点的设计,进一步增强了几何图形的动态展示效果。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
以下为本发明的装置实施例,对于其中未详尽描述的细节,可以参考上述对应的方法实施例。
图2示出了本发明实施例提供的几何图形的动态展示装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
如图2所示,几何图形的动态展示装置30可以包括:被拖动点信息更新模块31、衍生点信息更新模块32和几何图形更新模块33。
被拖动点信息更新模块31,用于当检测到拖动动作时,确定几何图形中被拖动点的类型,并根据被拖动点的类型和拖动动作,更新被拖动点的信息;
衍生点信息更新模块32,用于更新几何图形中,与被拖动点关联的各衍生点的信息;
几何图形更新模块33,用于根据几何图形中的所有点更新后的信息,生成更新后的几何图形。
在一种可能的实现方式中,在被拖动点信息更新模块31中,根据被拖动点的类型和拖动动作,更新被拖动点的信息,包括:
若被拖动点的类型为普通点,则根据拖动动作,更新被拖动点的坐标信息;其中,普通点可被任意拖动;
若被拖动点的类型为圆周点,则根据拖动动作,更新被拖动点的坐标信息和角度信息;角度信息为被拖动点和其所在圆的圆心的连线与预设射线之间的夹角;其中,圆周点为圆周上的点,可沿圆周被拖动;
若被拖动点的类型为线段上的点,则根据拖动动作,更新被拖动点的坐标信息和长度比值信息;长度比值信息为被拖动点到其所在线段起始点的距离与该线段的长度的比值;其中,线段上的点为线段内部或线段延长线上的点,可沿线段被拖动。
在一种可能的实现方式中,衍生点信息更新模块32具体用于:
对于几何图形中,与被拖动点关联的每个衍生点,判断该衍生点的附加信息中是否包含无穷远点;若该衍生点的附加信息中包含无穷远点,则将该衍生点的是否为无穷远点的属性信息更新为是无穷远点;若该衍生点的附加信息中不包含无穷远点,则根据该衍生点的附加信息计算并更新该衍生点的信息;
其中,根据该衍生点的附加信息计算并更新该衍生点的信息,包括:
当根据该衍生点的附加信息进行计算的结果表明该衍生点不是无穷远点时,更新该衍生点的坐标,并将该衍生点是否为无穷远点的属性信息更新为不是无穷远点;
当根据该衍生点的附加信息进行计算的结果表明该衍生点是无穷远点时,不更新该衍生点的坐标,将该衍生点是否为无穷远点的属性信息更新为是无穷远点。
在一种可能的实现方式中,衍生点的附加信息包含该衍生点的来源信息。
在一种可能的实现方式中,几何图形中的所有点的ID按照绘制先后顺序递增;
与被拖动点关联的各衍生点为ID大于被拖动点的ID的衍生点。
在一种可能的实现方式中,几何图形更新模块33具体用于:
按照点、线段、圆的先后顺序,根据几何图形中的所有点更新后的信息,生成更新后的几何图形;
其中,在生成更新后的几何图形的过程中,若某个点为无穷远点,则该点不被绘制出;若某个线段或某个圆依赖的点包含无穷远点,则该线段或该圆不被绘制出。
在一种可能的实现方式中,几何图形中的点的信息包括点的ID、点的坐标、点的类型、衍生点类型、点的图形样式、点的标识位置相对于点的位置的横向相对偏移、点的标识位置相对于点的位置的纵向相对偏移、点的标识的文字内容、点的附加信息以及是否是无穷远点;
点的类型包括普通点、圆周临时点和衍生点;
衍生点类型包括圆周点、线段上的点、第一线段端点、两条线段或两条线段的延长线的交点、第二线段端点、垂足、三角形角平分线与对边的交点、线段或线段的延长线与圆弧的交点、两个圆的交点、三角形的内心、三角形的外心、三角形的垂心、三角形的重心和三角形的旁心;第一线段端点与第一端点之间的线段和第一端点与第二端点之间的线段相互垂直且长度相等;第二线段端点所在线段与另一线段相互平行且长度相等。
图3是本发明实施例提供的终端的示意图。如图3所示,该实施例的终端4包括:处理器40和存储器41。所述存储器41用于存储计算机程序42,所述处理器40用于调用并运行所述存储器41中存储的计算机程序42,执行上述各个几何图形的动态展示方法实施例中的步骤,例如图1所示的S101至S103。或者,所述处理器40用于调用并运行所述存储器41中存储的计算机程序42,实现上述各装置实施例中各模块/单元的功能,例如图2所示模块/单元31至33的功能。
示例性的,所述计算机程序42可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器41中,并由所述处理器40执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序42在所述终端4中的执行过程。例如,所述计算机程序42可以被分割成图2所示的模块/单元31至33。
所述终端4可以是计算机、服务器等计算设备,也可以是手机、平板电脑等移动终端。所述终端4可包括,但不仅限于,处理器40、存储器41。本领域技术人员可以理解,图3仅仅是终端4的示例,并不构成对终端4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端还可以包括输入输出设备、网络接入设备、总线等。
所称处理器40可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器41可以是所述终端4的内部存储单元,例如终端4的硬盘或内存。所述存储器41也可以是所述终端4的外部存储设备,例如所述终端4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器41还可以既包括所述终端4的内部存储单元也包括外部存储设备。所述存储器41用于存储所述计算机程序以及所述终端所需的其他程序和数据。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个几何图形的动态展示方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种几何图形的动态展示方法,其特征在于,包括:
当检测到拖动动作时,确定几何图形中被拖动点的类型,并根据所述被拖动点的类型和所述拖动动作,更新所述被拖动点的信息;
更新所述几何图形中,与所述被拖动点关联的各衍生点的信息;
根据所述几何图形中的所有点更新后的信息,生成更新后的几何图形。
2.根据权利要求1所述的几何图形的动态展示方法,其特征在于,所述根据所述被拖动点的类型和所述拖动动作,更新所述被拖动点的信息,包括:
若所述被拖动点的类型为普通点,则根据所述拖动动作,更新所述被拖动点的坐标信息;其中,普通点可被任意拖动;
若所述被拖动点的类型为圆周点,则根据所述拖动动作,更新所述被拖动点的坐标信息和角度信息;所述角度信息为所述被拖动点和其所在圆的圆心的连线与预设射线之间的夹角;其中,圆周点为圆周上的点,可沿圆周被拖动;
若所述被拖动点的类型为线段上的点,则根据所述拖动动作,更新所述被拖动点的坐标信息和长度比值信息;所述长度比值信息为所述被拖动点到其所在线段起始点的距离与该线段的长度的比值;其中,线段上的点为线段内部或线段延长线上的点,可沿线段被拖动。
3.根据权利要求1所述的几何图形的动态展示方法,其特征在于,所述更新所述几何图形中,与所述被拖动点关联的各衍生点的信息,包括:
对于所述几何图形中,与所述被拖动点关联的每个衍生点,判断该衍生点的附加信息中是否包含无穷远点;若该衍生点的附加信息中包含无穷远点,则将该衍生点的是否为无穷远点的属性信息更新为是无穷远点;若该衍生点的附加信息中不包含无穷远点,则根据该衍生点的附加信息计算并更新该衍生点的信息;
其中,所述根据该衍生点的附加信息计算并更新该衍生点的信息,包括:
当根据该衍生点的附加信息进行计算的结果表明该衍生点不是无穷远点时,更新该衍生点的坐标,并将该衍生点是否为无穷远点的属性信息更新为不是无穷远点;
当根据该衍生点的附加信息进行计算的结果表明该衍生点是无穷远点时,不更新该衍生点的坐标,将该衍生点是否为无穷远点的属性信息更新为是无穷远点。
4.根据权利要求3所述的几何图形的动态展示方法,其特征在于,衍生点的附加信息包含该衍生点的来源信息。
5.根据权利要求1所述的几何图形的动态展示方法,其特征在于,所述几何图形中的所有点的ID按照绘制先后顺序递增;
所述与所述被拖动点关联的各衍生点为ID大于所述被拖动点的ID的衍生点。
6.根据权利要求1所述的几何图形的动态展示方法,其特征在于,所述根据所述几何图形中的所有点更新后的信息,生成更新后的几何图形,包括:
按照点、线段、圆的先后顺序,根据所述几何图形中的所有点更新后的信息,生成更新后的几何图形;
其中,在生成更新后的几何图形的过程中,若某个点为无穷远点,则该点不被绘制出;若某个线段或某个圆依赖的点包含无穷远点,则该线段或该圆不被绘制出。
7.根据权利要求1至6任一项所述的几何图形的动态展示方法,其特征在于,几何图形中的点的信息包括点的ID、点的坐标、点的类型、衍生点类型、点的图形样式、点的标识位置相对于点的位置的横向相对偏移、点的标识位置相对于点的位置的纵向相对偏移、点的标识的文字内容、点的附加信息以及是否是无穷远点;
点的类型包括普通点、圆周临时点和衍生点;
衍生点类型包括圆周点、线段上的点、第一线段端点、两条线段或两条线段的延长线的交点、第二线段端点、垂足、三角形角平分线与对边的交点、线段或线段的延长线与圆弧的交点、两个圆的交点、三角形的内心、三角形的外心、三角形的垂心、三角形的重心和三角形的旁心;所述第一线段端点与第一端点之间的线段和所述第一端点与第二端点之间的线段相互垂直且长度相等;所述第二线段端点所在线段与另一线段相互平行且长度相等。
8.一种几何图形的动态展示装置,其特征在于,包括:
被拖动点信息更新模块,用于当检测到拖动动作时,确定几何图形中被拖动点的类型,并根据所述被拖动点的类型和所述拖动动作,更新所述被拖动点的信息;
衍生点信息更新模块,用于更新所述几何图形中,与所述被拖动点关联的各衍生点的信息;
几何图形更新模块,用于根据所述几何图形中的所有点更新后的信息,生成更新后的几何图形。
9.一种终端,其特征在于,包括处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,执行如权利要求1至7中任一项所述的几何图形的动态展示方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上的权利要求1至7中任一项所述几何图形的动态展示方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310221958.2A CN116204104B (zh) | 2023-03-09 | 2023-03-09 | 几何图形的动态展示方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310221958.2A CN116204104B (zh) | 2023-03-09 | 2023-03-09 | 几何图形的动态展示方法、装置、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116204104A true CN116204104A (zh) | 2023-06-02 |
CN116204104B CN116204104B (zh) | 2023-10-24 |
Family
ID=86512759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310221958.2A Active CN116204104B (zh) | 2023-03-09 | 2023-03-09 | 几何图形的动态展示方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116204104B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070300172A1 (en) * | 2002-04-18 | 2007-12-27 | Sap Ag | Manipulating A Data Source Using A Graphical User Interface |
CN112270641A (zh) * | 2020-10-19 | 2021-01-26 | 深圳砥成科技有限公司 | 几何图形显示方法及装置 |
-
2023
- 2023-03-09 CN CN202310221958.2A patent/CN116204104B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070300172A1 (en) * | 2002-04-18 | 2007-12-27 | Sap Ag | Manipulating A Data Source Using A Graphical User Interface |
CN112270641A (zh) * | 2020-10-19 | 2021-01-26 | 深圳砥成科技有限公司 | 几何图形显示方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116204104B (zh) | 2023-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112035667B (zh) | 一种知识图谱展示方法、装置及终端设备 | |
CN112269830A (zh) | 大数据分析方法、系统、计算机设备及其存储介质 | |
CN112270641A (zh) | 几何图形显示方法及装置 | |
CN111127590B (zh) | 一种二阶贝塞尔曲线绘制方法及装置 | |
CN110851225B (zh) | 可视化展示增量图元动态布局的方法、终端设备及存储介质 | |
CN116204104B (zh) | 几何图形的动态展示方法、装置、终端及存储介质 | |
CN112580213B (zh) | 电场线的显示图像的生成方法和装置、存储介质 | |
CN107103010A (zh) | 可视化数据的处理方法及装置 | |
CN109739859B (zh) | 一种关系图谱绘制方法、系统及相关装置 | |
CN111859931A (zh) | 文本的提取处理方法、装置、终端和存储介质 | |
US10062193B2 (en) | Attribute based map marker clustering | |
JP7047562B2 (ja) | プログラム、情報処理方法、情報端末及び情報処理システム | |
CN107402986B (zh) | 一种多维度数据的可视化展示方法及系统 | |
CN112506976B (zh) | 数据流向的展示方法、装置、电子设备及存储介质 | |
CN105184372A (zh) | 知识网络构建方法及装置 | |
US9317943B2 (en) | Interactive intersection areas | |
CN113362421A (zh) | 地图中导流区的绘制方法、装置和电子设备 | |
JP7151147B2 (ja) | コンピュータプログラム、情報処理方法及びコンピュータ | |
CN112507055B (zh) | 一种基于leaflet实现行政区域聚合的方法及装置 | |
CN115268917B (zh) | 节点结构图构建方法、装置、设备和介质 | |
CN103824310A (zh) | 一种生成光特效文字的方法及装置 | |
CN114067633A (zh) | 钢琴的琴谱标记方法、系统、介质及装置 | |
US10489945B2 (en) | Graphical user interface component to transpose a histogram | |
CN117994544A (zh) | 节点图例识别方法、装置、设备、存储介质及程序产品 | |
CN111611782B (zh) | 一种连接点生成方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |