首页> 中国专利> 相交线跨线曲线的绘制装置、方法、终端及存储介质

相交线跨线曲线的绘制装置、方法、终端及存储介质

摘要

本申请涉一种相交线跨线曲线的绘制装置、方法、终端及存储介质,本申请实施例包括:获取第一线的第一函数表示与第二线的第二函数表示;获取所述第一线与所述第二线的交点坐标;获取跨线值,所述跨线值确定所述跨线曲线的两个端点间的直线距离;若所述第一线与所述第二线均不与坐标轴平行或共线,则根据所述第一函数表示、所述交点坐标与所述跨线值确定第一跨线点与第二跨线点;根据所述第一跨线点与所述第二跨线点绘制跨线曲线;根据本申请实施例的相交线跨线曲线的绘制方法,能够通过两线的函数表示确定两线交点坐标,并结合跨线值确定跨线曲线的两个端点方法简单、计算量低,跨线曲线使图形在显示时更加清晰,提升了用户的视觉体验。

著录项

  • 公开/公告号CN112734879A

    专利类型发明专利

  • 公开/公告日2021-04-30

    原文格式PDF

  • 申请/专利权人 卓望数码技术(深圳)有限公司;

    申请/专利号CN202110007715.X

  • 发明设计人 张世芳;刘岂宇;

    申请日2021-01-05

  • 分类号G06T11/20(20060101);

  • 代理机构44205 广州嘉权专利商标事务所有限公司;

  • 代理人黄广龙

  • 地址 518000 广东省深圳市南山区粤海街道高新区社区高新南七道015号深港产学研基地W601

  • 入库时间 2023-06-19 10:48:02

说明书

技术领域

本发明涉及软件开发领域,尤其涉及一种相交线跨线曲线的绘制装置、方法、终端及存储介质。

背景技术

现有的绘图软件在表示两条线的相交关系时,往往采取直接显示两线相交的方法,并不会对交点进行特殊的显示,而当显示界面相交线数目较多,显示的图形结构较为复杂时,这种相交关系的显示方法将给用户带来观看不便,降低用户的视觉体验。

发明内容

以下是对本文详细描述的主题的概述,本概述并非是为了限制权利要求的保护范围。

本发明实施例的主要目的在于提出一种相交线跨线曲线的绘制装置、方法、终端及存储介质,在显示界面相交线数目较多,显示的图形结构较为复杂时,通过在相交线的交点处绘制跨线曲线,提升了用户的视觉体验。

第一方面,本申请的实施例提供了一种相交线跨线曲线的绘制装置,包括:相交线获取模块,用于获取第一线的第一函数表示与第二线的第二函数表示;交点坐标获取模块,用于计算所述第一线与所述第二线的交点坐标;跨线值获取模块,用于获取跨线值,所述跨线值确定所述跨线曲线的两个端点间的直线距离;跨线点计算模块,用于根据所述跨线值、所述第一函数表示与所述交点坐标确定第一跨线点与第二跨线点;跨线曲线绘制模块,用于根据所述第一跨线点与所述第二跨线点绘制跨线曲线。

根据本发明实施例的相交线跨线曲线的绘制装置,至少具有如下有益效果:通过执行第一方面的相交线跨线曲线的绘制方法,相交线跨线曲线的绘制装置通过两线的函数表示确定两线交点坐标,并结合跨线值确定跨线曲线的两个端点方法简单、计算量低,跨线曲线使图形在显示时更加清晰,提升了用户的视觉体验。

根据本发明的一些实施例,所述跨线值至少为以下之一:系统预设值、用户输入值、系统自动匹配值。

第二方面,本申请的实施例提供了一种相交线跨线曲线的绘制方法,包括:获取第一线的第一函数表示与第二线的第二函数表示;获取所述第一线与所述第二线的交点坐标;获取跨线值,所述跨线值确定所述跨线曲线的两个端点间的直线距离;若所述第一线与所述第二线均不与坐标轴平行或共线,则根据所述第一函数表示、所述交点坐标与所述跨线值确定第一跨线点与第二跨线点;根据所述第一跨线点与所述第二跨线点绘制跨线曲线。

根据本发明实施例的相交线跨线曲线的绘制方法,至少具有如下有益效果:通过两线的函数表示确定两线交点坐标,并结合跨线值确定跨线曲线的两个端点方法简单、计算量低,跨线曲线使图形在显示时更加清晰,提升了用户的视觉体验。

根据本发明的一些实施例,所述方法还包括:若所述第一线或所述第二线与坐标轴X轴平行或共线,则根据所述交点坐标与所述跨线值确定所述第一跨线点与所述第二跨线点。

根据本发明的一些实施例,若所述第一线或所述第二线与坐标轴Y轴平行或共线,则根据所述交点坐标与所述跨线值确定所述第一跨线点与所述第二跨线点。

