CN115659769A - 模型粒子生成方法、装置、设备及存储介质 - Google Patents
模型粒子生成方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115659769A CN115659769A CN202211120353.6A CN202211120353A CN115659769A CN 115659769 A CN115659769 A CN 115659769A CN 202211120353 A CN202211120353 A CN 202211120353A CN 115659769 A CN115659769 A CN 115659769A
- Authority
- CN
- China
- Prior art keywords
- model
- grid
- triangle
- mesh
- particle
- 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.)
- Granted
Links
- 239000002245 particle Substances 0.000 title claims abstract description 199
- 238000000034 method Methods 0.000 title claims abstract description 53
- 239000006185 dispersion Substances 0.000 claims abstract description 12
- 238000002372 labelling Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000012530 fluid Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Image Generation (AREA)
Abstract
本发明属于计算机技术领域,公开了一种模型粒子生成方法、装置、设备及存储介质。该方法包括:获取待生成粒子模型的目标格式文件;对目标格式文件中的多个三角形的顶点坐标和外法线方向进行存储,得到各三角形的基础数据;根据各三角形的基础数据确定模型目标坐标值和各三角形的单元目标坐标值;根据模型目标坐标值和各三角形的单元目标坐标值进行网格划分,得到模型网格和各三角形的三角形网格;根据所述基础数据、所述模型网格以及各三角形的三角形网格生成所述待生成粒子模型的粒子。通过上述方式,可实现对任何复杂的几何模型进行离散,从而大幅度缩短粒子生成的时间,实现了千万级粒子数目的快速准确离散以及复杂几何模型粒子的快速生成。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种模型粒子生成方法、装置、设备及存储介质。
背景技术
随着计算机硬件技术和软件技术的快速发展,数值仿真技术被广泛地应用于各工程领域中,是产品研发与技术创新的重要一环。作为无网格数值模拟方法的一种,光滑粒子流体动力学方法(Smoothed Particle Hydrodynamics,以下简称SPH)自1977年被发明以来一直在高速发展,其应用领域从一开始的天体物理学扩展到了计算流体力学、弹塑性力学、传热学、岩土工程等领域,是连续介质无网格方法的典型代表。
SPH方法计算的前提条件是粒子初始化,即:在计算区域内生成能表征物体(流体、固壁边界等)几何特征的离散点,这些离散点持有一定的物理量(如质量、密度、速度等),待求物理量可以通过对描述问题的偏微分方程进行求解获得。对于形状简单的物体,通过简单的几何控制条件,即可生成位于物体区域内或物体表面的粒子。但是对于工程中的复杂模型,如齿轮、汽车模型等,由于没有简单的数学方程来进行描述,其初始粒子生成将变得非常复杂。
一般地,生成任意复杂模型的方式是使用CAD软件,生成通用的.stl格式的图形交互文件。stl文件使用三角形网格对物体表面进行划分,并记录了每个三角形顶点坐标以及该三角面的外法线方向。由于stl文件只负责表征物体几何形状,其三角形网格大小可能非常不均匀,三角形形状也可能畸形,且现有技术中的粒子生成技术实现起来较为复杂,计算量较大,生成过程较为漫长且无法判断生成的粒子是位于物体表面还是物体内部。
发明内容
本发明的主要目的在于提供一种模型粒子生成方法、装置、设备及存储介质,旨在解决现有技术无法实现模型粒子的快速准确生成的技术问题。
为实现上述目的,本发明提供了一种模型粒子生成方法,所述模型粒子生成方法包括:
获取待生成粒子模型的目标格式文件;
对所述目标格式文件中的多个三角形的顶点坐标和外法线方向进行存储,得到各三角形的基础数据;
根据各三角形的基础数据确定模型目标坐标值和各三角形的单元目标坐标值;
根据所述模型目标坐标值和各三角形的单元目标坐标值进行网格划分,得到模型网格和各三角形的三角形网格;
根据所述基础数据、所述模型网格以及各三角形的三角形网格生成所述待生成粒子模型的粒子。
可选地,所述根据各三角形的基础数据确定模型目标坐标值和各三角形的单元目标坐标值,包括:
根据各三角形的基础数据确定所述待生成粒子模型中的横坐标极值、纵坐标极值以及竖坐标极值;
根据各三角形的基础数据确定各三角形的横坐标极值、纵坐标极值以及竖坐标极值;
根据所述待生成粒子模型中的横坐标极值、纵坐标极值以及竖坐标极值得到模型目标坐标值;
根据各三角形的横坐标极值、纵坐标极值以及竖坐标极值得到单元目标坐标值。
可选地,根据所述模型目标坐标值和第一预设包围条件确定模型包围矩形;
根据预设离散条件对所述模型包围矩形进行离散,得到模型网格;
根据各三角形的单元目标坐标值和第二预设包围条件确定各三角形的单元包围矩形;
根据所述预设离散条件对各单元包围矩形进行离散,得到各三角形的三角形网格。
可选地,所述根据所述基础数据、所述模型网格以及各三角形的三角形网格生成所述待生成粒子模型的粒子,包括:
根据所述模型网格和各三角形的三角形网格建立各三角形网格中的多个正方体网格与所述模型网格中的正方体网格之间的对应关系;
根据所述对应关系对所述模型网格中的正方体网格进行标记,得到标记内容;
根据所述标记内容和所述基础数据生成所述待生成粒子模型的粒子。
可选地,所述根据所述对应关系对所述模型网格中的正方体网格进行标记,得到标记内容,包括:
根据所述对应关系确定所述模型网格中的正方体网格在各三角形网格中的多个正方体网格中的影响网格;
计算所述模型网格中的正方体网格到各三角形的距离;
根据各三角形和所述模型网格中的正方体网格的网格中心确定所述模型网格中的正方体网格的网格中心的方向;
根据所述影响网格、所述距离以及所述模型网格中的正方体网格的网格中心的方向得到标记内容。
可选地,所述根据所述标记内容和所述基础数据生成所述待生成粒子模型的粒子,包括:
根据所述基础数据确定各三角形的外法线方向;
根据所述标记内容确定所述模型网格中的正方体网格的网格中心的方向和距离;
根据预设距离阈值、各三角形的外法线方向所述模型网格中的正方体网格的网格中心的方向以及所述距离进行网格确定,得到所述模型网格中的粒子生成网格;
在所述粒子生成网格生成所述待生成粒子模型的粒子。
可选地,所述根据预设距离阈值、各三角形的外法线方向所述模型网格中的正方体网格的网格中心的方向以及所述距离进行网格确定,得到所述模型网格中的粒子生成网格,包括:
判断所述模型网格中的正方体网格到各三角形的距离是否小于预设距离阈值;
当所述模型网格中的正方体网格到各三角形的距离小于预设距离阈值时,判断所述模型网格中的正方体网格的网格中心的方向与各三角形的外法线方向是否相同;
当所述模型网格中的正方体网格的网格中心的方向与各三角形的外法线方向相同时,将所述模型网格中的正方体网格作为所述模型网格中的粒子生成网格。
此外,为实现上述目的,本发明还提出一种模型粒子生成装置,所述模型粒子生成装置包括:
获取模块,用于获取待生成粒子模型的目标格式文件;
存储模块,用于对所述目标格式文件中的多个三角形的顶点坐标和外法线方向进行存储,得到各三角形的基础数据;
确定模块,用于根据各三角形的基础数据确定模型目标坐标值和各三角形的单元目标坐标值;
划分模块,用于根据所述模型目标坐标值和各三角形的单元目标坐标值进行网格划分,得到模型网格和各三角形的三角形网格;
生成模块,用于根据所述基础数据、所述模型网格以及各三角形的三角形网格生成所述待生成粒子模型的粒子。
此外,为实现上述目的,本发明还提出一种模型粒子生成设备,所述模型粒子生成设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的模型粒子生成程序,所述模型粒子生成程序配置为实现如上文所述的模型粒子生成方法。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有模型粒子生成程序,所述模型粒子生成程序被处理器执行时实现如上文所述的模型粒子生成方法。
本发明通过获取待生成粒子模型的目标格式文件;对所述目标格式文件中的多个三角形的顶点坐标和外法线方向进行存储,得到各三角形的基础数据;根据各三角形的基础数据确定模型目标坐标值和各三角形的单元目标坐标值;根据所述模型目标坐标值和各三角形的单元目标坐标值进行网格划分,得到模型网格和各三角形的三角形网格;根据所述基础数据、所述模型网格以及各三角形的三角形网格生成所述待生成粒子模型的粒子。通过上述方式,可实现对任何复杂的几何模型进行离散,从而大幅度缩短粒子生成的时间,实现了千万级粒子数目的快速准确离散以及复杂几何模型粒子的快速生成。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的模型粒子生成设备的结构示意图;
图2为本发明模型粒子生成方法第一实施例的流程示意图;
图3为本发明模型粒子生成方法一实施例的模型包围矩形示意图;
图4为本发明模型粒子生成方法第二实施例的流程示意图;
图5为本发明模型粒子生成方法一实施例的网格示意图;
图6为本发明模型粒子生成方法一实施例的效果示意图;
图7为本发明模型粒子生成装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的模型粒子生成设备结构示意图。
如图1所示,该模型粒子生成设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,Wi-Fi)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对模型粒子生成设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及模型粒子生成程序。
在图1所示的模型粒子生成设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明模型粒子生成设备中的处理器1001、存储器1005可以设置在模型粒子生成设备中,所述模型粒子生成设备通过处理器1001调用存储器1005中存储的模型粒子生成程序,并执行本发明实施例提供的模型粒子生成方法。
本发明实施例提供了一种模型粒子生成方法,参照图2,图2为本发明一种模型粒子生成方法第一实施例的流程示意图。
模型粒子生成方法包括以下步骤:
步骤S10:获取待生成粒子模型的目标格式文件。
需要说明的是,本实施例的执行主体为终端设备,终端设备可为电脑、平板电脑以及手机等其他智能终端,本实施例对此不加以限制,终端设备获取待生成粒子模型的目标格式文件,对目标格式文件中的多个三角形的顶点坐标和外法线方向进行存储,得到各三角形的基础数据,根据各三角形的基础数据确定模型目标坐标值和各三角形的单元目标坐标值,根据模型目标坐标值和各三角形的单元目标坐标值进行网格划分,得到模型网格和各三角形的三角形网格,根据基础数据、模型网格以及各三角形的三角形网格生成待生成粒子模型的粒子。
可以理解的是,待生成粒子模型指的是需要生成进行粒子生成的几何模型,几何模型可为任意模型。目标格式文件指的是待生成粒子模型的stl模型文件。
在具体实现中,使用通用CAD软件对待生成粒子模型进行建模,并保存为stl模型文件,该stl模型文件可以是文本格式的,也可以是二进制格式的。在保存完成之后,即可基于stl模型文件得到待生成粒子模型的目标格式文件。
步骤S20:对所述目标格式文件中的多个三角形的顶点坐标和外法线方向进行存储,得到各三角形的基础数据。
需要说明的是,由于目标格式文件中存在待生成粒子模型中的多个三角形,各三角形均会存在对应的顶点坐标和外法线方向,对目标格式文件进行数据读取,将各三角形的初始顶点坐标与外法线方向进行存储,由于同一个顶点往往属于多个三角形,故该顶点的坐标(通常是3个浮点型数据)被重复保存多次,为了节省内存,本实施例中对于各三角形的顶点坐标存储采用以下过程:对所有顶点坐标进行查重,删除重复顶点,确保每个顶点的坐标只保存一份,将所有的顶点坐标保存为一个向量,向量的下标为顶点的编号,针对每一个三角形单元不再存储顶点的坐标,而是存储顶点向量的下标编号。最终得到的顶点向量的下标编号即为各三角形的顶点坐标。
可以理解的是,各三角形的基础数据即为各三角形的顶点坐标和外发现方向。
步骤S30:根据各三角形的基础数据确定模型目标坐标值和各三角形的单元目标坐标值。
需要说明的是,模型目标坐标值指的是待生成粒子模型的所有三角形中的坐标极值,各三角形的单元目标坐标值指的是各三角形的三个顶点坐标中的极值。
可以理解的是,在得到各三角形的基础数据后,可根据各三角形的基础数据中的顶点坐标确定模型目标坐标值和单元目标坐标值。
在具体实现中,为了保证模型目标坐标值和单元目标坐标值的准确性,进一步地,所述根据各三角形的基础数据确定模型目标坐标值和各三角形的单元目标坐标值,包括:根据各三角形的基础数据确定所述待生成粒子模型中的横坐标极值、纵坐标极值以及竖坐标极值;根据各三角形的基础数据确定各三角形的横坐标极值、纵坐标极值以及竖坐标极值;根据所述待生成粒子模型中的横坐标极值、纵坐标极值以及竖坐标极值得到模型目标坐标值;根据各三角形的横坐标极值、纵坐标极值以及竖坐标极值得到单元目标坐标值。
需要说明的是,根据各三角形基础数据中的顶点坐标确定待生成粒子模型中的横坐标最大值Xmax、横坐标最小值Xmin、纵坐标最大值Ymax、纵坐标最小值Ymin、竖坐标最小值Zmin以及竖坐标最大值Zmax,待生成粒子模型中的横坐标最大值Xmax、横坐标最小值Xmin即为横坐标极值,纵坐标最大值Ymax、纵坐标最小值Ymin即为纵坐标极值,竖坐标最小值Zmin、竖坐标最大值Zmax即为竖坐标极值,模型目标坐标值即包括待生成粒子模型中的横坐标极值、纵坐标极值以及竖坐标极值。根据各三角形的基础数据确定各三角形的横坐标最大值xmax、横坐标最小值xmin、纵坐标最大值ymax、纵坐标最小值ymin、竖坐标最小值zmin以及竖坐标最大值zmax,待生成粒子模型中的横坐标最大值xmax、横坐标最小值xmin即为横坐标极值,纵坐标最大值ymax、纵坐标最小值ymin即为纵坐标极值,竖坐标最小值zmin、竖坐标最大值zmax即为竖坐标极值,单元目标坐标值即包括各三角形的横坐标极值、纵坐标极值以及竖坐标极值。
步骤S40:根据所述模型目标坐标值和各三角形的单元目标坐标值进行网格划分,得到模型网格和各三角形的三角形网格。
需要说明的是,模型网格指的是将待生成粒子模型包围后的模型包围矩形按照单元正方格进行划分后得到的包围矩形,三角形网格指的是将各三角形包围后的单元包围矩形按照单元正方格进行划分后得到的包围矩形。
可以理解的是,为了得到准确的三角形网格和模型网格,进一步地,所述根据所述模型目标坐标值和各三角形的单元目标坐标值进行网格划分,得到模型网格和各三角形的三角形网格,包括:根据所述模型目标坐标值和第一预设包围条件确定模型包围矩形;根据预设离散条件对所述模型包围矩形进行离散,得到模型网格;根据各三角形的单元目标坐标值和第二预设包围条件确定各三角形的单元包围矩形;根据所述预设离散条件对各单元包围矩形进行离散,得到各三角形的三角形网格。
在具体实现中,第一预设包围条件指的是预先设定的将待生成粒子模型进行包围时的条件,基于模型目标坐标值和第一预设包围条件可确定模型包围矩形,模型包围矩形指的是将待生成粒子模型进行包围时的矩形。在本实施例中,第一预设包围条件中的粒子间距离为dx,模型目标坐标值[Xmin,Xmax,Ymin,Ymax,Zmin,Zmax],由于SPH方法需要使用多层粒子来消除边界截断效应,故需要扩大矩形包围盒;假设第一预设包围条件粒子间距为dx,影响半径为3倍dx,以横坐标方向的坐标最小值Xmin和最大值Xmax为例:将Xmin减小3倍粒子间距,得到Xmin'=Xmin-3dx;将Xmax增加3倍粒子间距,得到Xmax'=Xmax+3dx;将Xmin'调整为dx的整数倍;一般地,模型是任意的,Xmin'并不是dx的整数倍,此时计算Xmin'/dx,并向下取整,得到整数Nx0,最后,Xmin”=Nx0×dx;将Xmax'调整为dx的整数倍;一般地,模型是任意的,Xmax'并不是dx的整数倍,此时计算Xmax'/dx,并向上取整,得到整数Nx1,最后,Xmax”=Nx1×dx;重复步骤上述步骤,计算纵坐标方向和竖坐标方向扩大后的矩形包围盒坐标;最终的矩形包围盒的坐标是[Xmin”,Xmax”,Ymin”,Ymax”,Zmin”,Zmax”],如图3中的矩形所示,矩形包围盒即为模型包围矩形。
需要说明的是,预设离散条件指的是预先设定的用于离散模型包围矩形的条件,在本实施例中预设离散条件为使用边长为dx的正方体网格离散模型包围矩形。根据边长为dx的正方体网格离散整个模型包围矩形,建立网格向量Nstl。离散后的模型包围矩形即为模型网格。模型网格中的每一个正方体网格都具有如下属性:该正方体网格中心的坐标[Xmid,Ymid,Zmid],设其变量名为pos;该正方体网格收到哪些三角形的影响,设其变量名为tri;该正方体网格中心到三角形面的距离,设其变量名为dis;该正方体网格中心与三角形面的外法线是否同向,同向则为true,否则为false;设其变量名为side;该正方体网格是否应该生成粒子,初始值为default,即默认不生成;若经过计算后需要生成,则更改其值为valid;设其变量名为gen,正方体网格属性在后续计算后才可得出。
可以理解的是,第二预设包围条件指的是预先设定的将三角形进行包围时的条件,基于单元目标坐标值和第二预设包围条件可确定单元包围矩形,单元包围矩形指的是将各三角形进行包围时的矩形。在本实施例中,第二预设包围条件中的粒子间距离为dx,单元目标坐标值[xmin,xmax,ymin,ymax,zmin,zmax],由于SPH方法需要使用多层粒子来消除边界截断效应,故需要扩大矩形包围盒;假设第二预设包围条件粒子间距为dx,影响半径为3倍dx,以横坐标方向的坐标值最小值xmin和最大值xmax为例:将xmin减小3倍粒子间距,得到xmin'=xmin-3dx;将xmax增加3倍粒子间距,得到xmax'=xmax+3dx;将xmin'调整为dx的整数倍;一般地,模型是任意的,xmin'并不是dx的整数倍,此时计算xmin'/dx,并向下取整,得到整数TNx0,最后,xmin'=TNx0×dx;将xmax'调整为dx的整数倍;一般地,模型是任意的,xmax'并不是dx的整数倍,此时计算xmax'/dx,并向上取整,得到整数TNx1,最后,xmax”=Nx1×dx;重复上述步骤,计算纵坐标方向和竖坐标方向扩大后的矩形包围盒坐标;最终的矩形包围盒的坐标是[xmin”,xmax”,ymin”,ymax”,zmin”,zmax”],矩形包围盒即为单元包围矩形。
在具体实现中,根据边长为dx的正方体网格离散整个单元包围矩形,离散后的模型包围矩形即为各三角形的三角形网格。
需要说明的是,对模型网格内的正方体网格进行标记,包括以下步骤:循环各三角形的三角形网格中的各正方体网格;由于该网格与模型网格的某个网格中心位置完全重合,故可以找到其对应的模型网格Nstl的下标索引;为方便描述,假设第i号三角形的第j号正方体网格对应到Nstl下标索引为k;计算Nstl的第k号元素的值,即该正方体网格收到哪些三角形的影响、该正方体网格中心到三角形面的距离、该正方体网格中心与三角形面的外法线是否同向,同向则为true,否则为false;设其变量名为side具体如下:该元素所属的三角形编号为i,即:Nstl[k].tri=i;计算该元素网格中心点O(坐标为(xo,yo,zo))到i号三角形的距离;假设i号三角形的法向量为i号三角形的任意一个顶点A坐标为(xA,yA,zA),则有向量:向量与的点积的绝对值即为点O到i号三角形的距离,即:Nstl[k].dis=|xn(xo-xA)+yn(yo-yA)+zn(zo-zA)|;计算该元素网格中心点O与i号三角形的外法线方向是否同侧;当xn(xo-xA)+yn(yo-yA)+zn(zo-zA)大于或等于0时,O与同向,即:Nstl[k].side=true;当xn(xo-xA)+yn(yo-yA)+zn(zo-zA)小于0时,O与反向,即:Nstl[k].side=false。
步骤S50:根据所述基础数据、所述模型网格以及各三角形的三角形网格生成所述待生成粒子模型的粒子。
需要说明的是,在确定基础数据、模型网格以及各三角形的三角形网格后,可确定模型网格中可生成粒子的正方体网格,在该正方体网格处进行粒子生成。
本实施例通过获取待生成粒子模型的目标格式文件;对所述目标格式文件中的多个三角形的顶点坐标和外法线方向进行存储,得到各三角形的基础数据;根据各三角形的基础数据确定模型目标坐标值和各三角形的单元目标坐标值;根据所述模型目标坐标值和各三角形的单元目标坐标值进行网格划分,得到模型网格和各三角形的三角形网格;根据所述基础数据、所述模型网格以及各三角形的三角形网格生成所述待生成粒子模型的粒子。通过上述方式,可实现对任何复杂的几何模型进行离散,从而大幅度缩短粒子生成的时间,实现了千万级粒子数目的快速准确离散以及复杂几何模型粒子的快速生成。
参考图4,图4为本发明一种模型粒子生成方法第二实施例的流程示意图。
基于上述第一实施例,本实施例模型粒子生成方法中所述步骤S50,包括:
步骤S51:根据所述模型网格和各三角形的三角形网格建立各三角形网格中的多个正方体网格与所述模型网格中的正方体网格之间的对应关系。
需要说明的是,在得到模型网格盒各三角形的三角形网格后,可建立各三角形网格中的每个正方体网格与模型网格中各正方体网格之间的一一对应关系。对应关系中包括但不限于模型网格中的各正方体网格收到哪些三角形的影响,设其变量名为tri;该正方体网格中心到三角形面的距离,设其变量名为dis;该正方体网格中心与三角形面的外法线是否同向,同向则为true,否则为false;设其变量名为side;该正方体网格是否应该生成粒子,初始值为default,即默认不生成;若经过计算后需要生成,则更改其值为valid;设其变量名为gen。但不限于
步骤S52:根据所述对应关系对所述模型网格中的正方体网格进行标记,得到标记内容。
需要说明的是,根据对应关系对模型网格中的正方体网格进行标记,从而得到标记内容,标记内容包括影响网格、模型网格中各正方体网格到三角形面的距离、模型网格中各正方体网格的网格中心的方向。
可以理解的是,为了得到准确定的标记内容,进一步地,所述根据所述对应关系对所述模型网格中的正方体网格进行标记,得到标记内容,包括:根据所述对应关系确定所述模型网格中的正方体网格在各三角形网格中的多个正方体网格中的影响网格;计算所述模型网格中的正方体网格到各三角形的距离;根据各三角形和所述模型网格中的正方体网格的网格中心确定所述模型网格中的正方体网格的网格中心的方向;根据所述影响网格、所述距离以及所述模型网格中的正方体网格的网格中心的方向得到标记内容。
在具体实现中,循环各三角形的三角形网格中的各正方体网格;由于该网格与模型网格的某个网格中心位置完全重合,故可以找到其对应的模型网格Nstl的下标索引;为方便描述,假设第i号三角形的第j号正方体网格对应到Nstl下标索引为k;计算Nstl的第k号元素的值,即该正方体网格收到哪些三角形的影响、该正方体网格中心到三角形面的距离、该正方体网格中心与三角形面的外法线是否同向,同向则为true,否则为false;设其变量名为side具体如下:该元素所属的三角形编号为i,即:Nstl[k].tri=i;计算该元素网格中心点O(坐标为(xo,yo,zo))到i号三角形的距离;假设i号三角形的法向量为i号三角形的任意一个顶点A坐标为(xA,yA,zA),则有向量:向量与的点积的绝对值即为点O到i号三角形的距离,即:Nstl[k].dis=|xn(xo-xA)+yn(yo-yA)+zn(zo-zA)|;计算该元素网格中心点O与i号三角形的外法线方向是否同侧;当xn(xo-xA)+yn(yo-yA)+zn(zo-zA)大于或等于0时,O与同向,即:Nstl[k].side=true;当xn(xo-xA)+yn(yo-yA)+zn(zo-zA)小于0时,O与反向,即:Nstl[k].side=false。
步骤S53:根据所述标记内容和所述基础数据生成所述待生成粒子模型的粒子。
需要说明的是,在得到标记内容后,基于标记内容和各三角形的基础数据可进行粒子生成。
可以理解的是,为了进行准确的粒子生成,进一步地,所述根据所述标记内容和所述基础数据生成所述待生成粒子模型的粒子,包括:根据所述基础数据确定各三角形的外法线方向;根据所述标记内容确定所述模型网格中的正方体网格的网格中心的方向和距离;根据预设距离阈值、各三角形的外法线方向所述模型网格中的正方体网格的网格中心的方向以及所述距离进行网格确定,得到所述模型网格中的粒子生成网格;在所述粒子生成网格生成所述待生成粒子模型的粒子。
在具体实现中,根据基础数据确定各三角形的外法线方向,根据标记内容确定模型网格中各正方体网格到三角形面的距离和各正方体网格的中心的方向,预设距离阈值指的是预先设定的进行粒子生成的距离阈值。根据预设距离阈值、各三角形的外法线方向所述模型网格中的正方体网格的网格中心的方向以及所述距离进行网格确定,从而得到模型网格中可进行粒子生成的正方体网格,可进行粒子生成的正方体网格即为粒子生成网格,在粒子生成网格处进行粒子生成。在本实施例中,第一预设包围条件影响半径为3倍dx,预设距离阈值与影响半径相同。
需要说明的是,为了得到准确的粒子生成网格,进一步地,所述根据预设距离阈值、各三角形的外法线方向所述模型网格中的正方体网格的网格中心的方向以及所述距离进行网格确定,得到所述模型网格中的粒子生成网格,包括:判断所述模型网格中的正方体网格到各三角形的距离是否小于预设距离阈值;当所述模型网格中的正方体网格到各三角形的距离小于预设距离阈值时,判断所述模型网格中的正方体网格的网格中心的方向与各三角形的外法线方向是否相同;当所述模型网格中的正方体网格的网格中心的方向与各三角形的外法线方向相同时,将所述模型网格中的正方体网格作为所述模型网格中的粒子生成网格。
可以理解的是,判断模型网格中的正方体网格到各三角形面的距离是否小于预设距离阈值,当模型网格中的正方体网格到各三角形面的距离小于预设距离阈值时,判断模型网格中的正方体网格的网格中心的方向与各三角形的外法线方向是否相同,当模型网格中的正方体网格的网格中心的方向与各三角形的外法线方向相同时,将模型网格中的正方体网格作为模型网格中的粒子生成网格。
在具体实现中,只有当模型网格的正方体网格的属性中Nstl[k].dis<3dx且Nstl[k].side=true同时成立时,判断可以在此处生成粒子,即:Nstl[k].gen=valid,如图5所示,图5中当三角形ABC垂直于xy平面时的z轴视图,实体正方形为有效网格,网格中心生成粒子。循环各三角形单元,由于模型网格中存在某些正方体网格可能同时属于不同的三角形,只有当该正方体网格对于所有的三角形均满足条件Nstl[k].dis<3dx且Nstl[k].side=true时,才将该正方体网格作为粒子生成网格,最终基于粒子生成网格进行粒子生成,如图6所示,图6为对齿轮进行离散的效果实例图。
本实施例中通过根据所述模型网格和各三角形的三角形网格建立各三角形网格中的多个正方体网格与所述模型网格中的正方体网格之间的对应关系;根据所述对应关系对所述模型网格中的正方体网格进行标记,得到标记内容;根据所述标记内容和所述基础数据生成所述待生成粒子模型的粒子。通过建立模型网格中的正方体网格和各三角形网格中各正方体网格之间的对应关系,并基于对立关系确定的标记内容进行粒子生成,保证了粒子生成过程的准确性。
此外,参照图7,本发明实施例还提出一种模型粒子生成装置,所述模型粒子生成装置包括:
获取模块10,用于获取待生成粒子模型的目标格式文件。
存储模块20,用于对所述目标格式文件中的多个三角形的顶点坐标和外法线方向进行存储,得到各三角形的基础数据。
确定模块30,用于根据各三角形的基础数据确定模型目标坐标值和各三角形的单元目标坐标值。
划分模块40,用于根据所述模型目标坐标值和各三角形的单元目标坐标值进行网格划分,得到模型网格和各三角形的三角形网格。
生成模块50,用于根据所述基础数据、所述模型网格以及各三角形的三角形网格生成所述待生成粒子模型的粒子。
本实施例通过获取待生成粒子模型的目标格式文件;对所述目标格式文件中的多个三角形的顶点坐标和外法线方向进行存储,得到各三角形的基础数据;根据各三角形的基础数据确定模型目标坐标值和各三角形的单元目标坐标值;根据所述模型目标坐标值和各三角形的单元目标坐标值进行网格划分,得到模型网格和各三角形的三角形网格;根据所述基础数据、所述模型网格以及各三角形的三角形网格生成所述待生成粒子模型的粒子。通过上述方式,可实现对任何复杂的几何模型进行离散,从而大幅度缩短粒子生成的时间,实现了千万级粒子数目的快速准确离散以及复杂几何模型粒子的快速生成。
在一实施例中,所述确定模块30,还用于根据各三角形的基础数据确定所述待生成粒子模型中的横坐标极值、纵坐标极值以及竖坐标极值;
根据各三角形的基础数据确定各三角形的横坐标极值、纵坐标极值以及竖坐标极值;
根据所述待生成粒子模型中的横坐标极值、纵坐标极值以及竖坐标极值得到模型目标坐标值;
根据各三角形的横坐标极值、纵坐标极值以及竖坐标极值得到单元目标坐标值。
在一实施例中,所述划分模块40,还用于根据所述模型目标坐标值和第一预设包围条件确定模型包围矩形;
根据预设离散条件对所述模型包围矩形进行离散,得到模型网格;
根据各三角形的单元目标坐标值和第二预设包围条件确定各三角形的单元包围矩形;
根据所述预设离散条件对各单元包围矩形进行离散,得到各三角形的三角形网格。
在一实施例中,所述生成模块50,还用于根据所述模型网格和各三角形的三角形网格建立各三角形网格中的多个正方体网格与所述模型网格中的正方体网格之间的对应关系;
根据所述对应关系对所述模型网格中的正方体网格进行标记,得到标记内容;
根据所述标记内容和所述基础数据生成所述待生成粒子模型的粒子。
在一实施例中,所述生成模块50,还用于根据所述对应关系确定所述模型网格中的正方体网格在各三角形网格中的多个正方体网格中的影响网格;
计算所述模型网格中的正方体网格到各三角形的距离;
根据各三角形和所述模型网格中的正方体网格的网格中心确定所述模型网格中的正方体网格的网格中心的方向;
根据所述影响网格、所述距离以及所述模型网格中的正方体网格的网格中心的方向得到标记内容。
在一实施例中,所述生成模块50,还用于根据所述基础数据确定各三角形的外法线方向;
根据所述标记内容确定所述模型网格中的正方体网格的网格中心的方向和距离;
根据预设距离阈值、各三角形的外法线方向所述模型网格中的正方体网格的网格中心的方向以及所述距离进行网格确定,得到所述模型网格中的粒子生成网格;
在所述粒子生成网格生成所述待生成粒子模型的粒子。
在一实施例中,所述生成模块50,还用于判断所述模型网格中的正方体网格到各三角形的距离是否小于预设距离阈值;
当所述模型网格中的正方体网格到各三角形的距离小于预设距离阈值时,判断所述模型网格中的正方体网格的网格中心的方向与各三角形的外法线方向是否相同;
当所述模型网格中的正方体网格的网格中心的方向与各三角形的外法线方向相同时,将所述模型网格中的正方体网格作为所述模型网格中的粒子生成网格。
由于本装置采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有模型粒子生成程序,所述模型粒子生成程序被处理器执行时实现如上文所述的模型粒子生成方法的步骤。
由于本存储介质采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的模型粒子生成方法,此处不再赘述。
此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(Read Only Memory,ROM)/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种模型粒子生成方法,其特征在于,所述模型粒子生成方法包括:
获取待生成粒子模型的目标格式文件;
对所述目标格式文件中的多个三角形的顶点坐标和外法线方向进行存储,得到各三角形的基础数据;
根据各三角形的基础数据确定模型目标坐标值和各三角形的单元目标坐标值;
根据所述模型目标坐标值和各三角形的单元目标坐标值进行网格划分,得到模型网格和各三角形的三角形网格;
根据所述基础数据、所述模型网格以及各三角形的三角形网格生成所述待生成粒子模型的粒子。
2.如权利要求1所述的模型粒子生成方法,其特征在于,所述根据各三角形的基础数据确定模型目标坐标值和各三角形的单元目标坐标值,包括:
根据各三角形的基础数据确定所述待生成粒子模型中的横坐标极值、纵坐标极值以及竖坐标极值;
根据各三角形的基础数据确定各三角形的横坐标极值、纵坐标极值以及竖坐标极值;
根据所述待生成粒子模型中的横坐标极值、纵坐标极值以及竖坐标极值得到模型目标坐标值;
根据各三角形的横坐标极值、纵坐标极值以及竖坐标极值得到单元目标坐标值。
3.如权利要求1所述的模型粒子生成方法,其特征在于,所述根据所述模型目标坐标值和各三角形的单元目标坐标值进行网格划分,得到模型网格和各三角形的三角形网格,包括:
根据所述模型目标坐标值和第一预设包围条件确定模型包围矩形;
根据预设离散条件对所述模型包围矩形进行离散,得到模型网格;
根据各三角形的单元目标坐标值和第二预设包围条件确定各三角形的单元包围矩形;
根据所述预设离散条件对各单元包围矩形进行离散,得到各三角形的三角形网格。
4.如权利要求1所述的模型粒子生成方法,其特征在于,所述根据所述基础数据、所述模型网格以及各三角形的三角形网格生成所述待生成粒子模型的粒子,包括:
根据所述模型网格和各三角形的三角形网格建立各三角形网格中的多个正方体网格与所述模型网格中的正方体网格之间的对应关系;
根据所述对应关系对所述模型网格中的正方体网格进行标记,得到标记内容;
根据所述标记内容和所述基础数据生成所述待生成粒子模型的粒子。
5.如权利要求4所述的模型粒子方法,其特征在于,所述根据所述对应关系对所述模型网格中的正方体网格进行标记,得到标记内容,包括:
根据所述对应关系确定所述模型网格中的正方体网格在各三角形网格中的多个正方体网格中的影响网格;
计算所述模型网格中的正方体网格到各三角形的距离;
根据各三角形和所述模型网格中的正方体网格的网格中心确定所述模型网格中的正方体网格的网格中心的方向;
根据所述影响网格、所述距离以及所述模型网格中的正方体网格的网格中心的方向得到标记内容。
6.如权利要求4所述的模型粒子生成方法,其特征在于,所述根据所述标记内容和所述基础数据生成所述待生成粒子模型的粒子,包括:
根据所述基础数据确定各三角形的外法线方向;
根据所述标记内容确定所述模型网格中的正方体网格的网格中心的方向和距离;
根据预设距离阈值、各三角形的外法线方向所述模型网格中的正方体网格的网格中心的方向以及所述距离进行网格确定,得到所述模型网格中的粒子生成网格;
在所述粒子生成网格生成所述待生成粒子模型的粒子。
7.如权利要求6所述的模型粒子生成方法,其特征在于,所述根据预设距离阈值、各三角形的外法线方向所述模型网格中的正方体网格的网格中心的方向以及所述距离进行网格确定,得到所述模型网格中的粒子生成网格,包括:
判断所述模型网格中的正方体网格到各三角形的距离是否小于预设距离阈值;
当所述模型网格中的正方体网格到各三角形的距离小于预设距离阈值时,判断所述模型网格中的正方体网格的网格中心的方向与各三角形的外法线方向是否相同;
当所述模型网格中的正方体网格的网格中心的方向与各三角形的外法线方向相同时,将所述模型网格中的正方体网格作为所述模型网格中的粒子生成网格。
8.一种模型粒子生成装置,其特征在于,所述模型粒子生成装置包括:
获取模块,用于获取待生成粒子模型的目标格式文件;
存储模块,用于对所述目标格式文件中的多个三角形的顶点坐标和外法线方向进行存储,得到各三角形的基础数据;
确定模块,用于根据各三角形的基础数据确定模型目标坐标值和各三角形的单元目标坐标值;
划分模块,用于根据所述模型目标坐标值和各三角形的单元目标坐标值进行网格划分,得到模型网格和各三角形的三角形网格;
生成模块,用于根据所述基础数据、所述模型网格以及各三角形的三角形网格生成所述待生成粒子模型的粒子。
9.一种模型粒子生成设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的模型粒子生成程序,所述模型粒子生成程序配置为实现如权利要求1至7中任一项所述的模型粒子生成方法。
10.一种存储介质,其特征在于,所述存储介质上存储有模型粒子生成程序,所述模型粒子生成程序被处理器执行时实现如权利要求1至7任一项所述的模型粒子生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211120353.6A CN115659769B (zh) | 2022-09-15 | 2022-09-15 | 模型粒子生成方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211120353.6A CN115659769B (zh) | 2022-09-15 | 2022-09-15 | 模型粒子生成方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115659769A true CN115659769A (zh) | 2023-01-31 |
CN115659769B CN115659769B (zh) | 2023-11-03 |
Family
ID=84983210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211120353.6A Active CN115659769B (zh) | 2022-09-15 | 2022-09-15 | 模型粒子生成方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115659769B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106157370A (zh) * | 2016-03-03 | 2016-11-23 | 重庆大学 | 一种基于粒子群算法的三角网格规范化方法 |
CN106407605A (zh) * | 2016-11-01 | 2017-02-15 | 南京大学 | 一种三维服装的粒子化计算机动态仿真方法 |
CN107689080A (zh) * | 2017-08-21 | 2018-02-13 | 西安华景动力科技有限公司 | 基于三角剖分算法的sph粒子封闭曲面可视化方法 |
US20190304180A1 (en) * | 2016-06-08 | 2019-10-03 | Technische Universität München | Method and System for Generating a Mesh |
CN112652044A (zh) * | 2021-01-05 | 2021-04-13 | 网易(杭州)网络有限公司 | 粒子特效渲染方法、装置、设备及存储介质 |
CN113378435A (zh) * | 2021-06-09 | 2021-09-10 | 青岛海尔工业智能研究院有限公司 | 粒子生成方法、装置、设备及存储介质 |
CN113724401A (zh) * | 2021-09-02 | 2021-11-30 | 广州点金石信息技术有限公司 | 一种三维模型切割方法、装置、计算机设备和存储介质 |
CN114219916A (zh) * | 2021-11-29 | 2022-03-22 | 长沙眸瑞网络科技有限公司 | 一种网格边界三角形面片的提取方法、装置、电子装置和存储介质 |
CN114332440A (zh) * | 2022-03-08 | 2022-04-12 | 南京雷电信息技术有限公司 | 采用stl格式3D模型反演生成目标SAR图像的方法 |
-
2022
- 2022-09-15 CN CN202211120353.6A patent/CN115659769B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106157370A (zh) * | 2016-03-03 | 2016-11-23 | 重庆大学 | 一种基于粒子群算法的三角网格规范化方法 |
US20190304180A1 (en) * | 2016-06-08 | 2019-10-03 | Technische Universität München | Method and System for Generating a Mesh |
CN106407605A (zh) * | 2016-11-01 | 2017-02-15 | 南京大学 | 一种三维服装的粒子化计算机动态仿真方法 |
CN107689080A (zh) * | 2017-08-21 | 2018-02-13 | 西安华景动力科技有限公司 | 基于三角剖分算法的sph粒子封闭曲面可视化方法 |
CN112652044A (zh) * | 2021-01-05 | 2021-04-13 | 网易(杭州)网络有限公司 | 粒子特效渲染方法、装置、设备及存储介质 |
CN113378435A (zh) * | 2021-06-09 | 2021-09-10 | 青岛海尔工业智能研究院有限公司 | 粒子生成方法、装置、设备及存储介质 |
CN113724401A (zh) * | 2021-09-02 | 2021-11-30 | 广州点金石信息技术有限公司 | 一种三维模型切割方法、装置、计算机设备和存储介质 |
CN114219916A (zh) * | 2021-11-29 | 2022-03-22 | 长沙眸瑞网络科技有限公司 | 一种网格边界三角形面片的提取方法、装置、电子装置和存储介质 |
CN114332440A (zh) * | 2022-03-08 | 2022-04-12 | 南京雷电信息技术有限公司 | 采用stl格式3D模型反演生成目标SAR图像的方法 |
Non-Patent Citations (1)
Title |
---|
林汤山: "基于GPU的实时粒子系统渲染技术的研究与实现", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》, pages 137 - 69 * |
Also Published As
Publication number | Publication date |
---|---|
CN115659769B (zh) | 2023-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10614620B2 (en) | Systems and methods for computer-based visualization, rendering, and representation of regions of space using point clouds | |
Shimada | Physically-based mesh generation: automated triangulation of surfaces and volumes via bubble packing | |
CN111369657B (zh) | 三维热力图的生成方法、装置、计算机设备和存储介质 | |
US8040347B2 (en) | Method for constructing surface of fluid-body simulation based on particle method, program for the same, and storage medium for storing program | |
JPH08320947A (ja) | 数値解析用メッシュ作成方法及び装置 | |
US20130120355A1 (en) | Methods and Apparatus for Generating Curved Extrusions | |
US11455752B2 (en) | Graphical element color diffusion techniques | |
Liu et al. | Memory-efficient modeling and slicing of large-scale adaptive lattice structures | |
CN114820972B (zh) | 等值线和/或等值面生成方法、系统、设备及存储介质 | |
Kim et al. | Querying simplexes in quasi-triangulation | |
CN113112594A (zh) | 基于电力gim的输变电工程三维模型轻量化方法及装置 | |
CN113378435A (zh) | 粒子生成方法、装置、设备及存储介质 | |
CN115659769A (zh) | 模型粒子生成方法、装置、设备及存储介质 | |
US11610350B2 (en) | Automatically filling a geometric shape with graphical cells aligned with the geometric shape | |
CN115984440A (zh) | 对象渲染方法、装置、计算机设备和存储介质 | |
US11651536B2 (en) | Directional pattern generation for digital images | |
CN114797109A (zh) | 对象编辑方法、装置、电子设备和存储介质 | |
Quinn et al. | Improved initialisation for centroidal Voronoi tessellation and optimal Delaunay triangulation | |
Conti et al. | Generation of oriented three‐dimensional Delaunay grids suitable for the control volume integration method | |
Goshtasby | Parametric circles and spheres | |
US11631220B2 (en) | Digital object surface inflation | |
US11776207B2 (en) | Three-dimensional shape data processing apparatus and non-transitory computer readable medium | |
CN111027244B (zh) | 一种百亿级颗粒模型的构建方法 | |
CN115686518A (zh) | 前端页面生成方法、装置、计算机设备和存储介质 | |
Lopez | MATLAB Graphical Programming: Practical hands-on MATLAB solutions |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |