一种矢量图纸展示方法、系统、装置及存储介质

文档序号:1428784 发布日期:2020-03-17 浏览:12次 >En<

阅读说明:本技术 一种矢量图纸展示方法、系统、装置及存储介质 (Vector drawing display method, system, device and storage medium ) 是由 魏朝凌 于 2019-11-22 设计创作,主要内容包括:本发明属于工程设计技术领域,具体涉及一种矢量图纸展示方法、系统、装置及存储介质。包括获取矢量图纸上连续多个输入点的位置信息以计算出预加载区域;确定出所述预加载区域在矢量图纸上的所述预加载位置;将所述预加载位置对应的数据从ROM加载到RAM中以加速矢量图纸的展示,当所述方法用于PC端时,加强矢量图纸的展示流畅度且降低资源的损耗;当所述方法运用在移动设备上,能够降低CPU的工作强度,提升矢量图纸的展示流畅度的同时降低资源损耗,能让电池续航时间加长。(The invention belongs to the technical field of engineering design, and particularly relates to a vector drawing display method, a vector drawing display system, a vector drawing display device and a vector drawing display storage medium. Acquiring position information of a plurality of continuous input points on a vector drawing to calculate a preloading area; determining the preloading position of the preloading area on a vector drawing; loading the data corresponding to the preloading position into an RAM from an ROM to accelerate the display of a vector drawing, and when the method is used for a PC end, enhancing the display fluency of the vector drawing and reducing the loss of resources; when the method is applied to mobile equipment, the working strength of a CPU can be reduced, the display fluency of a vector drawing is improved, the resource loss is reduced, and the battery endurance time can be prolonged.)

一种矢量图纸展示方法、系统、装置及存储介质

技术领域

本发明属于三维模型漫游技术领域,具体涉及一种矢量图纸展示方法、系统、装置及存储介质。

背景技术

处于图纸查阅便利的考虑,通常会把很多楼层图放置到一张图纸上,然后在高端的PC机上展示。然而需要查阅图纸的人员并不是一直守在PC机旁边,当需要对图纸浏览审查,更希望能够通过随身携带的设备进行实时查阅,例如手机。但是手机RAM很小,需要不断地与ROM进行交换。但如果对所有模型数据都进行交换,势必让CPU过于劳累,既消耗了资源,又让程序运行的不流畅。

因为PC机的CPU性能更强大些,所以流畅度影响不是很大,但资源的消耗依然很大。移动设备CPU性能弱,大模型操作卡顿很明显,资源的消耗让电池电量快速下降。

发明内容

本发明要解决的技术问题在于现有技术中矢量图纸的展示过程,对于CPU性能强大的PC端,虽然流畅度不受影响,但是资源消耗巨大;对于CPU性能较弱的移动设备,查阅过程卡顿明显,资源的严重耗费让电池电量快速下降。

为此,根据第一方面,本发明实施例公开了一种矢量图纸展示方法,包括:

获取矢量图纸上连续多个输入点的位置信息以计算出预加载区域;确定出所述预加载区域在矢量图纸上的所述预加载位置;将所述预加载位置对应的数据从ROM加载到RAM中以加速矢量图纸的展示。

进一步地,所述获取矢量图纸上连续多个输入点的位置信息以计算出预加载区域,具体包括:利用所述多个输入点的位置信息获取多个输入点中当前输入点的当前加速度与当前方向;根据所述当前加速度和消卡常量计算出预移动距离;根据所述方向和所述预移动距离计算出矢量移动距离;获取当前显示区域的顶点数据,并结合矢量移动距离计算出预加载区域。

进一步地,响应于识别所述图形码发起的查询请求,生成与所述图形码对应的数据文件查询列表;通过勾选所述查询列表中的数据文件进行批量或者部分下载;或者进行特定数据文件进行查询或打印,当接收到打印指令时,执行打印指令后对所述特定文件进行标记,并将标记予以显示。

进一步地,通过加权平均法计算出当前加速度和当前方向。

进一步地,所述矢量图纸用四叉树管理以便于确定所述预加载位置。

进一步地,所述四叉树管理包括:将矢量图纸划分成四个象限;根据预选设定单个象限中图形个数的阈值,对划分的每个象限采用递归分割细化象限以便于确定所述预加载位置。

第二方面,本发明实施例提供了一种矢量图纸展示系统,包括:预加载区域计算模块:获取矢量图纸上连续多个输入点的位置信息以计算出预加载区域;预加载位置确定模块:确定出所述预加载区域在矢量图纸上的所述预加载位置;数据记载模块:将所述预加载位置对应的数据从ROM加载到RAM中以加速矢量图纸的展示。

进一步地,第一计算模块:利用所述多个输入点的位置信息获取多个输入点中当前输入点的当前加速度与当前方向;第二计算模块:根据所述加速度和消卡常量计算出预移动距离;第三计算模块:根据所述方向和所述预移动距离计算出矢量移动距离;第四计算模块:获取当前显示区域的顶点数据,并结合矢量移动距离计算出预加载区域。