根据本发明的一些实施例,所述跨线值至少为以下之一:系统预设值、用户输入值、系统自动匹配值。

根据本发明的一些实施例,所述获取所述第一线与所述第二线的交点坐标包括:根据所述第一函数表示获取第一线上的第一坐标点与第二坐标点;根据所述第二函数表述获取第二线上的第三坐标点与第四坐标点;根据所述第一坐标点、所述二坐标点、所述第三坐标点与所述第四坐标点计算所述交点坐标。

根据本发明的一些实施例,所述跨线曲线至少包括以下之一:圆弧、折线、椭圆线。

第三方面,本申请的实施例还提供了一种终端,包括如第一方面实施例所述的相交线跨线曲线的绘制装置。

第四方面,本申请的实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行如上第二方面所述的相交线跨线曲线的绘制方法。

本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

图1为本申请一实施例提供的相交线跨线曲线的绘制方法的流程示意图;

图2为本申请实施例提供的相交线跨线曲线的绘制方法的示意图;

图3为根据本申请实施例提供的相交线跨线曲线的绘制方法获得的跨线曲线示意图;

图4为本申请另一实施例提供的相交线跨线曲线的绘制方法的流程示意图;

图5为本申请一实施例提供的相交线跨线曲线的绘制装置模块示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。

需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

本申请实施例的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本申请实施例中的具体含义。

下面结合附图,对本申请实施例作进一步阐述。

图1为本申请一实施例提供的相交线跨线曲线的绘制方法的流程示意图,本实施例提供的相交线跨线曲线的绘制方法至少包括:

步骤S100:获取第一线的第一函数表示与第二线的第二函数表示。

在一些实施例中,第一线与第二线的函数表示可以直接获得。

在一些实施例中,可通过线上的至少两个坐标点确定线。

此步骤目的在于确定显示界面上的显示的至少两条线,且本申请所有实施例涉及的情况均为第一线与第二线相交,即不涉及两线平行或共线的情况。

因此,在此步骤前,会通过数学方法对两线的位置关系作出判断。应当明确的是,任何能够判断两线位置方法的数学方法均可使用,因此后文实施例中仅示出一种常用的方法进行示例。

步骤S200:获取第一线与第二线的交点坐标。

步骤S300:获取跨线值,跨线值确定跨线曲线的两个端点间的直线距离。

在一些实施例中,跨线值表示跨线曲线的两个端点间的直线距离。

在另一些实施例中,跨线值表示跨线曲线的两个端点间的直线距离的一半。

跨线值可以是系统预设值,也可以是用户输入值,或者是系统根据图形的复杂程度、线条的密集程度等因素自动匹配的值。可以调节的跨线值能够更加合理而人性化的显示跨线曲线,满足用户不同的喜好与需求。

步骤S400:若第一线与第二线均不与坐标轴平行或共线,则根据第一函数表示、交点坐标与跨线值确定第一跨线点与第二跨线点。

在一些实施例中,第一跨线点与第二跨线点是跨线曲线的两个端点,其距离与上一步骤中获取的跨线值相关。

步骤S500:根据第一跨线点与第二跨线点绘制跨线曲线。

在一些实施例中,跨线曲线为圆弧。

本领域技术人员应当知晓,跨线曲线理论上可以为任何曲线,而虚线、箭头曲线等显示方式也在本申请的保护范围之内。

根据本发明上述实施例的相交线跨线曲线的绘制方法,通过两线的函数表示确定两线交点坐标,并结合跨线值确定跨线曲线的两个端点方法简单、计算量低,跨线曲线使图形在显示时更加清晰,提升了用户的视觉体验。

图2为本申请实施例提供的相交线跨线曲线的绘制方法的示意图。如图2所示,A(a.x,a.y)、B(b.x,b.y)两点确定了第一线,C(c.x,c.y)、D(d.x,d.y)两点确定了第二线。

首先判断两条线的位置关系。在本实施例中,采用如下公式进行计算:

Denominator=(b.y-a.y)*(a.x-c.x)-(a.x-b.x)*(c.y-d.y)

如果Denominator计算后等于0,则表示两线平行或共线;如果Denominator计算后不等于0,则表示两线有交点。

当判断两线有交点后,计算两线的交点坐标p(x,y),计算公式如下:

x=((b.x-a.x)*(d.x-c.x)*(c.y-a.y)+(b.y-a.y)*(d.x-c.x)*a.x-(d.y-c.y)*(b.x-a.x)*c.x)/Denominator

y=((b.y-a.y)*(d.y-c.y)*(c.x-a.x)+(b.x-a.x)*(d.y-c.y)*a.y-(d.x-c.x)*(b.y-a.y)*c.y)/Denominator

计算出交点坐标后,判断交点是否在两条线段上,首先使用下述公式判断交点是否在线段1上:

C1=(x-a.x)*(x-b.x)

C2=(y-a.y)*(y-b.y)

