CN114492252A - 一种面向重叠网格贡献单元搜索的坐标树空间映射方法 - Google Patents

一种面向重叠网格贡献单元搜索的坐标树空间映射方法 Download PDF

Info

Publication number
CN114492252A
CN114492252A CN202210401218.2A CN202210401218A CN114492252A CN 114492252 A CN114492252 A CN 114492252A CN 202210401218 A CN202210401218 A CN 202210401218A CN 114492252 A CN114492252 A CN 114492252A
Authority
CN
China
Prior art keywords
grid
sub
unit
current
octree
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.)
Pending
Application number
CN202210401218.2A
Other languages
English (en)
Inventor
杨灿群
李超
赵然
郭晓威
吴诚堃
番丝江
张森
刘毅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202210401218.2A priority Critical patent/CN114492252A/zh
Publication of CN114492252A publication Critical patent/CN114492252A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/28Design optimisation, verification or simulation using fluid dynamics, e.g. using Navier-Stokes equations or computational fluid dynamics [CFD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Fluid Mechanics (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请属于数据处理技术领域,涉及一种面向重叠网格贡献单元搜索的坐标树空间映射方法。所述方法包括:遍历重叠网络所有复制子网格以及背景网格,根据复制子网格和背景网格进行八叉树的构建,再对当前时刻进行初始时间步的判断,若当前时刻不是初始时间步,则获取当前子网格的网格单元的中心点,对另一子网格的复制子网格的八叉树结构进行访问,根据当前子网格的网格单元的中心点与变换后的网格边界框进行空间关系计算,利用计算结果和八叉树的层数对当前子网格的网格单元进行遍历,得到当前子网格的网格单元所对应的另一子网格中的对应贡献单元和非贡献单元。采用本方法能够提高贡献单元搜索效率。

Description

一种面向重叠网格贡献单元搜索的坐标树空间映射方法
技术领域
本申请涉及数据处理技术领域,特别是涉及一种面向重叠网格贡献单元搜索的坐标树空间映射方法、计算机设备和存储介质。
背景技术
随着社会科技水平不断发展,流固耦合问题作为航空航天、船舶制造、武器装备发展等重要领域的核心问题之一,伴随计算流体力学的发展,其求解同样得到了分析计算方法上的大幅提高。从航空航天飞行器,到航母潜艇驱逐舰,再到日常的家用汽车工业、个人用小型载具等,流固耦合问题影响着社会生产生活中的方方面面。所以,如何提高流固耦合问题求解的效率以及精确度,是CFD研究中的一个重要组成部分。
然而,目前解决流固耦合问题时主要采用重叠网格法。在实际社会应用中,无论是卫星发射、还是导弹出膛,FSI问题都面临着子网格相对位置发生改变的情况;而对于重叠网格方法来说,这意味着各子区域网格的相对位置也会发生变化。因此,面对此类问题时,每个时间步求解后,子网格相对位置改变,则在下一个时间步流场计算开始前,将会再一次进行挖洞以及确定贡献单元的操作。这意味着,上一个时间步所建立的网格树结构,必须重新构建;所以,无论是理论上的分析,还是以往的具体实验测试中,一旦发生子网格相对位置变化的情况,重叠网格求解中的装配耗时将会大幅上升,而此耗时增量主要来源便是每一步的网格树结构的重构耗时。并且,随着子网格规模的增长,重构耗时也呈快速增长之势,严重影响了整个重叠网格计算的效率,出现的装配时间长、贡献单元搜索耗时长的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高贡献单元搜索效率的一种面向重叠网格贡献单元搜索的坐标树空间映射方法、计算机设备和存储介质。
一种面向重叠网格贡献单元搜索的坐标树空间映射方法,所述方法包括:
获取待搜索的重叠网络;重叠网络包括多个子网格;
对子网格进行初始化,得到带有编号的子网格;带有编号的子网格包括背景网格和非背景网格;
对非背景网格的子网格信息进行复制,得到复制子网格;
遍历重叠网络所有复制子网格以及背景网格,根据复制子网格和背景网格进行八叉树的构建,得到所有复制子网格的所有网格信息和八叉树结构;
对当前时刻进行初始时间步的判断,若当前时刻不是初始时间步,则获取当前子网格的网格单元的中心点,对另一子网格的复制子网格的八叉树结构进行访问,得到复制子网格的多个顶点信息和八叉树的层数;
利用当前子网格所处刚体运动的运动结果和多个顶点信息进行计算,得到变换后的网格边界框;
根据当前子网格的网格单元的中心点与变换后的网格边界框进行空间关系计算,利用计算结果和八叉树的层数对当前子网格的网格单元进行遍历,得到当前子网格的网格单元所对应的另一子网格中的对应贡献单元和非贡献单元。
在其中一个实施例中,若当前时刻是初始时间步,则获取当前子网格的网格单元的中心点,对另一子网格的复制子网格的八叉树结构进行访问,得到八叉树的层数;
根据八叉树的层数、八叉树每层中的节点以及每个节点中的网络单元对当前子网格的网格单元的中心点进行判断,若中心点存在另一子网格的复制子网格的网络单元内部,则标记复制子网格的网络单元为当前子网格的网格单元在另一子网格的复制子网格中的对应贡献单元。
在其中一个实施例中,对另一子网格的复制子网格的八叉树结构进行访问,得到复制子网格的多个顶点信息和八叉树的层数,包括:
对另一子网格的复制子网格的八叉树结构进行访问,得到八叉树的根节点边界框和最值坐标信息;
根据最值坐标信息随机组合生成八个顶点信息。
在其中一个实施例中,运动结果包括位移量、向量和旋转四元数;利用当前子网格所处刚体运动的运动结果和多个顶点信息进行计算,得到变换后的网格边界框,包括:
从复制子网中提取任意四个节点和节点在原始的非背景网格中对应的映射点;四个节点中任意三点不共线;
根据旋转四元素构建旋转矩阵;利用位移量、旋转矩阵、向量、任意四个节点和节点在原始的非背景网格中对应的映射点构建位移量和旋转矩阵的求解方程;
将任意四个节点和节点在原始的非背景网格中对应的映射点作为已知量对求解方程进行求解,得到位移量和旋转矩阵;
根据顶点信息、位移量、向量和旋转矩阵构建顶点映射方程,对顶点映射方程进行求解,得到变换后的网格边界框顶点信息;
利用变换后的网格边界框顶点信息构建变换后的网格边界框。
在其中一个实施例中,利用位移量、旋转矩阵、向量、任意四个节点和节点在原始的非背景网格中对应的映射点构建所述位移量和旋转矩阵的求解方程,包括:
利用位移量、旋转矩阵、向量、任意四个节点和节点在原始的非景网格中对应的映射点构建所述位移量和旋转矩阵的求解方程为
Figure 648774DEST_PATH_IMAGE001
其中,
Figure 538233DEST_PATH_IMAGE002
分别表示复制子网中任意四个节点,
Figure 479644DEST_PATH_IMAGE003
表示向量,
Figure 45623DEST_PATH_IMAGE004
表示旋转矩阵,
Figure 439695DEST_PATH_IMAGE005
表示位移量,
Figure 132845DEST_PATH_IMAGE006
表示
Figure 459921DEST_PATH_IMAGE007
在原始的非景网格中对应的映射点。
在其中一个实施例中,根据顶点信息、位移量、向量和旋转矩阵构建顶点映射方程,对顶点映射方程进行求解,得到变换后的网格边界框顶点信息,包括:
根据顶点信息、位移量、向量和旋转矩阵构建顶点映射方程为
Figure 947534DEST_PATH_IMAGE008
其中,
Figure 78170DEST_PATH_IMAGE010
表示顶点,
Figure 575011DEST_PATH_IMAGE011
表示变换后的网格边界框顶点,k表示顶点的序号。
在其中一个实施例中,根据当前子网格的网格单元的中心点与变换后的网格边界框进行空间关系计算,利用计算结果和八叉树的层数对当前子网格的网格单元进行遍历,得到当前子网格的网格单元所对应的另一子网格中的对应贡献单元和非贡献单元,包括:
计算当前子网格的网格单元的中心点与变换后的网格边界框之间的距离,若当前子网格的网格单元的中心点到变换后的网格边界框任意两平行面的距离差等于变换后的网格边界框中此两平行面间的距离,且中心点不在此两平面上,则标记中心点所在网格单元在另一子网格中不存在对应贡献单元;另一子网格是指不同于当前子网格的子网格。
在其中一个实施例中,若当前子网格的网格单元的中心点到变换后的网格边界框任意两平行面的距离差不等于变换后的网格边界框中此两平行面间的距离,方法还包括:
步骤一:对另一子网格的复制子网格的八叉树结构进行访问,得到八叉树的层数为
Figure 225435DEST_PATH_IMAGE013
,进入寻节点循环;设置变量
Figure 680687DEST_PATH_IMAGE015
步骤二:若
Figure 49351DEST_PATH_IMAGE016
,则跳至步骤六;否则结束当前子步骤,标记中心点所在网格单元在另一子网格中不存在对应贡献单元,遍历当前子网格下一个网格单元;
步骤三:令
Figure 67992DEST_PATH_IMAGE018
。若
Figure 618928DEST_PATH_IMAGE019
为空,则结束当前子步骤,标记中心点所在网格单元在另一子网格中不存在对应贡献单元,遍历当前子网格下一个网格单元;若非空,则跳至步骤四;其中
Figure 245081DEST_PATH_IMAGE021
表示第
Figure 835462DEST_PATH_IMAGE022
层第j个节点的节点序号,
Figure 674105DEST_PATH_IMAGE023
表示序号为H[i-1][j]的节点所包含的网格单元的数组;
步骤四:若节点
Figure 830280DEST_PATH_IMAGE025
的子节点为空,则跳至步骤六;若非空,则跳至步骤五;
Figure 830597DEST_PATH_IMAGE026
表示序号为H[i-1][j]的节点;
步骤五:依次访问节点
Figure 157542DEST_PATH_IMAGE027
的八个子节点
Figure 596614DEST_PATH_IMAGE028
,则可以得到
Figure 76137DEST_PATH_IMAGE029
,其中
Figure 247355DEST_PATH_IMAGE030
;令
Figure 812329DEST_PATH_IMAGE032
,跳至步骤三,其中c表示当前子网格的中心点;
步骤六:遍历
Figure 789512DEST_PATH_IMAGE034
中所有序号所对应的另一子网格中网格单元,若中心点存在另一子网格的复制子网格的网络单元内部,则标记复制子网格的网络单元为当前子网格的网格单元在另一子网格的复制子网格中的对应贡献单元;若不存在,则标记中心点所在网格单元在另一子网格中不存在对应贡献单元,直至遍历完当前子网格的所有网格单元。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取待搜索的重叠网络;重叠网络包括多个子网格;
对子网格进行初始化,得到带有编号的子网格;带有编号的子网格包括背景网格和非背景网格;
对非背景网格的子网格信息进行复制,得到复制子网格;
遍历重叠网络所有复制子网格以及背景网格,根据复制子网格和背景网格进行八叉树的构建,得到所有复制子网格的所有网格信息和八叉树结构;
对当前时刻进行初始时间步的判断,若当前时刻不是初始时间步,则获取当前子网格的网格单元的中心点,对另一子网格的复制子网格的八叉树结构进行访问,得到复制子网格的多个顶点信息和八叉树的层数;
利用当前子网格所处刚体运动的运动结果和多个顶点信息进行计算,得到变换后的网格边界框;
根据当前子网格的网格单元的中心点与变换后的网格边界框进行空间关系计算,利用计算结果和八叉树的层数对当前子网格的网格单元进行遍历,得到当前子网格的网格单元所对应的另一子网格中的对应贡献单元和非贡献单元。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取待搜索的重叠网络;重叠网络包括多个子网格;
对子网格进行初始化,得到带有编号的子网格;带有编号的子网格包括背景网格和非背景网格;
对非背景网格的子网格信息进行复制,得到复制子网格;
遍历重叠网络所有复制子网格以及背景网格,根据复制子网格和背景网格进行八叉树的构建,得到所有复制子网格的所有网格信息和八叉树结构;
对当前时刻进行初始时间步的判断,若当前时刻不是初始时间步,则获取当前子网格的网格单元的中心点,对另一子网格的复制子网格的八叉树结构进行访问,得到复制子网格的多个顶点信息和八叉树的层数;
利用当前子网格所处刚体运动的运动结果和多个顶点信息进行计算,得到变换后的网格边界框;
根据当前子网格的网格单元的中心点与变换后的网格边界框进行空间关系计算,利用计算结果和八叉树的层数对当前子网格的网格单元进行遍历,得到当前子网格的网格单元所对应的另一子网格中的对应贡献单元和非贡献单元。
上述一种面向重叠网格贡献单元搜索的坐标树空间映射方法、计算机设备和存储介质,本申请基于八叉树搜索,将子网格的多个顶点通过坐标映射到初始八叉树中进行贡献单元的搜索,在不同时间步中不需要重新构建八叉树,减少由于子网格相对位置改变所造成的树重构耗时,从而提高了重叠网格贡献单元搜索效率。
附图说明
图1为一个实施例中一种面向重叠网格贡献单元搜索的坐标树空间映射方法的流程示意图;
图2为一个实施例中贡献单元的示意图;
图3为一个实施例中在刚体运动中通过坐标树映射后的网格单元的示意图;
图4为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种面向重叠网格贡献单元搜索的坐标树空间映射方法,包括以下步骤:
步骤102,获取待搜索的重叠网络;重叠网络包括多个子网格;对子网格进行初始化,得到带有编号的子网格;带有编号的子网格包括背景网格和非背景网格。
在飞行器的机翼、机体表面等进行流固耦合仿真时通过网格表示机体表面流过流场的一些信息,这些信息包括流场中的压力、流速等重要物理值的载体,因此本实施例通过对重叠网格进行处理可以更快的确定飞行器的机翼、机体表面的流体情况,比如流体载荷的分布和大小。
非背景网格是指刚体外网格,背景网格和非背景网格互为接收方和传递源,子网格是指在重叠网格区域中具有合适的相对尺寸、方位、长宽比和偏斜率的子区域网格。如图2所示,中间不规则旋转样式的方框为接收方单元,黑色框为传递源单元,采用单元中心点位于接收方单元空间内的传递源单元作为此接收方单元的贡献单元,反之亦然。所以,判断传递源单元的中心点是否在接收方单元的内部空间范围内,并且确定接收方单元的准确序号,是确定贡献单元阶段的关键所在。因此,针对任意一个传递源单元,都需要对中间不规则旋转样式的方框所有单元进行遍历来确定两者的相对位置关系。对于大规模网格,传统的线性搜索遍历的方法效率低,本申请采用八叉树结构进行网格搜索。
步骤104,对非背景网格的子网格信息进行复制,得到复制子网格;遍历重叠网络所有复制子网格以及背景网格,根据复制子网格和背景网格进行八叉树的构建,得到所有复制子网格的所有网格信息和八叉树结构。
对于初始时间步,需要构建初始八叉树,复制所有非背景网格的子网格信息(此处预设背景网格不发生相对运动),遍历所有复制子网格以及背景网格,并同时对复制子网格和背景网格执行以下子步骤:(原始非背景子网格不进行相应建树工作)
S1:生成一个当前子网格外边界的AABB。AABB是一个各边均平行于笛卡尔坐标轴的长方体,其八个顶点坐标由当前子网格在三个坐标轴上的最值点
Figure 107230DEST_PATH_IMAGE036
Figure 714929DEST_PATH_IMAGE037
排列组合而成,并设置变量
Figure 563936DEST_PATH_IMAGE038
Figure 16914DEST_PATH_IMAGE040
S2:根据当前子网格规模,设定一个合适的八叉树层数
Figure 267767DEST_PATH_IMAGE041
S3:建立一个节点类Node,其拥有自身序号信息、父节点序号信息(初始值为空)、子节点序号信息(初始值为空),以及边界框信息。其中,边界框信息包含边界框(平行于三个坐标轴的长方体)在三个坐标轴的最值点数据,第
Figure 46367DEST_PATH_IMAGE042
号节点表示为
Figure 405558DEST_PATH_IMAGE043
;其边界框数据表示为
Figure 724544DEST_PATH_IMAGE044
Figure 33166DEST_PATH_IMAGE045
;其构成的边界框长方体表示为
Figure 717088DEST_PATH_IMAGE046
S4:设置双重数组
Figure 275108DEST_PATH_IMAGE047
,用来存储每个节点中的网格单元序号;设置双重数组
Figure 335468DEST_PATH_IMAGE048
,用来存储每个层级中的节点序号,同时满足,
Figure 747864DEST_PATH_IMAGE049
的容量
Figure 665004DEST_PATH_IMAGE050
S5:进入八叉树构建循环,设置变量
Figure 179162DEST_PATH_IMAGE051
S6:判断
Figure 43213DEST_PATH_IMAGE052
的大小,若
Figure 60848DEST_PATH_IMAGE053
,则跳至S7;若
Figure 866999DEST_PATH_IMAGE054
,则跳至步骤S8;否则跳至步骤S9。
S7:设定
Figure 602873DEST_PATH_IMAGE055
的容量
Figure 5036DEST_PATH_IMAGE057
为1,生成八叉树根节点
Figure 877177DEST_PATH_IMAGE059
;设定
Figure 401699DEST_PATH_IMAGE060
的容量
Figure 874138DEST_PATH_IMAGE061
为当前子网格中所有网格单元的数量,并将当前子网格中所有网格单元的序号信息存入
Figure 814412DEST_PATH_IMAGE063
,同时,令
Figure 806639DEST_PATH_IMAGE064
;令
Figure 502062DEST_PATH_IMAGE065
。跳至步骤S6。
S8:进入父子构建循环,设置变量
Figure 681371DEST_PATH_IMAGE066
S801:若
Figure 940183DEST_PATH_IMAGE068
小于
Figure 318074DEST_PATH_IMAGE069
的容量
Figure 856503DEST_PATH_IMAGE071
,则跳至步骤S802;否则,
Figure 54266DEST_PATH_IMAGE072
,并结束此循环,跳至步骤S807;
S802:判断
Figure 398660DEST_PATH_IMAGE073
是否为空;
S803:若为空,则
Figure 614747DEST_PATH_IMAGE074
,返回步骤S801;若非空,则跳至步骤S804;
S804:扩充
Figure 324077DEST_PATH_IMAGE076
的容量
Figure 9136DEST_PATH_IMAGE077
,生成八个新节点,标记其为节点
Figure 360483DEST_PATH_IMAGE078
的子节点,其序号依次为
Figure 978546DEST_PATH_IMAGE079
。同时也将八个新节点的父节点标记为
Figure 639203DEST_PATH_IMAGE080
。同时有
Figure 280400DEST_PATH_IMAGE081
Figure 169859DEST_PATH_IMAGE082
1;
S805:令
Figure 908008DEST_PATH_IMAGE083
。则点
Figure 224719DEST_PATH_IMAGE085
可以将长方体
Figure 868059DEST_PATH_IMAGE087
分为八个子长方体边界框,依
Figure 295630DEST_PATH_IMAGE089
三方向坐标轴增长顺序,将此八个子长方体边界框信息依次存入
Figure 606394DEST_PATH_IMAGE090
中;
S806:依次遍历
Figure 94007DEST_PATH_IMAGE091
中所有序号指向的网格单元。对于当前网格单元上的任意网格点
Figure 224643DEST_PATH_IMAGE093
,若
Figure 252642DEST_PATH_IMAGE094
,其中
Figure 637487DEST_PATH_IMAGE095
。则扩充
Figure 358318DEST_PATH_IMAGE096
的容量
Figure 461403DEST_PATH_IMAGE097
,并将当前网格单元序号存入
Figure 496356DEST_PATH_IMAGE098
。若此过程中不存在任意
Figure 250554DEST_PATH_IMAGE099
属于某一
Figure 142286DEST_PATH_IMAGE101
,则
Figure 732668DEST_PATH_IMAGE102
为空,遍历结束,
Figure 305732DEST_PATH_IMAGE103
,返回步骤S801;
S9:若未遍历完所有复制子网格(包括背景网格),则依次访问下一复制子网格,并跳至步骤S1;若结束遍历,保存所有复制子网格(包括背景网格)的所有网格信息以及八叉树结构。
步骤106,对当前时刻进行初始时间步的判断,若当前时刻不是初始时间步,则获取当前子网格的网格单元的中心点,对另一子网格的复制子网格的八叉树结构进行访问,得到复制子网格的多个顶点信息和八叉树的层数。
对当前时刻进行初始时间步的判断,不是初始时间步,则不需要构建八叉树,获取当前子网格的网格单元的中心点,同时对另一子网格的复制子网格的八叉树结构进行访问,得到八叉树的根节点边界框
Figure 727486DEST_PATH_IMAGE105
和八叉树的最值坐标信息
Figure 993382DEST_PATH_IMAGE106
Figure 54748DEST_PATH_IMAGE107
Figure 493819DEST_PATH_IMAGE108
,然后依次生成八个顶点信息
Figure 707763DEST_PATH_IMAGE110
Figure 144560DEST_PATH_IMAGE111
Figure 506272DEST_PATH_IMAGE112
Figure 155559DEST_PATH_IMAGE113
Figure 551905DEST_PATH_IMAGE114
Figure 408872DEST_PATH_IMAGE116
Figure 195562DEST_PATH_IMAGE117
Figure 914119DEST_PATH_IMAGE118
步骤108,利用当前子网格所处刚体运动的运动结果和多个顶点信息进行计算,得到变换后的网格边界框。
从复制子网格A上提取的任意四点
Figure 164972DEST_PATH_IMAGE119
,要求
Figure 677993DEST_PATH_IMAGE120
任意三点不共线。因为刚体运动后的原始子网格A与复制子网格A上的几何序号信息没有变化,所以取原始子网格A中与
Figure 466826DEST_PATH_IMAGE122
对应的四点
Figure 785812DEST_PATH_IMAGE123
,若当前子网格所处刚体运动是在预定方程下进行,则可通过预设值得到位移量
Figure 828855DEST_PATH_IMAGE124
和旋转四元数
Figure 575094DEST_PATH_IMAGE126
,其中
Figure 70797DEST_PATH_IMAGE128
正值为逆时针旋转弧度,向量
Figure 396736DEST_PATH_IMAGE129
为经过点
Figure 356602DEST_PATH_IMAGE130
的旋转轴,若刚体运动轨迹方程未知或者刚体运动受流场干扰,设置未知变量:位移量
Figure 460693DEST_PATH_IMAGE132
、旋转四元数
Figure 771589DEST_PATH_IMAGE134
和向量
Figure 370060DEST_PATH_IMAGE136
,通过
Figure 184432DEST_PATH_IMAGE137
四点的前后关系,再结合位移和旋转计算公式,可以求解得到位移量
Figure 741316DEST_PATH_IMAGE138
和旋转四元数
Figure 211611DEST_PATH_IMAGE139
的具体数值,根据已知的位移量、旋转四元数和任意一个顶点构建变换后的网格边界框的顶点映射方程,得到变换后的网格边界框的所有顶点,变换后的网格边界框的所有顶点能够构建变换后的网格边界框,通过构建顶点映射方程,将复制子网格的顶点映射到初始八叉树的坐标树结构中,即将运动后的坐标信息映射为初始状态下的坐标信息,贡献单元计算过程中便可以使用初始时间步中所建立的树结构,而不用重复进行树构建,这将会大幅降低树重构耗时,从而提高了重叠网格贡献单元搜索效率。
步骤110,根据当前子网格的网格单元的中心点与变换后的网格边界框进行空间关系计算,利用计算结果和八叉树的层数对当前子网格的网格单元进行遍历,得到当前子网格的网格单元所对应的另一子网格中的对应贡献单元和非贡献单元。
空间关系是指当前子网格的网格单元的中心点到变换后的网格边界框任意两平行面的距离差与变换后的网格边界框中此两平行面间的距离是否相等,然后根据算结果和八叉树的层数对当前子网格的网格单元进行遍历,得到当前子网格的网格单元所对应的另一子网格中的对应贡献单元和非贡献单元。
上述一种面向重叠网格贡献单元搜索的坐标树空间映射方法中,本申请基于八叉树搜索,将子网格的多个顶点通过坐标映射到初始八叉树中进行贡献单元的搜索,在不同时间步中不需要重新构建八叉树,减少由于子网格相对位置改变所造成的树重构耗时,从而提高了重叠网格贡献单元搜索效率。
在其中一个实施例中,若当前时刻是初始时间步,则获取当前子网格的网格单元的中心点,对另一子网格的复制子网格的八叉树结构进行访问,得到八叉树的层数;
根据八叉树的层数、八叉树每层中的节点以及每个节点中的网络单元对当前子网格的网格单元的中心点进行判断,若中心点存在另一子网格的复制子网格的网络单元内部,则标记复制子网格的网络单元为当前子网格的网格单元在另一子网格的复制子网格中的对应贡献单元。
若当前时刻是初始时间步或者A子网格为背景网格,为确定与B子网格上的网格点所对应的A子网格上的贡献单元,对于B子网格中的任意网格单元
Figure 410511DEST_PATH_IMAGE141
,具体按照以下子步骤执行:
S11:求取当前B子网格单元
Figure 531920DEST_PATH_IMAGE142
的中心点
Figure 259705DEST_PATH_IMAGE144
S12:访问复制A子网格的八叉树(背景网格直接访问原始网格八叉树),其层数为
Figure 14034DEST_PATH_IMAGE146
,进入寻节点循环。设置变量
Figure 219887DEST_PATH_IMAGE147
S13:若
Figure 8852DEST_PATH_IMAGE149
,则跳至S14;若
Figure 376379DEST_PATH_IMAGE150
,则跳至S18;否则结束当前子步骤,标记点
Figure 883584DEST_PATH_IMAGE151
所在网格单元
Figure 142396DEST_PATH_IMAGE152
在A子网格上不存在对应贡献单元,遍历B子网格下一个网格单元。
S14:判断点
Figure 723550DEST_PATH_IMAGE154
是否在节点
Figure 589875DEST_PATH_IMAGE155
的边界框
Figure 256480DEST_PATH_IMAGE156
内。若在内部,则
Figure 866452DEST_PATH_IMAGE158
,跳至S15;否则结束当前子步骤,标记点
Figure 833271DEST_PATH_IMAGE160
所在网格单元
Figure 791869DEST_PATH_IMAGE162
在A子网格上不存在对应贡献单元,遍历B子网格下一个网格单元。
S15:若
Figure 273666DEST_PATH_IMAGE163
为空,则结束当前子步骤,标记点
Figure 359434DEST_PATH_IMAGE165
所在网格单元
Figure 977497DEST_PATH_IMAGE162
在A子网格上不存在对应贡献单元,遍历B子网格下一个网格单元。若非空,则跳至S16。
S16:若节点
Figure 123307DEST_PATH_IMAGE166
的子节点为空,则跳至步骤S18;若非空,则跳至S17。
S17:依次访问节点
Figure 764504DEST_PATH_IMAGE167
的八个子节点
Figure 716280DEST_PATH_IMAGE168
,则可以得到
Figure 375800DEST_PATH_IMAGE169
,其中
Figure 958091DEST_PATH_IMAGE170
。令
Figure 148901DEST_PATH_IMAGE171
,跳至S15。
S18:遍历
Figure 576471DEST_PATH_IMAGE172
中所有序号所对应的A子网格中网格单元,若其中存在网格单元
Figure 169127DEST_PATH_IMAGE174
,使得点
Figure 656740DEST_PATH_IMAGE176
位于
Figure 69267DEST_PATH_IMAGE174
内部,则标记
Figure 815375DEST_PATH_IMAGE177
Figure 200220DEST_PATH_IMAGE178
在A子网格中的对应贡献单元。若不存在,则标记点
Figure 921051DEST_PATH_IMAGE180
所在网格单元
Figure 289715DEST_PATH_IMAGE181
在A子网格上不存在对应贡献单元。
S19:结束当前子步骤,遍历B子网格下一个网格单元,直至遍历B子网格所有网格单元。
在其中一个实施例中,对另一子网格的复制子网格的八叉树结构进行访问,得到复制子网格的多个顶点信息和八叉树的层数,包括:
对另一子网格的复制子网格的八叉树结构进行访问,得到八叉树的根节点边界框和最值坐标信息;
根据最值坐标信息随机组合生成八个顶点信息。
在其中一个实施例中,运动结果包括位移量、向量和旋转四元数;利用当前子网格所处刚体运动的运动结果和多个顶点信息进行计算,得到变换后的网格边界框,包括:
从复制子网中提取任意四个节点和节点在原始的非背景网格中对应的映射点;四个节点中任意三点不共线;
根据旋转四元素构建旋转矩阵;利用位移量、旋转矩阵、向量、任意四个节点和节点在原始的非背景网格中对应的映射点构建位移量和旋转矩阵的求解方程;
将任意四个节点和节点在原始的非背景网格中对应的映射点作为已知量对求解方程进行求解,得到位移量和旋转矩阵;
根据顶点信息、位移量、向量和旋转矩阵构建顶点映射方程,对顶点映射方程进行求解,得到变换后的网格边界框顶点信息;
利用变换后的网格边界框顶点信息构建变换后的网格边界框。
在其中一个实施例中,利用位移量、旋转矩阵、向量、任意四个节点和节点在原始的非背景网格中对应的映射点构建所述位移量和旋转矩阵的求解方程,包括:
利用位移量、旋转矩阵、向量、任意四个节点和节点在原始的非景网格中对应的映射点构建所述位移量和旋转矩阵的求解方程为
Figure 59088DEST_PATH_IMAGE182
其中,
Figure 360757DEST_PATH_IMAGE184
分别表示复制子网中任意四个节点,
Figure 439440DEST_PATH_IMAGE185
表示向量,
Figure 826559DEST_PATH_IMAGE186
表示旋转矩阵,
Figure 665202DEST_PATH_IMAGE188
表示位移量,
Figure 24639DEST_PATH_IMAGE189
表示
Figure 87273DEST_PATH_IMAGE190
在原始的非景网格中对应的映射点。
在其中一个实施例中,根据顶点信息、位移量、向量和旋转矩阵构建顶点映射方程,对顶点映射方程进行求解,得到变换后的网格边界框顶点信息,包括:
根据顶点信息、位移量、向量和旋转矩阵构建顶点映射方程为
Figure 899371DEST_PATH_IMAGE191
其中,
Figure 72864DEST_PATH_IMAGE192
表示顶点,
Figure 801654DEST_PATH_IMAGE193
表示变换后的网格边界框顶点,k表示顶点的序号。
在其中一个实施例中,根据当前子网格的网格单元的中心点与变换后的网格边界框进行空间关系计算,利用计算结果和八叉树的层数对当前子网格的网格单元进行遍历,得到当前子网格的网格单元所对应的另一子网格中的对应贡献单元和非贡献单元,包括:
计算当前子网格的网格单元的中心点与变换后的网格边界框之间的距离,若当前子网格的网格单元的中心点到变换后的网格边界框任意两平行面的距离差等于变换后的网格边界框中此两平行面间的距离,且中心点不在此两平面上,则标记中心点所在网格单元在另一子网格中不存在对应贡献单元;另一子网格是指不同于当前子网格的子网格。
在其中一个实施例中,若当前子网格的网格单元的中心点到变换后的网格边界框任意两平行面的距离差不等于变换后的网格边界框中此两平行面间的距离,方法还包括:
步骤一:对另一子网格的复制子网格的八叉树结构进行访问,得到八叉树的层数为
Figure 972872DEST_PATH_IMAGE195
,进入寻节点循环;设置变量
Figure 334584DEST_PATH_IMAGE197
步骤二:若
Figure 249450DEST_PATH_IMAGE199
,则跳至步骤六;否则结束当前子步骤,标记中心点所在网格单元在另一子网格中不存在对应贡献单元,遍历当前子网格下一个网格单元;
步骤三:令
Figure 645796DEST_PATH_IMAGE201
。若
Figure 253495DEST_PATH_IMAGE202
为空,则结束当前子步骤,标记中心点所在网格单元在另一子网格中不存在对应贡献单元,遍历当前子网格下一个网格单元;若非空,则跳至步骤四;其中
Figure 23874DEST_PATH_IMAGE204
表示第
Figure 804748DEST_PATH_IMAGE205
层第j个节点的节点序号,
Figure 993284DEST_PATH_IMAGE206
表示序号为H[i-1][j]的节点所包含的网格单元的数组;
步骤四:若节点
Figure 771884DEST_PATH_IMAGE207
的子节点为空,则跳至步骤六;若非空,则跳至步骤五;
Figure 842608DEST_PATH_IMAGE209
表示序号为H[i-1][j]的节点;
步骤五:依次访问节点
Figure 99277DEST_PATH_IMAGE211
的八个子节点
Figure 204637DEST_PATH_IMAGE212
,则可以得到
Figure 403406DEST_PATH_IMAGE213
,其中
Figure 164688DEST_PATH_IMAGE214
;令
Figure 21786DEST_PATH_IMAGE215
,跳至步骤三,其中c表示当前子网格的中心点;
步骤六:遍历
Figure 184914DEST_PATH_IMAGE217
中所有序号所对应的另一子网格中网格单元,若中心点存在另一子网格的复制子网格的网络单元内部,则标记复制子网格的网络单元为当前子网格的网格单元在另一子网格的复制子网格中的对应贡献单元;若不存在,则标记中心点所在网格单元在另一子网格中不存在对应贡献单元,直至遍历完当前子网格的所有网格单元。
若当前时刻不是初始时间步且A子网格不是背景网格,两两遍历所有子网格,为确定与B子网格上的网格点所对应的A子网格上的贡献单元,对于B子网格中的任意网格单元
Figure 102054DEST_PATH_IMAGE219
,具体按照以下子步骤执行:
S21:求取当前B子网格单元
Figure 350633DEST_PATH_IMAGE219
的中心点
Figure 198372DEST_PATH_IMAGE221
;访问复制A子网格的八叉树,得到其根节点边界框
Figure 481586DEST_PATH_IMAGE222
,得到其最值坐标信息
Figure 772890DEST_PATH_IMAGE223
Figure 305502DEST_PATH_IMAGE224
Figure 707665DEST_PATH_IMAGE225
S22:依次生成八个顶点信息
Figure 642123DEST_PATH_IMAGE226
Figure 353596DEST_PATH_IMAGE227
Figure 311188DEST_PATH_IMAGE228
Figure 579358DEST_PATH_IMAGE229
Figure 306005DEST_PATH_IMAGE230
Figure 735850DEST_PATH_IMAGE232
=(
Figure 446317DEST_PATH_IMAGE233
)、
Figure 439549DEST_PATH_IMAGE234
=(
Figure 83020DEST_PATH_IMAGE236
)、
Figure 887028DEST_PATH_IMAGE238
=(
Figure 819212DEST_PATH_IMAGE239
)。
S23:从复制子网格A上提取的任意四点
Figure 429185DEST_PATH_IMAGE240
,要求
Figure 864846DEST_PATH_IMAGE241
任意三点不共线。因为刚体运动后的原始子网格A与复制子网格A上的几何序号信息没有变化,所以取原始A子网格中与
Figure 902072DEST_PATH_IMAGE243
对应的四点
Figure 570819DEST_PATH_IMAGE244
S24:若当前子网格所处刚体运动是在预定方程下进行则可通过预设值得到位移量
Figure 922166DEST_PATH_IMAGE246
和旋转四元数
Figure 477913DEST_PATH_IMAGE247
,其中
Figure 686040DEST_PATH_IMAGE249
正值为逆时针旋转弧度,向量
Figure 327237DEST_PATH_IMAGE250
为经过未知点
Figure 279012DEST_PATH_IMAGE251
的旋转轴,跳至S26。若刚体运动轨迹方程未知或者刚体运动受流场干扰,则跳至S25。
S25:对于任意刚体运动,不论中间具体运动过程,都可以将最终运动结果视为一个总的位移和旋转的叠加。设定未知变量:位移量
Figure 938533DEST_PATH_IMAGE253
和旋转四元数
Figure 520824DEST_PATH_IMAGE254
,和向量
Figure 711634DEST_PATH_IMAGE255
,则通过
Figure 139204DEST_PATH_IMAGE256
四点的前后关系,再结合位移和旋转计算公式,可以得到
Figure 731859DEST_PATH_IMAGE257
其中,旋转矩阵
Figure 219473DEST_PATH_IMAGE258
由此,可以求解得到位移量
Figure 84529DEST_PATH_IMAGE259
、旋转四元数
Figure 378107DEST_PATH_IMAGE260
Figure 28531DEST_PATH_IMAGE262
的具体数值。
S26:对于S22中生成的任意顶点
Figure 687046DEST_PATH_IMAGE263
Figure 790131DEST_PATH_IMAGE264
。代入方程
Figure 621821DEST_PATH_IMAGE265
如图3所示,得到变换后的网格边界框的顶点
Figure 641598DEST_PATH_IMAGE266
S27:计算点
Figure 471014DEST_PATH_IMAGE268
与变换后的网格边界框的空间关系。若
Figure 858133DEST_PATH_IMAGE268
到边界框任意两平行面的距离差等于边界框此两平行面间的距离,且
Figure 431197DEST_PATH_IMAGE270
不在此两平面上,则结束当前子步骤,标记点
Figure 852951DEST_PATH_IMAGE272
所在网格单元
Figure 118847DEST_PATH_IMAGE273
在A子网格上不存在对应贡献单元,遍历B子网格下一个网格单元。否则,进入S28。
S28:如图3所示,计算出点
Figure 203651DEST_PATH_IMAGE275
到面
Figure 377143DEST_PATH_IMAGE276
的距离
Figure 856666DEST_PATH_IMAGE277
,点
Figure 27884DEST_PATH_IMAGE279
到面
Figure 592858DEST_PATH_IMAGE280
的距离
Figure 570041DEST_PATH_IMAGE282
,点
Figure 887759DEST_PATH_IMAGE284
到面
Figure 292195DEST_PATH_IMAGE286
的距离
Figure 78886DEST_PATH_IMAGE287
。令点
Figure 859760DEST_PATH_IMAGE288
S29:访问复制A子网格的八叉树(背景网格直接访问原始网格八叉树),其层数为
Figure 48296DEST_PATH_IMAGE290
,进入寻节点循环。设置变量
Figure 561317DEST_PATH_IMAGE291
S210:若
Figure 897620DEST_PATH_IMAGE292
,则跳至S23;若
Figure 403557DEST_PATH_IMAGE294
,则跳至S214;否则结束当前子步骤,标记点
Figure 508916DEST_PATH_IMAGE296
所在网格单元
Figure 458417DEST_PATH_IMAGE298
在A子网格上不存在对应贡献单元,遍历B子网格下一个网格单元。
S211:令
Figure 219700DEST_PATH_IMAGE300
。若
Figure 76797DEST_PATH_IMAGE301
为空,则结束当前子步骤,标记点
Figure 974346DEST_PATH_IMAGE303
所在网格单元
Figure 609596DEST_PATH_IMAGE304
在A子网格上不存在对应贡献单元,遍历B子网格下一个网格单元。若非空,则跳至S212;其中
Figure 654912DEST_PATH_IMAGE305
表示第
Figure 253384DEST_PATH_IMAGE307
层第j个节点的节点序号,
Figure 333335DEST_PATH_IMAGE308
表示序号为H[i-1][j]的节点所包含的网格单元的数组。
S212:若节点
Figure 359060DEST_PATH_IMAGE309
的子节点为空,则跳至S214;若非空,则跳至步骤S213。
S213:依次访问节点
Figure 94935DEST_PATH_IMAGE310
的八个子节点
Figure 559414DEST_PATH_IMAGE311
,则可以得到
Figure 680823DEST_PATH_IMAGE312
,其中
Figure 939766DEST_PATH_IMAGE313
。令
Figure 162937DEST_PATH_IMAGE314
,跳至S211。
S214:遍历
Figure 103211DEST_PATH_IMAGE315
中所有序号所对应的A子网格中网格单元,若其中存在网格单元
Figure 892176DEST_PATH_IMAGE317
,使得点
Figure 525282DEST_PATH_IMAGE319
位于
Figure 32487DEST_PATH_IMAGE317
内部,则标记
Figure 760140DEST_PATH_IMAGE317
Figure 872453DEST_PATH_IMAGE320
在A子网格中的对应贡献单元。若不存在,则标记点
Figure 473199DEST_PATH_IMAGE322
所在网格单元
Figure 405382DEST_PATH_IMAGE320
在A子网格上不存在对应贡献单元。
S215:结束当前子步骤,遍历B子网格下一个网格单元,直至遍历完B子网格的所有网格单元。
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种面向重叠网格贡献单元搜索的坐标树空间映射方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现上述实施例中方法的步骤。
在一个实施例中,提供了一种计算机存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (8)

1.一种面向重叠网格贡献单元搜索的坐标树空间映射方法,其特征在于,所述方法包括:
获取待搜索的重叠网络;所述重叠网络包括多个子网格;
对所述子网格进行初始化,得到带有编号的子网格;所述带有编号的子网格包括背景网格和非背景网格;
对所述非背景网格的子网格信息进行复制,得到复制子网格;
遍历所述重叠网络所有复制子网格以及背景网格,根据所述复制子网格和所述背景网格进行八叉树的构建,得到所有复制子网格的所有网格信息和八叉树结构;
对当前时刻进行初始时间步的判断,若当前时刻不是初始时间步,则获取当前子网格的网格单元的中心点,对另一子网格的复制子网格的八叉树结构进行访问,得到复制子网格的多个顶点信息和八叉树的层数;
利用所述当前子网格所处刚体运动的运动结果和所述多个顶点信息进行计算,得到变换后的网格边界框;
根据所述当前子网格的网格单元的中心点与所述变换后的网格边界框进行空间关系计算,利用计算结果和所述八叉树的层数对当前子网格的网格单元进行遍历,得到所述当前子网格的网格单元所对应的另一子网格中的对应贡献单元和非贡献单元。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若当前时刻是初始时间步,则获取当前子网格的网格单元的中心点,对另一子网格的复制子网格的八叉树结构进行访问,得到八叉树的层数;
根据所述八叉树的层数、八叉树每层中的节点以及每个节点中的网络单元对所述当前子网格的网格单元的中心点进行判断,若所述中心点存在所述另一子网格的复制子网格的网络单元内部,则标记所述复制子网格的网络单元为当前子网格的网格单元在所述另一子网格的复制子网格中的对应贡献单元。
3.根据权利要求1所述的方法,其特征在于,对另一子网格的复制子网格的八叉树结构进行访问,得到复制子网格的多个顶点信息和八叉树的层数,包括:
对另一子网格的复制子网格的八叉树结构进行访问,得到所述八叉树的根节点边界框和最值坐标信息;
根据所述最值坐标信息随机组合生成八个顶点信息。
4.根据权利要求3所述的方法,其特征在于,所述运动结果包括位移量、向量和旋转四元数;利用所述当前子网格所处刚体运动的运动结果和所述多个顶点信息进行计算,得到变换后的网格边界框,包括:
从复制子网中提取任意四个节点和所述节点在原始的非背景网格中对应的映射点;所述四个节点中任意三点不共线;
根据所述旋转四元素构建旋转矩阵;利用所述位移量、旋转矩阵、向量、任意四个节点和所述节点在原始的非背景网格中对应的映射点构建所述位移量和旋转矩阵的求解方程;
将所述任意四个节点和所述节点在原始的非背景网格中对应的映射点作为已知量对所述求解方程进行求解,得到位移量和旋转矩阵;
根据所述顶点信息、位移量、向量和旋转矩阵构建顶点映射方程,对所述顶点映射方程进行求解,得到变换后的网格边界框顶点信息;
利用所述变换后的网格边界框顶点信息构建变换后的网格边界框。
5.根据权利要求4所述的方法,其特征在于,利用所述位移量、旋转矩阵、向量、任意四个节点和所述节点在原始的非背景网格中对应的映射点构建所述位移量和旋转矩阵的求解方程,包括:
利用所述位移量、旋转矩阵、向量、任意四个节点和所述节点在原始的非景网格中对应的映射点构建所述位移量和旋转矩阵的求解方程为
Figure 200985DEST_PATH_IMAGE001
其中,
Figure 836235DEST_PATH_IMAGE002
分别表示复制子网中任意四个节点,
Figure 819234DEST_PATH_IMAGE003
表示向量,
Figure 480023DEST_PATH_IMAGE004
表示旋转矩阵,
Figure 497657DEST_PATH_IMAGE005
表示位移量,
Figure 585699DEST_PATH_IMAGE006
表示
Figure 55995DEST_PATH_IMAGE007
在原始的非景网格中对应的映射点。
6.根据权利要求5所述的方法,其特征在于,根据所述顶点信息、位移量、向量和旋转矩阵构建顶点映射方程,对所述顶点映射方程进行求解,得到变换后的网格边界框顶点信息,包括:
根据所述顶点信息、位移量、向量和旋转矩阵构建顶点映射方程为
Figure 973004DEST_PATH_IMAGE008
其中,
Figure 907462DEST_PATH_IMAGE009
表示顶点,
Figure 104088DEST_PATH_IMAGE010
表示变换后的网格边界框顶点,k表示顶点的序号。
7.根据权利要求6所述的方法,其特征在于,根据所述当前子网格的网格单元的中心点与所述变换后的网格边界框进行空间关系计算,利用计算结果和所述八叉树的层数对当前子网格的网格单元进行遍历,得到所述当前子网格的网格单元所对应的另一子网格中的对应贡献单元和非贡献单元,包括:
计算所述当前子网格的网格单元的中心点与所述变换后的网格边界框之间的距离,若当前子网格的网格单元的中心点到所述变换后的网格边界框任意两平行面的距离差等于所述变换后的网格边界框中此两平行面间的距离,且所述中心点不在此两平面上,则标记所述中心点所在网格单元在另一子网格中不存在对应贡献单元;所述另一子网格是指不同于当前子网格的子网格。
8.根据权利要求7所述的方法,其特征在于,若当前子网格的网格单元的中心点到所述变换后的网格边界框任意两平行面的距离差不等于所述变换后的网格边界框中此两平行面间的距离,所述方法还包括:
步骤一:对另一子网格的复制子网格的八叉树结构进行访问,得到八叉树的层数为
Figure 123997DEST_PATH_IMAGE011
,进入寻节点循环;设置变量
Figure 329850DEST_PATH_IMAGE012
步骤二:若
Figure 56498DEST_PATH_IMAGE013
,则跳至步骤六;否则结束当前子步骤,标记所述中心点所在网格单元在另一子网格中不存在对应贡献单元,遍历当前子网格下一个网格单元;
步骤三:令
Figure 204451DEST_PATH_IMAGE014
,若
Figure 711656DEST_PATH_IMAGE015
为空,则结束当前子步骤,标记所述中心点所在网格单元在另一子网格中不存在对应贡献单元,遍历当前子网格下一个网格单元;若非空,则跳至步骤四;其中
Figure 190042DEST_PATH_IMAGE016
表示第
Figure 99092DEST_PATH_IMAGE017
层第j个节点的节点序号,
Figure 637520DEST_PATH_IMAGE018
表示序号为H[i-1][j]的节点所包含的网格单元的数组;
步骤四:若节点
Figure 632021DEST_PATH_IMAGE019
的子节点为空,则跳至步骤六;若非空,则跳至步骤五;
Figure 179677DEST_PATH_IMAGE020
表示序号为H[i-1][j]的节点;
步骤五:依次访问节点
Figure 130185DEST_PATH_IMAGE021
的八个子节点
Figure 167411DEST_PATH_IMAGE022
,则可以得到
Figure 586891DEST_PATH_IMAGE023
,其中
Figure 672658DEST_PATH_IMAGE024
;令
Figure 290722DEST_PATH_IMAGE025
,跳至步骤三,其中c表示当前子网格的中心点;
步骤六:遍历
Figure 436532DEST_PATH_IMAGE026
中所有序号所对应的另一子网格中网格单元,若所述中心点存在所述另一子网格的复制子网格的网络单元内部,则标记所述复制子网格的网络单元为当前子网格的网格单元在所述另一子网格的复制子网格中的对应贡献单元;若不存在,则标记所述中心点所在网格单元在另一子网格中不存在对应贡献单元,直至遍历完当前子网格的所有网格单元。
CN202210401218.2A 2022-04-18 2022-04-18 一种面向重叠网格贡献单元搜索的坐标树空间映射方法 Pending CN114492252A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210401218.2A CN114492252A (zh) 2022-04-18 2022-04-18 一种面向重叠网格贡献单元搜索的坐标树空间映射方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210401218.2A CN114492252A (zh) 2022-04-18 2022-04-18 一种面向重叠网格贡献单元搜索的坐标树空间映射方法

Publications (1)

Publication Number Publication Date
CN114492252A true CN114492252A (zh) 2022-05-13

Family

ID=81489316

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210401218.2A Pending CN114492252A (zh) 2022-04-18 2022-04-18 一种面向重叠网格贡献单元搜索的坐标树空间映射方法

Country Status (1)

Country Link
CN (1) CN114492252A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116127611A (zh) * 2023-04-13 2023-05-16 中国人民解放军国防科技大学 一种水下航行器动态仿真方法
CN116563091A (zh) * 2022-12-27 2023-08-08 上海勘测设计研究院有限公司 地形数据生成方法、装置、介质及电子设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116563091A (zh) * 2022-12-27 2023-08-08 上海勘测设计研究院有限公司 地形数据生成方法、装置、介质及电子设备
CN116563091B (zh) * 2022-12-27 2024-02-13 上海勘测设计研究院有限公司 地形数据生成方法、装置、介质及电子设备
CN116127611A (zh) * 2023-04-13 2023-05-16 中国人民解放军国防科技大学 一种水下航行器动态仿真方法

Similar Documents

Publication Publication Date Title
CN114492252A (zh) 一种面向重叠网格贡献单元搜索的坐标树空间映射方法
Guirguis et al. Evolutionary black-box topology optimization: Challenges and promises
Cerveny et al. Nonconforming mesh refinement for high-order finite elements
CN110516316B (zh) 一种间断伽辽金法求解欧拉方程的gpu加速方法
Peng et al. High-order stencil computations on multicore clusters
Li et al. Grid-based quaternion filter for so (3) estimation
Liu et al. Parameterization for molecular Gaussian surface and a comparison study of surface mesh generation
Wang et al. A generic encoding and operation scheme for mixed aperture three and four hexagonal discrete global grid systems
Cao et al. Bi-stride multi-scale graph neural network for mesh-based physical simulation
Zubov et al. Pore-network extraction using discrete Morse theory: Preserving the topology of the pore space
Mahmoud et al. RXMesh: a GPU mesh data structure
Dou et al. A fine-granularity scheduling algorithm for parallel XDraw viewshed analysis
Wang et al. A scalable spatial skyline evaluation system utilizing parallel independent region groups
Burstedde et al. Coarse mesh partitioning for tree-based amr
Rivara Lepp-bisection algorithms, applications and mathematical properties
Asahi et al. Optimization of fusion kernels on accelerators with indirect or strided memory access patterns
Dou et al. An equal‐area triangulated partition method for parallel Xdraw viewshed analysis
Liu et al. An inspecting method of 3D dimensioning completeness based on the recognition of RBs
El Gharbi et al. Two-level substructuring and parallel mesh generation for domain decomposition methods
Peng et al. Exploiting hierarchical parallelisms for molecular dynamics simulation on multicore clusters
CN113111612B (zh) 一种基于自适应空间剖分的离散点云重复点快速查找方法
Kerber et al. 3D kinetic alpha complexes and their implementation
Deldarie et al. The performance of parallel algorithmic skeletons
Paudel Acceleration of computational geometry algorithms for high performance computing based geo-spatial big data analysis
Fehling Algorithms for massively parallel generic hp-adaptive finite element methods

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20220513