根据第三方面,本发明提供了一种计算机装置,包括处理器,处理器用于执行存储器中存储的计算机程序实现上述第一方面任意一项的矢量图纸展示方法。

根据第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,处理器用于执行存储介质中存储的计算机程序实现上述第一方面任意一项的矢量图纸展示方法。

本发明的有益效果在于:

本发明实施例公开的一种矢量图纸展示方法,获取矢量图纸上连续多个输入点的位置信息以计算出预加载区域;确定出所述预加载区域在矢量图纸上的所述预加载位置;将所述预加载位置对应的数据从ROM加载到RAM中以加速矢量图纸的展示,当所述方法用于PC端时,加强矢量图纸的展示流畅度且降低资源的损耗;当所述方法运用在移动设备上,能够降低CPU的工作强度,提升矢量图纸的展示流畅度的同时降低资源损耗,能让电池续航时间加长。

附图说明

为了更清楚地说明本发明

具体实施方式

或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例一种矢量图纸展示方法的第一流程图;

图2为本发明实施例通过连续的四个输入点形成的操作趋势示意图;

图3为本发明实施例输入方向上的移动向量示意图;

图4为本发明矢量图纸通过四叉树管理的结构示意图;

图5为本发明实施例一种矢量图纸展示系统的结构示意图;

图6为本发明实施例一种矢量图纸展示方法的第二流程图。

图中标号说明:

1、矢量图纸;2、矢量图纸的当前显示区域;3、矢量图纸的预显示区域;4、矢量图纸的预加载区域;fa、当前输入点的移动方向;p1、第一个输入点;a1、第一个输入点加速度;p2、第二个输入点;a2、第二个输入点加速度;p3、第三个输入点;a3、第三个输入点加速度;p4、当前输入点;a2、当前输入点加速度。

具体实施方式

下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图1,为本实施例公开的矢量图纸展示方法的第一流程图,该用于矢量图纸展示方法包括:

步骤S100,获取矢量图纸上连续多个输入点的位置信息以计算出预加载区域。

在本实施例中,其中多个输入点可根据显示设备的大小进行选择,原则上输入点越多,对下一个输入点的预判会越精确。在此为了便于说明,多个连续输入点以4个点为例,在获取到连续的4个输入点之前,等待用户输入,其中可通过鼠标或者移动设备的手势进行输入,检测到起始输入点之后,记录并等待下一个输入点,直到获取到连续的4个输入点。

参考图6,步骤S100具体包括:

步骤S110、利用所述多个输入点的位置信息获取多个输入点中当前输入点的当前加速度与当前方向;其中位置信息包括输入位置和输入时间,通过当前输入点与记录的前面个点的输入位置和输入时间,利用加权平均法求出当前输入点的当前加速度与当前方向。为了便于理解,多个点仍用4个点进行举例,下面将4个点的分别定义为p1、p2、p3、p4。参考图2,分别计算出当前方向和当前加速度:

1、当前方向计算公式为fd=A*d(p2-p1)+B*d(p3-p2)+C*d(p4-p3),每个点都是一个以齐次坐标(x,y,1)表达的向量(Vector)类型。两个相邻点之间的方向就是两个向量的差,然后再单位化。

2、当前加速度fa=A*a1+B*a2+C*a3。

公式中出现的A/B/C为不同段的权重,一般越靠近当前输入点的段,权重比例越高,在本实施例中,根据反复使用的结果,A的取值范围为0.1~0.3,B的取值范围为0.2~0.4,C的取值为0.4~0.6,优选的A的取值为0.2,B的取值为0.3,C的取值为0.5。当A/B/C的值从不同取值范围中选取时,需要保证A+B+C=1。

步骤S120、根据所述当前加速度和消卡常量计算出预移动距离。

移动距离distance=1/2*fa*t*t,由于通常人眼每秒钟识别的图像变化在24帧左右,也就是1帧需要1/24秒,所以其中消卡常量(用于消除卡顿的常量因子)t为1/24的倍数,才能在实现在人眼不可识别的情况下将图片进行加载。消卡常量取决于卡顿指数,卡顿指数取值范围在1~10,可以通过渲染一帧的时间计算,也可以设置一个固有值,卡顿指数越高,t值就越小,否则容易产生跳帧。

步骤S130、根据所述方向和所述预移动距离计算出矢量移动距离,输入方向上的移动向量为dv=fd*distance,通过将方向和距离相乘,即可获得图像在所计算出的方向上移动计算出来的距离后所在的位置。

步骤S130、获取当前显示区域的顶点数据,并结合矢量移动距离计算出预加载区域。即将显示区域rect’=rect+dv,其中rect为当前显示区域,参考图3,由左下,右下,右上,左上四个点组成。每个点都加上dv,产生新的点,这四个新的点组成新的显示区域即为出预加载区域。