如果C1和C2同时满足小于等于0,则表示交点在A、B两点确定的线段上;

同样的方法,判断交点是否在C、D两点确定的线段上:

D1=(x-c.x)*(x-d.x)

D2=(y-c.y)*(y-d.y)

如果D1和D2同时满足小于等于0,则表示交点在C、D两点确定的线段上。

如果交点同时在线段1和线段2上,则判定两线段相交,否则不相交。

当判断两条线之间相互的位置关系后,判断两线与坐标轴的位置关系,使用如下公式计算:

ParallelX=a.y-b.y

ParallelY=a.x-b.x

如果ParallelX=0,则表示线段与x轴平行或者共线;如果ParallelY=0,则表示线段与y轴平行或者共线。

在判断两条线段与坐标轴的位置关系后,获取跨线值m,在本实施例中,m是用户输入的值。

根据图2可知,第一线与第二线相交且均不与坐标轴平行或共线,因此第一跨线点E(e.x,e.y)与第二跨线点F(f.x,f.y)的计算公式如下:

利用正弦定理计算出sin A的值

得到b2,a2的长度,可以计算出跨线点E,F的坐标。

e.x=p.x-a2 e.y=p.y+b2

f.x=p.x+a2 f.y=p.y-b2

得到E,F坐标点,根据E,F坐标点以及跨线值m可以画出跨线曲线。

在本实施例中,跨线曲线为圆弧形曲线,形成的图形如图3所示。

图4为本申请另一实施例提供的相交线跨线曲线的绘制方法的流程示意图,本实施例提供的相交线跨线曲线的绘制方法至少包括:

步骤S100:获取第一线的第一函数表示与第二线的第二函数表示。

在一些实施例中,第一线与第二线的函数表示可以直接获得。

在一些实施例中,可通过线上的至少两个坐标点确定线。

此步骤目的在于确定显示界面上的显示的至少两条线,且本申请所有实施例涉及的情况均为第一线与第二线相交,即不涉及两线平行或共线的情况。

因此,在此步骤前,会通过数学方法对两线的位置关系作出判断。应当明确的是,任何能够判断两线位置方法的数学方法均可使用,因此后文实施例中仅示出一种常用的方法进行示例。

步骤S200:获取第一线与第二线的交点坐标。

步骤S300:获取跨线值,跨线值确定跨线曲线的两个端点间的直线距离。

在一些实施例中,跨线值表示跨线曲线的两个端点间的直线距离。

在另一些实施例中,跨线值表示跨线曲线的两个端点间的直线距离的一半。

跨线值可以是系统预设值,也可以是用户输入值,或者是系统根据图形的复杂程度、线条的密集程度等因素自动匹配的值。可以调节的跨线值能够更加合理而人性化的显示跨线曲线,满足用户不同的喜好与需求。

步骤S410:若第一线或第二线与坐标轴X轴或Y轴中的至少一轴平行或共线时,则根据交点坐标与跨线值确定第一跨线点与所述第二跨线点,则根据交点坐标与跨线值确定第一跨线点与第二跨线点。

在一些实施例中,第一跨线点与第二跨线点是跨线曲线的两个端点,其距离与上一步骤中获取的跨线值相关。

步骤S500:根据第一跨线点与第二跨线点绘制跨线曲线。

在一些实施例中,跨线曲线为椭圆线。

本领域技术人员应当知晓,跨线曲线理论上可以为任何曲线,而虚线、箭头曲线等显示方式也在本申请的保护范围之内。

根据本发明上述实施例的相交线跨线曲线的绘制方法,通过两线的函数表示确定两线交点坐标,并结合跨线值确定跨线曲线的两个端点方法简单、计算量低,跨线曲线使图形在显示时更加清晰,提升了用户的视觉体验。

本申请的实施例提供了相交线跨线曲线的绘制装置,如图5所示,包括:相交线获取模块,用于获取第一线的第一函数表示与第二线的第二函数表示;交点坐标获取模块,用于计算第一线与第二线的交点坐标;跨线值获取模块,用于获取跨线值,跨线值确定跨线曲线的两个端点间的直线距离;跨线点计算模块,用于根据跨线值、第一函数表示与交点坐标确定第一跨线点与第二跨线点;跨线曲线绘制模块,用于根据第一跨线点与第二跨线点绘制跨线曲线。

根据本发明实施例的相交线跨线曲线的绘制装置,通过执行相交线跨线曲线的绘制方法,相交线跨线曲线的绘制装置通过两线的函数表示确定两线交点坐标,并结合跨线值确定跨线曲线的两个端点方法简单、计算量低,跨线曲线使图形在显示时更加清晰,提升了用户的视觉体验。

本申请的实施例还提供了一种终端,至少包括前述的相交线跨线曲线的绘制装置。

本申请的实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行如上所述的相交线跨线曲线的绘制方法。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。

在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号