发布信息

一种用于数字孪生确定线段所在位置的计算方法及系统 专利技术说明

作者:admin      2023-06-29 22:34:26     492



计算;推算;计数设备的制造及其应用技术1.本发明属于数字孪生技术领域,具体地,涉及一种用于数字孪生确定线段所在位置的计算方法及系统。背景技术:2.数字孪生技术是一种综合了高性能计算、先进传感采集、多物理场计算等技术的超现实仿真模拟,它使用多领域多尺度模型、高精度传感数据和多物理场数据来镜像反映实际设备的实时工作状态。3.现有技术中,数字孪生体的数学模型的求解常使用光滑有限元法。而光滑有限元法的计算过程需要确定每条线段所在的单元编号及单元的边编号。这占用了很大一部分的求解计算时间,因此有必要在尽可能少的时间内完成所有线段的位置搜索。目前的线段搜索最常使用的方法为穷举法,将目标线段与所有单元的线段进行一一比较。若采用穷举的方法,与所有四面体单元6条边分别进行比较,从而确定线段所处的单元编号及单元的边编号,穷举法在大规模单元中运算次数多,计算时间长,消耗大量计算资源的问题。在计算两条线段匹配度的改进方法中,其利用两个线段构造一个等效距离这一个判别量来判断两线段是否匹配,但该方法仍然需要遍历所有线段,直至寻找到与待匹配线段相吻合的匹配线段,其本质上仍是采用穷举法,计算时间长。而在基于单端点特征描述的线段匹配方法中,其将线段的一个端点作为主特征点,另一端点作为辅特征点,构建特征描述单元,并将特定的线段方向作为特征单元的参考方向,构建特征描述子从而进行线段匹配,只要两条线段任一端点能够完成匹配,则这两条线段就能完成匹配,但该方法仍需对所有线段的端点进行匹配,消耗计算资源多。技术实现要素:4.为解决现有技术中存在的不足,本发明提供一种用于数字孪生确定线段所在位置的计算方法及系统,大幅减少搜索运算次数,加快线段所在位置的搜索速度。5.本发明采用如下的技术方案。6.一种用于数字孪生确定线段所在位置的计算方法,包括:7.步骤1,对搜索目标中的所有四面体单元进行编号,按照四面体单元的编号顺序对每个四面体单元的点依次进行全局编号;同时在任一四面体单元内,对各点进行局部编号,并且根据点的局部编号依次对四面体单元的六条边进行局部编号;8.步骤2,按照四面体单元编号的顺序,对各点的全局编号进行排列以获得一个6n×2的初始矩阵,其中,n代表四面体单元的数量;9.步骤3,利用四面体单元编号构成第一列向量,利用边的局部编号构成第二列向量,使用第一列向量和第二列向量对初始矩阵进行扩展,获得一个6n×4的扩展矩阵;10.步骤4,按照扩展矩阵中第一列元素从小到大的顺序,调整扩展矩阵各行的顺序,得到搜索矩阵;11.步骤5,获取目标线段中两个点的全局编号,以全局编号小的点作为目标线段的第一节点,计算目标线段的初始位置,在搜索矩阵中确定搜索起始行;12.步骤6,根据第一节点的全局编号与搜索起始行的第一个元素的大小关系,确定搜索方向;根据第一节点的全局编号与当前搜索行的第一个元素的大小关系,确定目标线段所在的四面体单元编号及边的局部编号。13.优选地,步骤1中,每个四面体单元内,点的局部编号顺序以及边的局部编号顺序均一致。14.优选地,步骤2中,将所有四面体单元中局部编号为①的边上的两个点的全局编号,按照四面体单元编号进行排列获得第一序号矩阵;将所有四面体单元中局部编号为②的边上的两个点的全局编号,按照四面体单元编号进行排列获得第二序号矩阵;以此类推;……;直至获得第六序号矩阵;将第一序号矩阵至第六序号矩阵构成一个6n×2的初始矩阵,其中,n代表四面体单元的数量。15.优选地,步骤2中,第一序号矩阵的元素是所有四面体单元的局部编号为1的边上各点的全局编号,第二序号矩阵的元素是所有四面体单元的局部编号为2的边上各点的全局编号,以此类推,第六序号矩阵的元素是所有四面体单元的局部编号为6的边上各点的全局编号。16.优选地,步骤3中,将四面体单元编号按从1至n的顺序排列构成第一列向量的第1至n行元素,再将四面体单元编号按从1至n的顺序排列构成第一列向量的第n+1至2n行元素,以此类推,获得6n×1的第一列向量。17.优选地,步骤3中,利用边的局部编号构成第二列向量,其中第二列向量的第1至n行元素均为1,第n+1至2n行元素为2,以此类推,获得6n×1的第二列向量。18.优选地,搜索起始行h的计算如下式:[0019][0020]式中,[0021]i代表目标线段的第一节点的全局编号,[0022]m代表搜索矩阵第一列的最后一个元素;[0023]若h含有小数,则向上进行取整。[0024]优选地,步骤6中,若目标线段的第一节点的全局编号大于搜索起始行的第一个元素,则进入搜索起始行的上一行进行向上搜索,直至目标线段的第一节点的全局编号小于当前搜索行的第一个元素,记录目标线段所在的四面体单元编号及边的局部编号。[0025]优选地,步骤6中,若目标线段的第一节点的全局编号小于搜索起始行的第一个元素,则进入搜索起始行的下一行进行向下搜索,直至目标线段的第一节点的全局编号大于当前搜索行的第一个元素,记录目标线段所在的四面体单元编号及边的局部编号。[0026]优选地,步骤6中,若目标线段的第一节点的全局编号等于搜索起始行的第一个元素,则同时向搜索起始行的上一行和下一行同时进行搜索,直至目标线段的第一节点的全局编号不等于当前搜索行的第一个元素,记录目标线段所在的四面体单元编号及边的局部编号。[0027]一种用于数字孪生确定线段所在位置的计算系统,包括:编号模块,初始矩阵模块,扩展矩阵模块,搜索矩阵模块,搜索起始行模块,搜索执行模块;[0028]编号模块,用于对搜索目标中的所有四面体单元进行编号,按照四面体单元的编号顺序对每个四面体单元的点依次进行全局编号;同时在任一四面体单元内,对各点进行局部编号,并且根据点的局部编号依次对四面体单元的六条边进行局部编号;[0029]初始矩阵模块,用于按照四面体单元编号的顺序,对各点的全局编号进行排列以获得一个6n×2的初始矩阵,其中,n代表四面体单元的数量;[0030]扩展矩阵模块,用于利用四面体单元编号构成第一列向量,利用边的局部编号构成第二列向量,使用第一列向量和第二列向量对初始矩阵进行扩展,获得一个6n×4的扩展矩阵;[0031]搜索矩阵模块,用于按照扩展矩阵中第一列元素从小到大的顺序,调整扩展矩阵各行的顺序,得到搜索矩阵;[0032]搜索起始行模块,用于获取目标线段中两个点的全局编号,以全局编号小的点作为目标线段的第一节点,计算目标线段的初始位置,在搜索矩阵中确定搜索起始行;[0033]搜索执行模块,用于根据第一节点的全局编号与搜索起始行的第一个元素的大小关系,确定搜索方向;根据第一节点的全局编号与当前搜索行的第一个元素的大小关系,确定目标线段所在的四面体单元编号及边的局部编号。[0034]一种终端,包括处理器及存储介质;存储介质用于存储指令;处理器用于根据所述指令进行操作以执行方法的步骤。[0035]计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现方法的步骤。[0036]本发明的有益效果在于,与现有技术相比,本发明提出了一种快速确定线段所处位置的计算方法,将所有线段构成搜索矩阵,通过计算目标线段在搜索矩阵中的搜索初始位置,确定搜索起始行,并利用线段端点的编号大小,确定搜索方向。通过计算目标线段的搜索初始位置及搜索方向,能够保证搜索起始行与匹配线段位置相近,从而大幅度减少搜索次数,无需遍历所有线段即可完成线段匹配,快速确定线段所处位置。附图说明[0037]图1是本发明提出的一种用于数字孪生确定线段所在位置的计算方法的流程图;[0038]图2是本发明实施例的四面体单元中点编号和边编号示意图;[0039]图3是本发明实施例中初始矩阵的构建顺序的示意图;[0040]图4是本发明实施例中初始矩阵进行扩展以得到扩展矩阵的示意图;[0041]图5是本发明实施例中扩展矩阵中行位置调整的示意图;[0042]图6是本发明实施例中的搜索目标和目标线段的示意图;[0043]图7是本发明实施例中搜索目标内的四面体单元中点编号和边编号示意图。具体实施方式[0044]为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明的技术方案进行清楚、完整地描述。本技术所描述的实施例仅仅是本发明一部分的实施例,而不是全部实施例。基于本发明精神,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明的保护范围。[0045]本发明提出了一种用于数字孪生确定线段所在位置的计算方法,如图1所示,包括:[0046]步骤1,对搜索目标中的所有四面体单元进行编号,按照四面体单元的编号顺序对每个四面体单元的点依次进行全局编号;同时在任一四面体单元内,对各点进行局部编号,并且根据点的局部编号依次对四面体单元的六条边进行局部编号。[0047]步骤1中,每个四面体单元内,点的局部编号顺序以及边的局部编号顺序均一致。[0048]在一个非限制性的较优实施例中,边的局部编号顺序如图2所示,图中1、2、3、4分别为点的局部编号,点1与点2、点3、点4之间的边依次编号为①、②、③,点2与点3、点4之间的边依次编号为④、⑤,点3和点4之间的边编号为⑥。[0049]可见,有n个四面体单元时,每个四面体单元内,点的局部编号是1至4,边的局部编号是1至6。当有1000个节点构成了n个四面体单元时,点的全局编号就是对这1000个节点按1至1000的顺序进行编号而得到的。[0050]步骤2,按照四面体单元编号的顺序,对各点的全局编号进行排列以获得一个6n×2的初始矩阵,其中,n代表四面体单元的数量。[0051]具体地,将所有四面体单元中局部编号为①的边上的两个点的全局编号,按照四面体单元编号进行排列获得第一序号矩阵;将所有四面体单元中局部编号为②的边上的两个点的全局编号,按照四面体单元编号进行排列获得第二序号矩阵;以此类推;……;直至获得第六序号矩阵;将第一序号矩阵至第六序号矩阵构成一个6n×2的初始矩阵。[0052]在一个非限制性的较优实施例中,如图3所示,1号四面体单元的边①上的点1和2(全局编号)在矩阵的第一行,2号四面体单元的边①上的点2和3(全局编号)在矩阵的第二行,……,可见,第一序号矩阵的元素是所有四面体单元的局部编号为1的边上各点的全局编号,第二序号矩阵的元素是所有四面体单元的局部编号为2的边上各点的全局编号,以此类推,第六序号矩阵的元素是所有四面体单元的局部编号为6的边上各点的全局编号。[0053]步骤3,利用四面体单元编号构成第一列向量,利用边的局部编号构成第二列向量,使用第一列向量和第二列向量对初始矩阵进行扩展,获得一个6n×4的扩展矩阵。[0054]具体地,将四面体单元编号按从1至n的顺序排列构成第一列向量的第1至n行元素,再将四面体单元编号按从1至n的顺序排列构成第一列向量的第n+1至2n行元素,以此类推,获得6n×1的第一列向量。[0055]具体地,利用边的局部编号构成第二列向量,其中第二列向量的第1至n行元素均为1,第n+1至2n行元素为2,以此类推,获得6n×1的第二列向量。[0056]在一个非限制性的较优实施例中,如图4所示,第一列向量的第一至六行依次为1至6、第七至十二行依次为1至6,以此类推。第二列向量的第一至六行均为1,第七至十二行均为2,依次类推。[0057]步骤4,按照扩展矩阵中第一列元素从小到大的顺序,调整扩展矩阵各行的顺序,得到搜索矩阵。[0058]具体地,如图5所示,扩展矩阵的第一行为[1,2,1,1],将扩展矩阵中第七行[1,3,1,2]调整至第二行位置,扩展矩阵的原第二行[2,3,2,1]调整至第三行位置,将扩展矩阵第八行[2,4,2,2]调整至第四行位置。[0059]本发明将所有线段构成搜索矩阵。[0060]步骤5,获取目标线段中两个点的全局编号,以全局编号小的点作为目标线段的第一节点,计算目标线段的初始位置,在搜索矩阵中确定搜索起始行。[0061]以下式计算目标线段的初始位置,即在搜索矩阵中确定搜索起始行:[0062][0063]式中,i代表目标线段的第一个节点的编号,m代表搜索矩阵第一列的最后一个元素,若h含有小数,则向上进行取整。其中,h代表目标线段在搜索矩阵的大概行数,从计算出的h开始搜索,会很接近搜索目标,从而实现快速搜索。[0064]本发明通过计算目标线段在搜索矩阵中的搜索初始位置,确定搜索起始行。[0065]步骤6,根据第一节点的全局编号与搜索起始行的第一个元素的大小关系,确定搜索方向;根据第一节点的全局编号与当前搜索行的第一个元素的大小关系,确定目标线段所在的四面体单元编号及边的局部编号。[0066]具体地,若目标线段的第一节点的全局编号大于搜索起始行的第一个元素,则进入搜索起始行的上一行进行向上搜索,直至目标线段的第一节点的全局编号小于当前搜索行的第一个元素,记录目标线段所在的四面体单元编号及边的局部编号。[0067]具体地,若目标线段的第一节点的全局编号小于搜索起始行的第一个元素,则进入搜索起始行的下一行进行向下搜索,直至目标线段的第一节点的全局编号大于当前搜索行的第一个元素,记录目标线段所在的四面体单元编号及边的局部编号。[0068]具体地,若目标线段的第一节点的全局编号等于搜索起始行的第一个元素,则同时向搜索起始行的上一行和下一行同时进行搜索,直至目标线段的第一节点的全局编号不等于当前搜索行的第一个元素,记录目标线段所在的四面体单元编号及边的局部编号。[0069]本发明利用线段端点的编号大小,确定搜索方向。通过计算目标线段的搜索初始位置及搜索方向,能够保证搜索起始行与匹配线段位置相近,从而大幅度减少搜索次数,无需遍历所有线段即可完成线段匹配,快速确定线段所处位置。[0070]以图6所示的搜索目标为例,对目标线段进行搜索,搜索目标包括三个四面体单元。图7是执行步骤1后获得的各边的编号、各点的编号。[0071]图7中编号为1、2、3、4的节点组成第一个四面体单元,编号为2、3、4、5的节点组成第二个四面体单元,编号为2、4、5、6的节点组成第三个四面体单元;第一个四面体单元中的边编号包括:①、②、③、④、⑤和⑥;第二个四面体单元中的边编号包括:和第三个四面体单元的边编号包括:和[0072]执行步骤2获得一个18×2的初始矩阵,如下式所示。[0073][0074]执行步骤3获得18×4的扩展矩阵,如下式所示。[0075][0076]执行步骤4得到搜索矩阵,如下式所示:[0077][0078]执行步骤5,得到由于h=7.2,向上进行取整,所以h=8,即从第八行开始搜索。[0079]执行步骤6,目标线段的第一个节点的编号与第八行的第一个元素进行比较,目标线段的第一个节点的编号与搜索起始行的第一个元素相等,从搜索起始行向上一行和下一行进行搜索,直至第三行、第十二行。记录目标线段所在四面体单元编号及边编号,即第五行的第3、4列元素(3,1)、第六行的第3、4列元素(2,2)、第十一行的第3、4列元素(1,5)。[0080]计算规模越大,本发明提出的方法获得的加速效果越好,如表1所示为不同方法搜索模型所有线段所用时间。[0081]表1穷举法与所提方法效果对比[0082]单元数穷举法搜索时间(/s)所提方法搜索时间(/s)加速比303021.6340.16959.649063213.9040.81717.02301957251.2279.40926.79758972173.91869.67731.2246993815705.61455.23534.5[0083]一种用于数字孪生确定线段所在位置的计算系统,包括:编号模块,初始矩阵模块,扩展矩阵模块,搜索矩阵模块,搜索起始行模块,搜索执行模块;[0084]编号模块,用于对搜索目标中的所有四面体单元进行编号,按照四面体单元的编号顺序对每个四面体单元的点依次进行全局编号;同时在任一四面体单元内,对各点进行局部编号,并且根据点的局部编号依次对四面体单元的六条边进行局部编号;[0085]初始矩阵模块,用于按照四面体单元编号的顺序,对各点的全局编号进行排列以获得一个6n×2的初始矩阵,其中,n代表四面体单元的数量;[0086]扩展矩阵模块,用于利用四面体单元编号构成第一列向量,利用边的局部编号构成第二列向量,使用第一列向量和第二列向量对初始矩阵进行扩展,获得一个6n×4的扩展矩阵;[0087]搜索矩阵模块,用于按照扩展矩阵中第一列元素从小到大的顺序,调整扩展矩阵各行的顺序,得到搜索矩阵;[0088]搜索起始行模块,用于获取目标线段中两个点的全局编号,以全局编号小的点作为目标线段的第一节点,计算目标线段的初始位置,在搜索矩阵中确定搜索起始行;[0089]搜索执行模块,用于根据第一节点的全局编号与搜索起始行的第一个元素的大小关系,确定搜索方向;根据第一节点的全局编号与当前搜索行的第一个元素的大小关系,确定目标线段所在的四面体单元编号及边的局部编号。[0090]本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。[0091]计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其它自由传播的电磁波、通过波导或其它传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。[0092]这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。[0093]用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。[0094]最后应当说明的是,以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部