步骤S200,确定出所述预加载区域在矢量图纸上的所述预加载位置。

在本实施例中,所述矢量图纸通过用四叉树管理以便于确定所述预加载位置,所述四叉树管理具体包括首先将矢量图纸划分成四个象限;然后根据预选设定单个象限中图形个数的阈值,最终对划分的每个象限采用递归分割细化象限以便于确定所述预加载位置。具体的,使用四叉树管理整个场景下的图形,根据图纸上的图形空间位置及密度,通过把平面划分成四个象限方式,以四叉树的形势把图形摆放到平面空间不同象限内。密度大的区域,递归的方式细化象限,四叉树的节点层次就多一些。参考图4,图纸上分布着各种图形,其中第四象限密度较大。所以我们对第四象限再次进行分割。以此类推,通过设定每个象限最多图形的个数,递归分割图形个数多的象限。

如此细化是因为图纸是可视化的,在提前加载图纸的过程中,需要在计算机里面找到一种不可见的表达方式管理图纸的数据。但由于图纸是由大量的点及点的序列组成,如何快速找到其中的一个点成为了急需解决的问题,因此需要提供一个数据结构管理这些点,并提供相关的查询方法以便于查询,这里四叉树就是这个数据结构。相较于传统不加管理的方式,只是把点不加管理的方式以无序的方式组成一个链表,就不用每次查找,都需要从第一个点一个一个的查找,提高数据加载的速度,减少卡顿。

步骤S300,将所述预加载位置对应的数据从ROM加载到RAM中以加速矢量图纸的展示。基于CPU处理能力有限,电池电量有限情况下,通过模糊判断用户操作趋势,预先定位用户要浏览的图纸位置,提前加载ROM里的数据到RAM,加速渲染流程,进而为用户快速展示目标图纸。

本发明实施例公开的一种矢量图纸展示方法,所述获取矢量图纸上连续多个输入点的位置信息以计算出预加载区域,具体包括:利用所述多个输入点的位置信息获取多个输入点中当前输入点的当前加速度与当前方向;根据所述当前加速度和消卡常量计算出预移动距离;根据所述方向和所述预移动距离计算出矢量移动距离;获取当前显示区域的顶点数据,并结合矢量移动距离计算出预加载区域,当所述方法用于PC端时,加强矢量图纸的展示流畅度且降低资源的损耗;当所述方法运用在移动设备上,能够降低CPU的工作强度,提升矢量图纸的展示流畅度的同时降低资源损耗,能让电池续航时间加长。

改变传统做法总是显示到哪就到哪加载数据,导致图纸已经操作到位了,可是没有显示出来,用户不知道是否真的操作到位,会继续操作,导致图纸显示更加延迟甚至发生错乱。本发明的方法因为***用户的行为了,提前加载数据帮助加速图纸的显示,用户操作图纸顺畅,而且不容易误操作,提高了用户浏览图纸的效率。

本实施例还公开了一种矢量图纸展示系统,请参考图5,为该矢量图纸展示系统结构示意图,该用于矢量图纸展示系统包括:

预加载区域计算模块:获取矢量图纸上连续多个输入点的位置信息以计算出预加载区域;

预加载位置确定模块:确定出所述预加载区域在矢量图纸上的所述预加载位置;

数据记载模块:将所述预加载位置对应的数据从ROM加载到RAM中以加速矢量图纸的展示。

进一步地,预加载区域计算模块还包括:第一计算模块:利用所述多个输入点的位置信息获取多个输入点中当前输入点的当前加速度与当前方向;第二计算模块:根据所述加速度和消卡常量计算出预移动距离;第三计算模块:根据所述方向和所述预移动距离计算出矢量移动距离;第四计算模块:获取当前显示区域的顶点数据,并结合矢量移动距离计算出预加载区域。

此外,本发明实施例中还提供一种计算机装置,处理器通过执行所述计算机指令,从而实现以下方法:

获取矢量图纸上连续多个输入点的位置信息以计算出预加载区域;确定出所述预加载区域在矢量图纸上的所述预加载位置;将所述预加载位置对应的数据从ROM加载到RAM中以加速矢量图纸的展示。

本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。计算机处理器用于执行存储介质中存储的计算机程序实现以下方法:

获取矢量图纸上连续多个输入点的位置信息以计算出预加载区域;确定出所述预加载区域在矢量图纸上的所述预加载位置;将所述预加载位置对应的数据从ROM加载到RAM中以加速矢量图纸的展示。

以上所述的仅是本发明的实施例,方案中公知的具体结构及特性等常识在此未作过多描述。应当指出,对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进。这些也应该视为本发明的保护范围,这些都不会影响本发明实施的效果和专利的实用性。本申请要求的保护范围应当以其权利要求的内容为准,说明书中的具体实施方式等记载可以用于解释权利要求的内容。

11页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:搜索医学参考图像

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!