CN107357993A - 一种基于特征长度的蒙特卡罗粒子输运快速几何处理方法 - Google Patents
一种基于特征长度的蒙特卡罗粒子输运快速几何处理方法 Download PDFInfo
- Publication number
- CN107357993A CN107357993A CN201710570610.9A CN201710570610A CN107357993A CN 107357993 A CN107357993 A CN 107357993A CN 201710570610 A CN201710570610 A CN 201710570610A CN 107357993 A CN107357993 A CN 107357993A
- Authority
- CN
- China
- Prior art keywords
- submodel
- solid
- model
- bounding box
- division
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于特征长度的蒙特卡罗粒子输运快速几何处理方法,包括以下步骤:建立划分方案,将几何模型不断划分成子模型;以及使用建立的划分方案找到满足检测要求的几何体,其特点是采用分治策略将几何模型不断划分成子模型,子模型间没有共有的几何体,在几何处理时首先检测几何模型的轴向包围盒,从而快速排除不需要检测的几何体,提高几何处理的速度;划分子模型时不保存子模型的轴向包围盒,而是保存划分方向、划分位置和子模型在划分方向上的特征长度,在几何处理时根据这些数据重新计算轴向包围盒,从而减少占用的存储空间。
Description
技术领域
本发明涉及核科学中蒙特卡罗粒子输运数值模拟技术领域,尤其涉及一种基于特征长度的蒙特卡罗粒子输运快速几何处理方法。
背景技术
蒙特卡罗粒子输运是一种基于统计学理论的随机模拟方法。该方法从粒子输运的物理模型出发,直接模拟粒子在求解域中的运动过程,通过对大量粒子运动过程的统计平均,计算宏观物理量。该方法具有模拟准确、几何适应性好的优点,广泛应用于核物理和医学物理等领域。
蒙特卡罗粒子输运的模拟过程可抽象为粒子按照一定的物理规律在一些几何体中随机运动,这些几何体具有不同的形状,由不同的材料构成。模拟过程中需要频繁进行各种耗时的几何处理,例如:
(1)查找粒子所在的几何体,即将粒子视为空间中的一个点,找到包含该点的几何体,需要对几何体进行粒子的包含检测;
(2)查找粒子运动时首次遇到的几何体边界,并计算粒子到该边界的距离。即将粒子的运动视为空间中的一条射线,找到射线首次相交的几何体边界并计算射线到交点的距离,需要对几何体进行射线的相交检测。
针对单个几何体的各种几何处理在计算机图形学中有成熟算法,如果几何体的外形复杂,还可使用几何体的轴向包围盒进行加速,即使用包含几何体的长方体快速排除不满足条件的几何体。例如,由于轴向包围盒占据的空间包含了几何体占据的空间,如果粒子不在轴向包围盒中,则也不会在几何体中;同理,如果射线不与轴向包围盒相交,则也不会与几何体相交。轴向包围盒的生成和检测在计算机图形学中同样有成熟的算法。
蒙特卡罗粒子输运的几何模型中包含多个几何体,传统的几何处理方法直接遍历模型中的所有N个几何体,时间复杂度为O(N),耗时较多。
一类几何处理的加速方法是三维空间划分,即使用平面将几何模型所在三维空间不断划分成为子空间,这类方法包括k维树、八叉数、空间网格等。当划分平面穿过几何体时,几何体同时属于划分后的每个子空间,每个子空间都需要复制一份该几何体或它的索引。该类方法的缺点是如果几何体数目会较多并且排列的非常紧密,每次划分时划分平面都会穿过大量的几何体,导致需要复制大量的几何体,即使是只复制其索引号,也会占用较多的存储空间。并且虽然该类方法的时间复杂度为O(LogN),但由于大量的复制操作,使得实际的复杂度为O(LogAN),其中A为每个几何体的平均复制次数,增加了几何处理的时间。
另一类几何处理的加速方法是层次包围盒,即将几何模型不断划分成子模型,并保存每个子模型的轴向包围盒。该方法中几何体只属于唯一的子模型,不存在两个模型同时拥有一个几何体的情况。但该方法需要保存大量轴向包围盒,而保存一个轴向包围盒需要保存6个浮点数参数,占用的存储空间较多。
目前,大规模的精细数值模拟已成为核能系统模拟的趋势,几何模型中会包含百万个甚至千万个几何体,上述方法无论从几何处理效率和存储空间占用的角度考虑都存在缺陷。
发明内容
本发明的目的在于提供一种基于特征长度的蒙特卡罗粒子输运快速几何处理方法,既能进行快速的几何处理又无需直接保存轴向包围盒数据,减少存储空间;每次划分都将几何体划分到一个子模型中,不存在两个模型同时拥有一个几何体的情况,避免了几何体的复制。
为此,本发明提供了一种基于特征长度的蒙特卡罗粒子输运快速几何处理方法,包括以下步骤:建立划分方案,将几何模型不断划分成子模型;使用建立的划分方案找到满足检测要求的几何体,其特征在于,所述建立划分方案包括:
(1)初始化几何模型,包括以下子步骤:(11)计算几何模型中每个几何体的轴向包围盒、特征点、特征长度;其中,几何体的特征点为轴向包围盒的中心点,三个坐标轴方向上的特征长度分别为轴向包围盒在这三个方向上的长度;(12)计算并保存几何模型的轴向包围盒和三个坐标轴方向上的特征长度;其中,几何模型的轴向包围盒包含模型中所有几何体的轴向包围盒,三个坐标轴方向上的特征长度分别为几何模型中几何体在该方向特征长度的最大值,
(2)将几何模型划分为子模型,包括以下子步骤:(21)选择几何模型的划分方向,并将几何模型中的几何体按特征点在划分方向上的位置进行排序;(22)选择中间两个几何体的特征点连线的中点作为划分位置,将前一半几何体划分为左子模型,其它几何体划分为右子模型;计算每个子模型的轴向包围盒和在划分方向上的特征长度;(23)保存本次划分的划分方向、划分位置以及每个子模型在划分方向上的特征长度,以及
(3)针对划分出的每个子模型,递归地重复上述将几何模型划分为子模型的过程,直到划分出的几何模型包含的几何体数目小于预设值为止。
进一步地,使用建立的划分方案找到满足检测要求的几何体包括:(41)使用所述几何模型的轴向包围盒判断几何模型是否满足检测要求,如果满足检测要求,则继续检测几何模型的每个子模型,否则结束模型的检测;其中,子模型的轴向包围盒使用模型的轴向包围盒、划分方向、划分位置和子模型在划分方向上的特征长度进行计算;(42)针对继续检测的每个几何模型,递归地重复所述步骤(41),直到模型不满足检测要求或模型没有子模型为止;以及(43)对满足检测要求且没有子模型的每个几何模型,依次检测模型中的每个几何体,从而快速找到满足检测要求的几何体。
进一步地,选择几何模型的划分方向包括:计算几何模型的轴向包围盒在三个坐标轴方向的长度,选择长度最大的坐标轴方向作为划分方向。
进一步地,在模型包含的几何体数目小于2时模型划分结束。
本发明的有益效果是:(1)采用分治策略,建立划分方案,通过检测模型的轴向包围盒快速排除不需要检测的几何体,使几何处理的时间复杂度从O(N)降为O(LogN),处理速度快;(2)每次划分只需保存划分方向(1个字节)、划分位置(1个浮点数)以及两个子模型在划分方向上的特征长度(1个/模型×2=2个浮点数),无需使用6个/模型×2=12个浮点数保存两个子模型的轴向包围盒,大幅减少了占用的存储空间;(3)每次划分都将几何体划分到其中一个子模型中,不存在两个模型共有一个几何体的情况,避免了几何体的复制。
另外,选择长度最大的坐标轴方向作为划分方向,其效果如下:计算简单,容易实施;几何体在长度最大的方向上分布的最稀疏,在该方向上进行划分可以减少两个子模型轴向包围盒的重叠,提高几何处理的效率。
除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照图,对本发明作进一步详细的说明。
附图说明
构成本申请的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明中构建几何模型划分方案的流程图;
图2为本发明中进行几何处理的流程图;
图3为本发明中几何体的轴向包围盒示意图;
图4为本发明中基于特征长度重建轴向包围盒的原理图;
图5为本发明中实施例1的几何体;
图6为本发明中实施例1构建出的几何模型划分方案示意图;以及
图7为本发明中实施例2的几何体。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
本发明的基于特征长度的蒙特卡罗粒子输运快速几何处理方法,原理是首先采用分治策略将几何模型不断划分成子模型,从而建立划分方案,然后每次几何处理时都根据模型的轴向包围盒检测结果快速排除不需要检测的几何体,从而提高了几何处理的速度;每次划分时仅保存划分方向、划分位置、子模型在划分方向上的特征长度,无需保存子模型的轴向包围盒,从而减少占用的存储空间。
本发明通过图1所示的流程图建立划分方案,具体流程如下:
S10、计算几何体的包围盒、特征点和特征长度;
S11、计算并保存几何模型的包围盒、特征长度;
S13、选择划分方向,对几何体排序;
S15、计算划分位置,划分左右子模型;
S17、保存划分方向、划分位置、子模型的特征长度;以及
S19、判断模型包含的几何体数目是否小于预设值;若是则返回步骤S13,继续进行子模型的划分,若小于预设值则结束。
其中,步骤S10~S11为初始化几何模型过程,步骤S13~S17为将几何模型划分为子模型的过程。下面对各步骤进行详细描述:
S10、计算几何模型中每个几何体的轴向包围盒、特征点、特征长度;
几何体的轴向包围盒是由六个平面围成的长方体,每个平面都垂直于一个坐标轴,轴向包围盒在空间上完全包含几何体;轴向包围盒表示为:
box=[xmin,xmax,ymin,ymax,zmin,zmax],
六个参数分别为轴向包围盒6个平面的坐标,使用计算机图形学算法计算,几何体11的轴向包围盒13的参数如图3所示。
特征点坐标表示为o=[ox,oy,oz],定义为轴向包围盒的中心点,计算公式为:
特征长度表征几何体的空间尺度,不小于轴向包围盒在该方向的长度。三个坐标轴方向上的特征长度表示为w=[wx,wy,wz],计算公式为:
w=[xmax-xmin,ymax-ymin,zmax-zminp;
S11、计算并保存几何模型的轴向包围盒和特征长度:
几何模型的轴向包围盒表示为:
boxt=[xmin,t,xmax,t,ymin,t,ymax,t,zmin,t,zmax,t],
包含模型中所有几何体的轴向包围盒,计算公式为:
几何模型的特征长度表示为wt=[wx,t,wy,t,wz,t],不小于模型中每个几何体的特征长度,计算公式为:
其中,下标t表示几何模型t的参数,N为几何模型中的几何体个数,下标j表示第j个几何体的参数,Min为最小值函数,Max为最大值函数;
其中,保存几何模型的轴向包围盒以及三个坐标轴方向上的特征长度具体如下:
使用6个浮点数保存轴向包围盒,使用3个浮点数保存三个坐标轴方向上的特征长度。只有此处的几何模型需要保存轴向包围盒和三个坐标轴方向上的特征长度;步骤S13~S17中划分的左右子模型无需保存轴向包围盒,保存的特征长度也只是划分方向上的,无需保存全部三个坐标轴方向上的特征长度。
S13、选择几何模型的划分方向,划分方向记为dir;并将几何模型中的N个几何体进行排序,使几何体的特征点o在dir方向上从小到大排列;
一种容易实现的划分方向选择方法是依次沿X、Y、Z方向划分,但本实施方式中采用了更好的选择方法,考虑了几何模型在三个坐标轴方向的尺度差异;首先计算几何模型的轴向包围盒在三个坐标轴方向的长度,分别为:
lengthx,t=xmax,t-xmin,t;
lengthy,t=ymax,t-ymin,t;
lengthz,t=zmax,t-zmin,t;
选择长度最大的坐标轴方向作为划分方向;
S15、计算划分位置pos,划分左右子模型。其中,划分位置pos的计算公式为:
其中,为向上取整函数,功能是返回不小于输入参数的第一个整数,例如
和分别为排序后的第和第个几何体的特征点在dir方向上的坐标值。
划分左右子模型具体如下:将排序后的前个几何体划分为左子模型,其他几何体划分为右子模型;计算每个子模型的轴向包围盒和在dir方向上的特征长度。
S17、保存本次划分的划分方向dir、划分位置pos以及每个子模型在dir方向上的特征长度。
划分方向使用1个字节保存,1、2、3、4四个整数分别表示沿X轴划分、沿Y轴划分、沿Z轴划分和不再划分。使用1个浮点数保存划分位置,2个浮点数分别保存2个子模型在dir方向上的特征长度。一次划分只需要保存3个浮点数再加1个字节,比直接保存6×2=12个浮点数的轴向包围盒参数更节约存储空间。
S19、针对步骤S13~S17中划分出的每个几何模型,递归的重复步骤S13~S17,直到模型包含的几何体小于预设值为止。
本发明通过图2所示的流程图进行进行几何处理:
S20、检测几何模型的轴向包围盒;
S21、判断几何模型的轴向包围盒是否满足检测要求,若否则结束检测,若是则执行步骤S23;
S23、判断模型是否含有子模型,若是则执行步骤S25,若否则执行步骤S27;
S25、依照划分方案计算子模型的轴向包围盒,并返回步骤S20,继续检测该子模型的轴向包围盒;
S27、依次检测模型中的每个几何体,然后结束。
其中,蒙特卡罗粒子输运几何处理分为两种,第一种是粒子的包含检测,检测要求是几何体包含粒子,第二种是射线的相交检测,检测要求是几何体与射线相交;使用步骤S10~S19建立的划分方案找到满足检测要求的几何体,其包含以下三个过程:
(1)使用几何模型的轴向包围盒判断几何模型是否满足检测要求,如果满足检测要求,则继续检测模型的每个子模型,否则结束模型的检测;几何模型的轴向包围盒已在步骤S11中保存,直接使用;子模型的轴向包围盒未保存,需要重新计算,重新计算的方法为使用几何模型的6个轴向包围盒参数但重新计算其中1个参数。
左右子模型的轴向包围盒的计算原理如图4所示,图中,
每个实线矩形框都表示一个几何体的轴向包围盒,虚线矩形框表示模型的轴向包围盒,100为模型包围盒,110为左子模型包围盒,120为右子模型包围盒,P为划分位置,L1为特征长度,L2为移动0.5个特征长度。由于模型的轴向包围盒在空间上包含了子模型中的每个几何体,所以子模型的轴向包围盒使用模型的轴向包围盒参数,但根据划分位置进行调整。由于左子模型中每个几何体的特征点(即几何体轴向包围盒的中心点)都在划分位置的左侧,并且特征长度不小于几何体轴向包围盒在该方向的长度,所以新的轴向包围盒边界为从划分位置向右移动0.5个特征长度,保证了左子模型中的所有几何体都在新边界的左侧。根据上述原理,对于左子模型,重新计算:
dirmax,child=pos+wdir,child/2;
同理,对于右子模型,重新计算:
dirmin,child=pos-wdir,child/2;
其中,pos为划分位置,dirmin,child和dirmax,child分别为子模型轴向包围盒在dir方向的两个参数,wdir,child为子模型在dir方向上的特征长度。
例如,如果模型的轴向包围盒为:
boxt=[xmint,xmax,t,ymin,t,ymax,t,zmin,t,zmax,t],划分方向为X向,即dir表示X向,子模型在划分方向的特征长度为wx,child,则子模型为左子模型时其轴向包围盒为:
[xmin,tpos+wx,child/2,ymin,t,ymax,t,zmin,t,zmax,t];
子模型为右子模型时其轴向包围盒为:
[pos-wx,child/2,xmax,t,ymin,t,ymax,t,zmin,t,zmax,t]。
可见,根据模型的轴向包围盒、划分方向、划分位置以及左右子模型的特征长度,可以计算出左右子模型的轴向包围盒,所以无需直接保存该包围盒。
(2)、针对步骤S21中继续检测的每个几何模型,递归地重复步骤S20~S21,直到模型不满足检测要求或者模型没有子模型为止;
(3)、对满足检测要求且没有子模型的每个几何模型,依次检测模型中的每个几何体,从而快速找到满足检测要求的几何体。
下面结合2个具体实施例说明本发明的方法。
实施例一5个几何体的几何处理。
该实施例中5个几何体的形状和位置如图5所示,几何模型的划分条件为该模型中的几何体个数小于预设值2时停止划分。步骤为:
(1)建立几何模型的划分方案。
几何模型表示为{1,2,3,4,5},大括号中的数字是模型中每个几何体的索引号。首先计算每个几何体的轴向包围盒、特征点、特征长度,如下表所示:
计算几何模型的轴向包围盒为[-10.6,-3.5,4.5,13.8,-1.7,4.3],三个坐标方向上的特征长度为[5,3.5,3.4]。保存模型的轴向包围盒和三个坐标轴方向上的特征长度。
模型{1,2,3,4,5}满足划分条件,轴向包围盒在Y方向最长,选为划分方向;5个几何体按特征点在Y方向的坐标由小到大排序为{1,2,3,4,5};几何体3特征点的Y坐标为7.5,几何体4的为9.0,则划分位置为8.25;前个几何体为左子模型,所以左子模型为{1,2,3},右子模型为{4,5}。计算左子模型Y方向的特征长度为3.2,计算右子模型Y方向的特征长度为3.5。保存本次划分的数据,即划分方向、划分位置、计算出的特征长度。
继续划分模型{1,2,3},它的轴向包围盒在X方向最长,选为划分方向,几何体按特征点在X方向的坐标由小到大排序为{1,3,2},划分位置为-5.825,左子模型为{1,3},右子模型为{2}。计算左子模型{1,3}在X方向的特征长度为3,计算右子模型{2}在X方向的特征长度为3.1.保存本次划分的数据。右子模型{2}只含有1个几何体,不满足划分条件,不再继续划分。
继续划分模型{1,3},它的轴向包围盒在X方向最长,选为划分方向,几何体按特征点在X方向的坐标由小到大排序为{1,3},划分位置为-7.9,左子模型为{1},右子模型为{3}。计算出左子模型{1}在X方向的特征长度为2,计算出右子模型{3}在X方向的特征长度为3。保存本次划分的数据。左子模型{1}、右子模型{3}只含有1个几何体,不满足划分条件,不再继续划分。
继续划分模型{4,5},它的轴向包围盒在Y方向最长,选为划分方向,几何体按特征点在Y方向的坐标由小到大排序为{4,5},划分位置为10.525,左子模型为{4},右子模型为{5}。计算出左子模型为{4}在Y方向的特征长度为2.4,计算出右子模型{5}在Y方向的特征长度为3.5。保存本次划分的数据。左子模型{4}、右子模型{5}不满足划分条件,不再继续划分。
至此,几何模型的划分方案构建完毕,如图6所示,图中的字母为划分方向,数字为几何体的索引号。
(2)几何处理一:查找粒子所在的几何体,即包含检测。
需要查找的粒子的坐标为[-9,10,2],根据已构建的划分方案进行查找。
读取几何模型{1,2,3,4,5}的轴向包围盒[-10.6,-3.5,4.5,13.8,-1.7,4.3]和三个坐标轴方向上的特征长度[5,3.5,3.4]。进行包含检测后发现粒子在此轴向包围盒中,所以继续查找左子模型{1,2,3}和右子模型{4,5}。
重新计算模型{1,2,3}的轴向包围盒。模型{1,2,3,4,5}沿Y方向划分,划分位置为8.25,模型{1,2,3}在Y向的特征长度为3.2,计算时使用模型{1,2,3,4,5}的6个轴向包围盒参数,但重新计算其中的ymax=8.25+3.2/2=9.85。计算出的模型{1,2,3}的轴向包围盒为[-10.6,-3.5,4.5,9.85,-1.7,4.3],检测后发现粒子不在此轴向包围盒中,则粒子也不在几何体1、几何体2、几何体3中,无需再检测这些几何体。
同样的方法重新计算模型{4,5}的轴向包围盒。模型{4,5}的特征长度为3.5,计算时使用模型{1,2,3,4,5}的6个轴向包围盒参数,但重新计算其中的ymin=8.25-3.5/2=6.5,计算出模型{4,5}的轴向包围盒,模型{4,5}的轴向包围盒为:[-10.6,-3.5,6.5,13.8,-1.7,4.3],检测后发现粒子在此轴向包围盒中,继续查找左子模型{4}和右子模型{5}。模型{4}的轴向包围盒为[-10.6,-3.5,6.5,11.725,-1.7,4.3],包含该粒子,继续使用几何体4的形状数据进行更准确的检测,发现几何体4包含该粒子。模型{5}的轴向包围盒为[-10.6,-3.5,8.775,13.8,-1.7,4.3],也包含该粒子,但继续使用几何体5的形状数据进行更准确的检测,发现几何体5不包含该粒子。
最终,粒子所在的几何体为几何体4。由于使用了几何处理体系,查找过程中快速排除了几何体1、几何体2、几何体3,提高了处理速度。
(3)几何处理二:查找粒子运动中首次遇到的几何体边界,并计算粒子到该边界的距离,即相交检测。
粒子的起点坐标为[-11,4,0.5],运动方向为[0.2,0.9,0.3873],运动轨迹是一条射线,根据已构建的划分方案进行查找。各模型轴向包围盒的计算过程参见“查找粒子所在的几何体”,在此不再重复描述。
读取几何模型{1,2,3,4,5}的轴向包围盒[-10.6,-3.5,4.5,13.8,-1.7,4.3]和三个坐标轴方向上的特征长度[5,3.5,3.4]。计算发现射线与模型的轴向包围盒相交,所以需要继续检测左子模型{1,2,3}和右子模型{4,5}。递归地计算发现射线与模型{1,2,3},模型{1,3},模型{1}的轴向包围盒相交,继续使用几何体1的形状数据进行检测,计算发现射线与几何体1相交,粒子到交点的距离为2;计算发现射线不与节点{3}、节点{2}的轴向包围盒相交,所以不用检测几何体3、几何体2。检测模型{4,5},发现射线与它的轴向包围盒相交,但粒子到交点的距离为5,超过了与几何体1的相交距离2,所以射线必然先遇到几何体1,然后才可能遇到几何体4或几何体5,所以无需检测几何体4、几何体5。
最终,发现粒子运动中首次遇到几何体1,粒子到该边界的距离为2。
从本实施例可以看出,通过构建几何模型划分方案,使用分治策略和轴向包围盒,可以快速排除不需要检测的几何体,提高几何处理速度。本发明的几何处理体系不需要直接保存模型的轴向包围盒,而是在几何处理时根据划分长度、划分位置和特征长度重新计算轴向包围盒,大大节省了存储空间。
实施例二:59004个四面体的几何处理
本实施例用于说明本发明的方法在节省存储空间方面的优点。紧密排列的四面体是数值计算中常用的几何结构,一般称为非结构网格。本实施例中共使用59004个四面体构成一个圆球,如图7所示。对59004个几何体构成的几何模型建立划分方案,当模型中的几何体个数小于预设值2时停止划分。
构建划分方案后,子模型的最大划分次数为16次,浮点数使用8个字节的双精度浮点数,划分方案占用存储空间1947K,平均每个几何体占用33字节。而如果直接保存轴向包围盒,划分方案占用存储空间6137K,平均每个几何体占用104字节。本方法节省了68.27%的存储空间。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种基于特征长度的蒙特卡罗粒子输运快速几何处理方法,其特征在于,包括以下步骤:
建立划分方案,将几何模型不断划分成子模型;
使用建立的划分方案找到满足检测要求的几何体,其特征在于,所述建立划分方案包括:
(1)初始化几何模型,包括以下子步骤:
(11)计算几何模型中每个几何体的轴向包围盒、特征点、特征长度;其中,几何体的特征点为轴向包围盒的中心点,三个坐标轴方向上的特征长度分别为轴向包围盒在这三个方向上的长度;
(12)计算并保存几何模型的轴向包围盒和三个坐标轴方向上的特征长度;其中,几何模型的轴向包围盒包含模型中所有几何体的轴向包围盒,三个坐标轴方向上的特征长度分别为几何模型中几何体在该方向特征长度的最大值,
(2)将几何模型划分为子模型,包括以下子步骤:
(21)选择几何模型的划分方向,并将几何模型中的几何体按特征点在划分方向上的位置进行排序;
(22)选择中间两个几何体的特征点连线的中点作为划分位置,将前一半几何体划分为左子模型,其它几何体划分为右子模型;计算每个子模型的轴向包围盒和在划分方向上的特征长度;
(23)保存本次划分的划分方向、划分位置以及每个子模型在划分方向上的特征长度,以及
(3)针对划分出的每个子模型,递归地重复上述将几何模型划分为子模型的过程,直到划分出的几何模型包含的几何体数目小于预设值为止。
2.根据权利要求1所述的一种基于特征长度的蒙特卡罗粒子输运快速几何处理方法,其特征在于,使用建立的划分方案找到满足检测要求的几何体包括:
(41)使用所述几何模型的轴向包围盒判断几何模型是否满足检测要求,如果满足检测要求,则继续检测几何模型的每个子模型,否则结束模型的检测;其中,子模型的轴向包围盒使用模型的轴向包围盒、划分方向、划分位置和子模型在划分方向上的特征长度进行计算;
(42)针对继续检测的每个几何模型,递归地重复所述步骤(41),直到模型不满足检测要求或模型没有子模型为止;以及
(43)对满足检测要求且没有子模型的每个几何模型,依次检测模型中的每个几何体,从而快速找到满足检测要求的几何体。
3.根据权利要求1所述的基于特征长度的蒙特卡罗粒子输运快速几何处理方法,其特征在于,所述选择几何模型的划分方向包括:计算几何模型的轴向包围盒在三个坐标轴方向的长度,选择长度最大的坐标轴方向作为划分方向。
4.根据权利要求1所述的基于特征长度的蒙特卡罗粒子输运快速几何处理方法,其特征在于,在模型包含的几何体数目小于2时模型划分结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710570610.9A CN107357993A (zh) | 2017-07-13 | 2017-07-13 | 一种基于特征长度的蒙特卡罗粒子输运快速几何处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710570610.9A CN107357993A (zh) | 2017-07-13 | 2017-07-13 | 一种基于特征长度的蒙特卡罗粒子输运快速几何处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107357993A true CN107357993A (zh) | 2017-11-17 |
Family
ID=60292571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710570610.9A Pending CN107357993A (zh) | 2017-07-13 | 2017-07-13 | 一种基于特征长度的蒙特卡罗粒子输运快速几何处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107357993A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108197355A (zh) * | 2017-12-20 | 2018-06-22 | 中国原子能科学研究院 | 一种用于蒙特卡罗模拟计算程序的虚拟分层建模方法 |
CN108573101A (zh) * | 2018-04-11 | 2018-09-25 | 中国人民解放军92609部队 | 可靠甄别蒙特卡罗模拟模型参数的方法及计算机存储介质 |
CN115330971A (zh) * | 2022-10-13 | 2022-11-11 | 数云科际(深圳)技术有限公司 | 一种面向渲染性能优化的几何模型轻量化方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002024278A1 (en) * | 2000-09-22 | 2002-03-28 | Numerix Llc | Improved radiation therapy treatment method |
CN103065018A (zh) * | 2013-01-13 | 2013-04-24 | 中国科学院合肥物质科学研究院 | 一种逆向蒙特卡罗粒子输运模拟系统 |
CN104317772A (zh) * | 2014-10-22 | 2015-01-28 | 中国科学院合肥物质科学研究院 | 一种基于空间网格分割的蒙特卡罗粒子输运快速几何处理方法 |
CN106354946A (zh) * | 2016-08-30 | 2017-01-25 | 中国科学院合肥物质科学研究院 | 一种基于过渡区域的蒙特卡罗与确定论耦合粒子输运方法 |
-
2017
- 2017-07-13 CN CN201710570610.9A patent/CN107357993A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002024278A1 (en) * | 2000-09-22 | 2002-03-28 | Numerix Llc | Improved radiation therapy treatment method |
CN103065018A (zh) * | 2013-01-13 | 2013-04-24 | 中国科学院合肥物质科学研究院 | 一种逆向蒙特卡罗粒子输运模拟系统 |
CN104317772A (zh) * | 2014-10-22 | 2015-01-28 | 中国科学院合肥物质科学研究院 | 一种基于空间网格分割的蒙特卡罗粒子输运快速几何处理方法 |
CN106354946A (zh) * | 2016-08-30 | 2017-01-25 | 中国科学院合肥物质科学研究院 | 一种基于过渡区域的蒙特卡罗与确定论耦合粒子输运方法 |
Non-Patent Citations (2)
Title |
---|
DO HYUN KIM .ECT: "A Proposal on Multi-Response CADIS Method to Optimize Reduction of Regional Variances in Hybrid Monte Carlo Simulation", 《ANNALS OF NUCLEAR ENERGY》 * |
李刚 等: "蒙特卡罗区域分解并行计算中确保串并行结果一致的伪随机数应用", 《计算物理》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108197355A (zh) * | 2017-12-20 | 2018-06-22 | 中国原子能科学研究院 | 一种用于蒙特卡罗模拟计算程序的虚拟分层建模方法 |
CN108573101A (zh) * | 2018-04-11 | 2018-09-25 | 中国人民解放军92609部队 | 可靠甄别蒙特卡罗模拟模型参数的方法及计算机存储介质 |
CN108573101B (zh) * | 2018-04-11 | 2021-08-06 | 中国人民解放军92609部队 | 可靠甄别蒙特卡罗模拟模型参数的方法及计算机存储介质 |
CN115330971A (zh) * | 2022-10-13 | 2022-11-11 | 数云科际(深圳)技术有限公司 | 一种面向渲染性能优化的几何模型轻量化方法 |
CN115330971B (zh) * | 2022-10-13 | 2023-01-13 | 数云科际(深圳)技术有限公司 | 一种面向渲染性能优化的几何模型轻量化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3223244B1 (en) | Hierarchy merging | |
Edmunds et al. | Surface-based flow visualization | |
Wyvill et al. | Ray-tracing soft objects | |
CN107357993A (zh) | 一种基于特征长度的蒙特卡罗粒子输运快速几何处理方法 | |
Evangelou et al. | Fast radius search exploiting ray-tracing frameworks | |
Lebrun-Grandié et al. | ArborX: A performance portable geometric search library | |
Hastings et al. | Optimization of large-scale, real-time simulations by spatial hashing | |
Xing et al. | Efficient collision detection based on AABB trees and sort algorithm | |
Gagie et al. | Faster compressed quadtrees | |
Williams et al. | An accelerated iterative linear solver with GPUs for CFD calculations of unstructured grids | |
Wong et al. | Continuous collision detection for deformable objects using permissible clusters | |
Ulyanov et al. | Interactive vizualization of constructive solid geometry scenes on graphic processors | |
Zhou et al. | Data decomposition method for parallel polygon rasterization considering load balancing | |
Lawrence et al. | Node subsampling for multilevel meshfree elliptic PDE solvers | |
Yin et al. | Fast BVH construction and refit for ray tracing of dynamic scenes | |
Mateo et al. | Hierarchical, Dense and Dynamic 3D Reconstruction Based on VDB Data Structure for Robotic Manipulation Tasks | |
Eloe et al. | Dual graph partitioning for Bottom-Up BVH construction | |
CN107610231A (zh) | 一种动态碰撞检测方法 | |
Sacks et al. | Robust cascading of operations on polyhedra | |
Toeda et al. | On edge bundling and node layout for mutually connected directed graphs | |
Meng et al. | Anisotropic Cartesian Grid Generation Strategy for Arbitrarily Complex Geometry Based on a Fully Threaded Tree | |
CN107341849B (zh) | 一种快速实时烟雾模拟算法 | |
Cao et al. | A Fast and Generalized Broad-Phase Collision Detection Method Based on KD-Tree Spatial Subdivision and Sweep-and-Prune | |
CN111310266A (zh) | 建筑信息模型产品的几何数据分割方法 | |
Wang et al. | An image-based collision detection optimization algorithm |
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: 20171117 |