CN116384209B - 一种用于应急模拟演练的灾害仿真方法 - Google Patents
一种用于应急模拟演练的灾害仿真方法 Download PDFInfo
- Publication number
- CN116384209B CN116384209B CN202310619896.0A CN202310619896A CN116384209B CN 116384209 B CN116384209 B CN 116384209B CN 202310619896 A CN202310619896 A CN 202310619896A CN 116384209 B CN116384209 B CN 116384209B
- Authority
- CN
- China
- Prior art keywords
- simulation
- data
- point
- attribute information
- information
- 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.)
- Active
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 290
- 238000000034 method Methods 0.000 title claims abstract description 89
- 238000004364 calculation method Methods 0.000 claims abstract description 64
- 230000006835 compression Effects 0.000 claims description 29
- 238000007906 compression Methods 0.000 claims description 29
- 230000008569 process Effects 0.000 claims description 27
- 239000002245 particle Substances 0.000 claims description 22
- 238000005553 drilling Methods 0.000 claims description 20
- 230000003068 static effect Effects 0.000 claims description 20
- 238000003860 storage Methods 0.000 claims description 15
- 238000005457 optimization Methods 0.000 claims description 14
- 238000013507 mapping Methods 0.000 claims description 11
- 238000005094 computer simulation Methods 0.000 claims description 10
- 238000012216 screening Methods 0.000 claims description 8
- 238000009877 rendering Methods 0.000 claims description 6
- 238000004422 calculation algorithm Methods 0.000 claims description 4
- 230000004323 axial length Effects 0.000 claims description 3
- 239000000203 mixture Substances 0.000 claims description 3
- 238000012549 training Methods 0.000 abstract description 9
- 230000007246 mechanism Effects 0.000 abstract description 7
- 230000000694 effects Effects 0.000 description 27
- 238000005516 engineering process Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000009826 distribution Methods 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000012800 visualization Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000002485 combustion reaction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000000779 smoke Substances 0.000 description 2
- UGFAIRIUMAVXCW-UHFFFAOYSA-N Carbon monoxide Chemical compound [O+]#[C-] UGFAIRIUMAVXCW-UHFFFAOYSA-N 0.000 description 1
- 229910002091 carbon monoxide Inorganic materials 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- -1 molecules Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000001556 precipitation Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000009423 ventilation Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
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
- G06F30/25—Design optimisation, verification or simulation using particle-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/14—Force analysis or force optimisation, e.g. static or dynamic forces
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A10/00—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE at coastal zones; at river basins
- Y02A10/40—Controlling or monitoring, e.g. of flood or hurricane; Forecasting, e.g. risk assessment or mapping
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供的一种用于应急模拟演练的灾害仿真方法,其基于现有技术中的动力学仿真软件,建立灾害的机理模型和三维模型,并对其进行求解,对得到的动力学仿真软件的计算结果按照自定义的数据结构进行处理,确保动力学仿真软件的计算结果可以灵活地被使用到其他的应急演练软件中,为提高安全教育培训、灾害应急救援演灾中灾害仿真的真实性提供数据基础。
Description
技术领域
本发明涉及虚拟仿真技术领域,具体为一种用于应急模拟演练的灾害仿真方法。
背景技术
在安全教育培训、灾害应急救援演练等等领域,通常会通过虚拟仿真场景进行培训或者演练讲解,需要在灾害虚拟仿真的基础上再配合上脱线路径、救灾人员位置、救灾设备搬运等等各种仿真,确保受众能够更好的理解和学习。现有技术中的灾害仿真,通常基于以下三种方式进行:
方式1:基于二三维联动技术,即在二维地图和三维场景之间实现同步显示和交互操作,以提高灾害可视化的效果和效率。方式2:利用虚拟现实技术对灾害场景和过程进行真实感的模拟和再现,以增强人们对灾害的感知和体验。如申请号为:CN201120000915.4提出的一种地震灾害救援仿真***,其通过存储海量的地震现场的视频、图片、声音、文本素材数据,进行数据挖掘得到地震相关的灾害数据信息。基于三维建模后,再与灾害数据进行匹配构建灾害仿真模型。方式3:科学计算,通过利用流体仿真技术对火灾场景进行模拟。
但是,方式1中,只是通过简单的二三维联动进行实现,灾害的现实模式通常只是固定的粒子特效或者三维模型,虽然该种方法能够确定大致的灾害位置,但是对于灾害的可视化效果和仿真还原程度达不到逼真的要求。方式2通过虚拟现实技术进行灾害的仿真,虽然在显示效果层面上经过技术或美术人员的建模和调整,能够达到展示逼真的效果,但是该类仿真也只能是通过人为的认知或者经验对灾害的还原,没有一定的灾害机理支持,达不到实际数据的仿真。方式3通过求解流体力学方程和燃烧反应方程,计算火焰形态、温度分布、烟气浓度等物理量,并通过可视化技术将计算结果展示出,整个过程计算过程复杂,计算量极大。
其中,关于方式3,有FDS(Fire Dynamics Simulator, 火灾动力学模拟工具)和Matlab等动力学仿真软件用于进行灾害仿真计算,使用这些仿真软件进行灾害仿真不需要用户自己考虑计算过程,提高了计算效率,同时能够使灾害仿真的结果有一定的的数学机理支撑。但是,其计算结果只能在其对应的动力学仿真软件中显示,而现有的动力学仿真软件中,又无法满足灾害仿真以外的救援演练或者安全教育等需求。
发明内容
为了解决现有的安全教育培训和灾害应急救援演练中,灾害害仿真效果不好导致演练效果不佳,本发明提供一种用于应急模拟演练的灾害仿真方法,其可以灵活、快速地将现有的动力学仿真软件的计算结果应用于不同的教学演练需求中,为提高安全教育培训、灾害应急救援演灾中灾害仿真的真实性提供数据基础。
本发明的技术方案是这样的:一种用于应急模拟演练的灾害仿真方法,其特征在于,其包括以下步骤:
S1:确定目标区域、仿真时间段和目标灾害类型,基于现有的动力学仿真软件对所述目标区域进行建模和灾害仿真运算,将得到仿真数据记作:原始仿真数据;
所述原始仿真数据包括:仿真几何数据和仿真结果数据;
所述仿真几何数据用于在演练***中的场景几何特点的还原;
所述仿真结果数据用于对灾害仿真结果的展示及效果的还原;
确认所述原始仿真数据的每一个点对应的点顺序;
S2:提取所述原始仿真数据中的位置属性信息,执行步骤S3;
对所述原始仿真数据中所述位置属性信息以外的信息数据,执行步骤S6;
S3:判断所述位置属性信息的空间点集是否具有正交空间点阵的结构特征;
所述位置属性信息基于空间点集进行表示,如果具备正交空间点阵的结构特征,则执行步骤S4;
否则,执行步骤S6;
S4:对所述位置属性信息,进行优化压缩:
优化压缩方法为:
a1: 确认所述位置属性信息的空间点集的构成;
设P(x,y,z)为空间点集中的点;
a2:判断所述位置属性信息的空间点集的凸包是否构成六面体结构;
如果不构成六面体结构,则执行步骤a3,否则执行步骤a4;
a3:按照所述点顺序,依次将每一个点P(x,y,z)的坐标进行优化计算得到点P优化后的坐标P(X,Y,Z) ,并保存P(X,Y,Z);
优化计算方法为:
P(X,Y,Z)=((x- x0)/a,(y- y0)/b,(z- z0)/c);
其中,x0、y0和z0为所述位置属性信息的空间点集中坐标最小的点,a、b和c为正交空间点阵的三个轴长;X、Y和Z为整数;
a4:按照所述点顺序,对每一个点P(x,y,z)分别获取其在空间点集中对一个的行、列和层数记为i、j、k,并对i、j和k进行保存;
S5:优化压缩后的所述位置属性信息保存到位置属性描述文件中,完成所述位置属性信息的优化保存;
所述位置属性描述文件包括:头文件和数据部分;
所述头文件中包括:所述位置属性信息的空间点阵对应的轴向步长、最小点以及凸包是否为六面体;
所述数据部分中包括:
当凸包为六面体时:凸包的行数i、列数j和层数k;
当凸包为非六面体时:每个点P(x,y,z)转化后的整数点坐标P(X,Y,Z);
S6:使用压缩算法将所述位置属性信息的空间点集进行压缩,得到压缩后点集数据;
将待保存数据基于PNG文件格式进行保存,得到PNG格式文件,并对PNG格式文件进行无损压缩;
S7:对仿真数据的数据结构重新进行定义,将优化压缩后得到所述位置属性描述文件和所述PNG格式文件按照重新定义后的数据结构位置进行保存,得到优化后仿真数据;
所述优化后仿真数据的数据结构中包括:计算结果数据和几何模型数据;
所述计算结果数据中包括:信息描述、位置信息和仿真属性信息;
所述信息描述中保存了仿真结构的通用信息及子文件的描述信息,其包括:仿真数据的类型、仿真数据使用的位置数据文件、每个仿真属性信息文件所保存的数据类型和仿真数据静态计算的时间间隔;
所述位置信息中保存了优化后的位置属性信息;
所述仿真属性信息包括:所有计算时间点下经过优化压缩的属性信息,包括:所有计算时间点对应的仿真静态值;
所述几何模型数据为在所述目标区域在动力学仿真软件中建立的几何模型数据;
S8:获取实时仿真的指定参数,基于所述优化后仿真数据进行计算,得到仿真计算初步结果;
所述指定参数包括:仿真时间点,所述仿真为指定的需要进行的模拟仿真的时间点;所述仿真时间点包括在所述仿真时间段之间;
S9:对所述仿真计算初步结果进行抽稀简化操作,针对每一个类型的仿真数据分别预设抽稀阈值,将不符合所述抽稀阈值范围的数值都删除,得到最终仿真结果数据;
S10:确定应急模拟演练需求,将所述仿真结果数据按照应急演练需求进行灾害仿真显示,并将灾害以外的仿真数据添加到演练过程中,完成应急模拟演练过程。
其进一步特征在于:
步骤S8中,具体包括以下步骤:
b1:设置本次仿真数据的有效范围,根据有效范围对应的筛选类型,在属性信息中进行筛选,依次找出符合所述有效范围的数据,并按照所述点顺序存入仿真数据序列数组;
所述仿真数据序列数组中包括所述有效范围内的空间点集中所有点;
点P(x,y,z)的数据在所述仿真数据序列数组的存储位置记作:序列索引n;
b2:根据所述仿真数据序列数组和所述计算结果数据中的所述信息描述,在所述位置信息中计算出需要进行渲染显示的位置信息,并存储到位置属性数组中;
如果位置属性信息为.png文件时,则根据所述序列索引n读取图片中对应像素点的信息并计算得到P(x,y,z);
如果位置属性信息为.loc文件时,根据.loc文件的属性信息中的凸包属性进行如下判断:
如果凸包为六面体,则根据序列索引n和i,j,k,x0、y0和z0计算得到P(x,y,z);
P(x,y,z)=(a*((n-1)mod i +1)+ x0,b*((n-1) mod j +1)+ y0,c*((n-1) mod k+1)+ z0);
其中,mod是取模运算符;
如果凸包为非六面体时,根据所述序列索引n取得位置信息中的坐标值P(X,Y,Z),然后再根据x0、y0和z0,a、b和c计算得到P(x,y,z);
P(x,y,z)=(a*X+ x0,b*Y+ y0,c*Z+ z0);
b3:基于所述位置属性数组中保存的位置信息,逐一取每一个位置信息,记作待渲染点位,对每一个所述待渲染点位生成GPU粒子;具体包括以下步骤:
逐一读取所述仿真时间点,判断所述仿真时间点对应的所述待渲染点位;
如果所述仿真时间点可以在所述待渲染点位的所述仿真属性信息中,则,根据仿真数据序列数组在该仿真属性信息内提取数值,并将其转化为属性值并赋值给对应的GPU粒子;
如果所述仿真时间点在某两个仿真属性信息内的,则在仿真数据序列数组分别提取相邻仿真属性信息内的数值,基于线性差值方法计算得到的插值,作为最终的数据值赋值给对应的GPU粒子;
b4:每个GPU粒子通过颜色属性值确定最终的显示结果,得到所述仿真计算初步结果;
具体包括以下步骤:
构建每一个类型的仿真数据对应的所述属性值的范围与属性显示结果的关系;
根据每个GPU粒子的所述属性值对应的范围,确定GPU例子的最终的仿真显示结果,将导入的动力学仿真数据转化为一个时间段内的连续色阶图;
所述抽稀简化操作,具体包括:
c1:确定所述有效范围对应的点集,记作:有效点集,将所述有效点集依据空间位置划分在均匀的空间方格内;
c2:所述有效点集在对应的位置数据映射到包含其位置属性的空间方格中,这样每个点都可以被分配给所在的空间方格;
c3:对于每个空间方格,计算其中包含的点数,根据每个点的属性值计算该空间方格的平均属性值和中心点;
c4:将所述平均属性值与预设的所述抽稀阈值进行比较;
如果所述平均属性值高于等于所述抽稀阈值,则舍弃该空间方格内所有的点,将该方格的中心点作为新的点加入所述有效点集;将所述平均属性值设置为该方格的中心点的属性值;
否则,所述平均属性值低于所述抽稀阈值,则舍弃该空间方格对应的所有数据;
步骤S6中,当需要保存的数据为所述位置属性信息时,针对空间点P(x,y,z),将位置信息数据值映射到为RGB颜色通道上,具体映射方法为:
坐标压缩公式将x、y、z三个坐标数值缩放到0~255之间,所述坐标压缩公式如下:
R=x*255/ RangeX,
G= y*255/ RangeY,
B= z*255/ RangeZ,
其中,R、G和B分别为在R、G和B通道中保存的颜色值;
RangeX = max_X-min_X,
RangeY = max_Y-min_Y,
RangeZ = max_Z-min_Z,
max_X、min_X分别表示点集中x坐标值最大和最小的值;max_Y、min_Y分别表示点集中y坐标值最大和最小的值;max_Z、min_Z分别表示点集中z坐标值最大和最小的值;
步骤S6中,当待保存数据为非位置属性信息时,具体步骤如下:
d1:确认所述待保存数据的数据结构中的参数种类,如果所述参数种类超过三个则执行步骤d3;否则执行步骤d2;
d2:将所述待保存数据的参数分别存到PNG文件中的通道R、通道G和通道B中,完成所述待保存数据的保存操作;
d3:为所述待保存数据建立数据序列索引;
d4:计算保存用PNG文件个数np;
np = ceil(ns/3),
其中,ceil()函数为向上取整计算;ns为所述待保存数据中包括的参数种类;
d5:在np个PNG文件中,每一个PNG文件的通道A中保存所述数据序列索引,通道R、通道G和通道B中保存参数据数据段,完成完成所述待保存数据的保存操作;
步骤S3中,判断所述位置属性信息的空间点集是否具有正交空间点阵的结构特征的方法包括以下步骤:
计算空间点集沿x、y、z三个轴向的平均密度,并且与在三个轴向随机抽取相邻点后的距离进行对比;如果两种结果相同,则说明该点集具有简单正交空间点阵的特征。
本申请提供的一种用于应急模拟演练的灾害仿真方法,其基于现有技术中的动力学仿真软件,建立灾害的机理模型和三维模型,并对其进行求解,对得到的动力学仿真软件的计算结果按照自定义的数据结构进行处理,确保动力学仿真软件的计算结果可以灵活地被使用到其他的应急演练软件中,为提高安全教育培训、灾害应急救援演灾中灾害仿真的真实性提供数据基础。基于现有技术中的动力学仿真软计算得到原始仿真数据,对原始仿真数据进行优化和压缩后,进行统一的数据格式转换,得到优化后仿真数据;优化后仿真数据不但数据量较小,占用存储空间小,且为位置属性中空间点集的每个点的单独建立序列索引,保证了位置属性和仿真场的数据能够正确匹配,降低了数据检索的时间,提高了实时仿真的计算效率;指定实时仿真的参数后,基于优化后仿真数据进行解析计算,根据指定参数对关键特征进行抽取,在保证灾害仿真和还原的基础上,降低了实时仿真的计算量,提高了计算效率;且通过抽稀简化操作放弃冗余数据,提高了仿真效果的显示效率。本申请技术方案可以根据实际的教学演练需求,按照指定的仿真参数灵活且快速地显示灾害仿真结果。
附图说明
图1为本申请的用于应急模拟演练的灾害仿真方法示意图;
图2为FDS仿真结果导出的数据文件夹结构示例;
图3为简单正交空间点阵结构示意图;
图4为位置属性描述文件的数据结构示意图;
图5为属性数据存储结构示例;
图6为优化后仿真数据的数据结构的示意图。
具体实施方式
如图1所示,本申请包括一种用于应急模拟演练的灾害仿真方法,其包括以下步骤。
S1:确定目标区域、仿真时间段和目标灾害类型,基于现有的动力学仿真软件,如:FDS、Matlab、ANSYS和OpenFOAM,对目标区域进行建模和灾害仿真运算,将得到仿真数据记作:原始仿真数据。
以构造某一地下空间的火灾仿真可视化为例,说明现有技术中的动力学仿真软件进行可视化仿真的过程,具体如下:
(1)建立火灾场景的几何模型,包括建筑物、燃料、通风口等。
(2)设置火灾的初始条件和边界条件,如火源位置、大小、形状、燃烧速率、温度等。
(3)选择合适的物理模型和数值方法,如湍流模型、燃烧模型、辐射传热模型、多相流模型等。
(4)运行仿真软件,求解控制方程,得到火灾发展的时空分布,如温度场、速度场、浓度场、压力场等。
(5)分析仿真结果,将仿真几何模型和仿真结果数据导出。
原始仿真数据包括:仿真几何数据和仿真结果数据;
仿真几何数据:主要用于在演练***中的场景几何特点的还原,数据格式通常为.obj或者.fbx
仿真结果数据:主要用于对灾害仿真结果的展示及效果的还原。以FDS仿真软件为例,其计算结果中特定时间内随时间变化的静态数据,如:温度场、速度场、浓度场等。通过FDS软件接口可以导出输出格式为Office Excel程序格式的.csv文件。其数据文件结构大致如图2所示。
在同一文件夹下包含大量的.csv文件,每个文件为在某个时间点的仿真结果数据,结果数据如下图所示:数据中主要包含两部分内容,数据模拟的三维空间坐标点以及该坐标点下的仿真场的数值,如温度场、速度场、浓度场等。
整个仿真数据文件夹数据量很大,包含20组静态数据的仿真结果数据占用存储空间约6GB。本方法基于动力学仿真软件导出的仿真结果数据进行后续解析和显示,为了提高后续计算效率,首先对原始仿真数据进行压缩和优化。
S2:提取原始仿真数据中的位置属性信息,执行步骤S3;对原始仿真数据中位置属性信息以外的信息数据,执行步骤S6。
本方法还需要确认原始仿真数据的每一个点对应的点顺序。
从现有的动力学仿真软件导出的原始仿真数据中,每一个点P(x,y,z)都有一个唯一的点顺序,具体应用中,基于这个点顺序对每一个点进行标记和读取。
因为位置属性信息的表示具备特殊性,位置属性很可能是典型的空间点阵结构,同时为了后续计算的准确性,本方法中仍然利用原始仿真数据中的点顺序,做为空间点集中的每个点顺序,以确保位置属性和仿真场的数据能够正确匹配,本方法中将原始仿真数据中每个静态文件里的位置属性和仿真场的数据分开,然后分别对它们进行数据优化。
S3:判断位置属性信息的空间点集是否具有正交空间点阵的结构特征。
位置属性信息基于空间点阵进行表示,空间点阵是指在三维空间中,由一组周期性排列的点或原子构成的一种几何结构。这种几何结构可以用来描述和分析晶体、分子以及其他具有周期性的物质和现象。在一个空间点阵中,每个点或原子都被称为格点,它们之间的距离和相对位置具有一定的规律性和重复性。其中,一种特殊的结构称为简单正交空间点阵,它由蜂窝状的三维交错平面等距、互相垂直组成,并可以用参数a、b和c来分别表示其所包含的三个方向及三个方向上的棱长,这三个方向之间的夹角均为90°,具体如图3所示。
判断位置属性信息的空间点集是否具有正交空间点阵的结构特征的方法为:
计算空间点集沿x、y、z三个轴向的平均密度,并且与在三个轴向随机抽取相邻点后的距离进行对比。如果两种结果相同,则说明该点集具有简单正交空间点阵的特征。
如果具备空间点阵的结构特征,则执行步骤S4;
否则,执行步骤S6。
S4:对位置属性信息,进行优化压缩:
优化压缩方法为:
a1:确认位置属性信息的空间点集的构成;
设P(x,y,z)为空间点集中的点;
a2:判断位置属性信息的空间点集的凸包是否构成六面体结构;
如果不构成六面体结构,则执行步骤a3,否则执行步骤a4;
a3:按照点顺序,依次将每一个点P(x,y,z)的坐标进行优化计算得到点P优化后的坐标P(X,Y,Z),并保存P(X,Y,Z);
优化计算方法为:
P(X,Y,Z)=((x- x0)/a,(y- y0)/b,(z- z0)/c);
其中,x0、y0和z0为位置属性信息的空间点集中坐标最小的点,a、b和c为正交空间点阵的三个轴长;X、Y和Z为整数;
a4:获取位置属性信息的空间点集对应的行、列和层数记为i、j、k,并对i、j和k进行保存。
本方法中,当空间点集的凸包不是六面体时,基于优化计算,将每一个点P(x,y,z)的坐标转换为P(X,Y,Z),即从浮点数坐标转换为整数坐标,存储时相同位数的整数比浮点数占用更少的内存空间,从而实现了数据的优化压缩。对于,空间点集的凸包是六面体时,只保存空间点集中对应的行、列和层数,极大地提高了压缩率。
S5:优化压缩后的位置属性信息保存到位置属性描述文件中,完成位置属性信息的优化保存;
位置属性描述文件包括:头文件和数据部分;位置属性描述文件的描述具体参照说明书附图的图4。本实施例中,位置属性文件实际保持是以文件名:location.loc保存。
头文件中包括:位置属性信息的空间点阵对应的轴向步长、最小点以及凸包是否为六面体;
其中,位置属性信息的空间点阵对应的轴向步长包括3个字段:a、b、c分别对应图3中的a、b、c三个棱长;最小点包括三个字段,对应位置属性信息的空间点集中坐标最小的点坐标:x0、y0和z0;凸包是否为六面体包括一个字段:iscube;具体实现时,可以基于布尔类型值来标记。
数据部分中包括:
当凸包为六面体时:凸包的行数i、列数j和层数k;
当凸包为非六面体时:每个点P(x,y,z)转化后的整数点坐标P(X,Y,Z)。
S6:使用压缩算法将位置属性信息的空间点集进行压缩,得到压缩后点集数据。
将待保存数据基于PNG(Portable Network Graphics)文件格式进行保存,得到PNG格式文件,并对PNG格式文件进行无损压缩。PNG格式的特点是支持透明度的同时保持了很高的清晰度,而且在无损压缩的情况下也能实现较好的压缩比。
步骤S6中,当需要保存的数据为位置属性信息时,针对空间点P(x,y,z),将位置信息数据值映射到为RGB颜色通道上,具体映射方法为:
坐标压缩公式将x、y、z三个坐标数值缩放到0~255之间,坐标压缩公式如下:
R=x*255/ RangeX,
G= y*255/ RangeY,
B= z*255/ RangeZ,
其中,R、G和B分别为在R、G和B通道中保存的颜色值;
RangeX = max_X-min_X,
RangeY = max_Y-min_Y,
RangeZ = max_Z-min_Z,
max_X、min_X分别表示点集中x坐标值最大和最小的值;
max_Y、min_Y分别表示点集中y坐标值最大和最小的值;
max_Z、min_Z分别表示点集中z坐标值最大和最小的值;
基于坐标压缩公式确保可以将所有点的坐标值映射到0~255的颜色值范围内。
通过将点 P(X,Y,Z) 的位置信息映射到 RGB 颜色通道上,可以将数据点的位置关系转换为颜色编码形式并将颜色值存储到 PNG 格式中像素点内。此外,在充分考虑图像完整性和兼容性的前提下,可以将点P(X,Y,Z)在数据集中的点顺序保存在 PNG 图像的透明通道 A 中,以便于后续处理和分析。
即便是不具有空间点阵简单正交的特征的位置属性信息,也可以通过转化为PNG的形式进行压缩保存,确保缩小数据的整体体积。按照PNG图片的尺寸,比如PNG图片为2k分辨率2048*2048能保存4,194,304个点,能够保存足够多的空间点集中的点的信息,有效地降低了数据存储所需空间。
步骤S6中,当待保存数据为非位置属性信息时,具体步骤如下。
d1:确认待保存数据的数据结构中的参数种类,如果参数种类超过三个则执行步骤d3;否则执行步骤d2。
d2:将待保存数据的参数分别存到PNG文件中的通道R、通道G和通道B中,完成待保存数据的保存操作。具体实现时,通过A通道保存索引,因为A通道保存的精度较低,但是索引都是整数,对数据不会造成丢失,如果数据少于3个,多出的通道也只能将所有值设为0保存。
d3:为待保存数据建立数据序列索引。
具体实现时,每一个png文件中保存的数据对应的数据序列索引基于自然数实现即可。
d4:计算保存用PNG个数np;
np = ceil(ns/3);
其中,ceil()函数为向上取整计算;ns为待保存数据中包括的参数种类。
d5:在np个PNG文件中,每一个PNG文件的通道A中数据序列索引,通道R、通道G和通道B中保存参数据数据段,完成完成待保存数据的保存操作。
当参数个数超过三个,需要使用的png文件大于1个时候,比如:需要两个png存储,np=2,第一个png中保存的数据对应的数据序列索引从0递增到1024个点,那第二个png的数据序列索引就从1025开始。具体应用中,数据序列索引与点顺序是一一对应的。
针对原始数据中的其他属性信息,由于其结果数据通常不具备一定的规律性,但相对数值精度需求不高,本方法也采用转化为 PNG 图像的方法进行数据压缩和存储。对于不同灾害仿真计算生成的多种数据类型,如火灾模拟的温度场、速度场、浓度场等以及洪涝灾害的降水量、洪水深度、水流速度等数据,其中某些类型的仿真结果可能仅包含一组数据,而另一些则可能包含多组数据。例如,速度场可以是一个三维向量,而温度场只包含一个一维向量。基于PNG格式的保存的数据在后期基于GPU计算时,读取速度更快。由于GPU拥有高度并行的计算能力,可以在处理数据时并行处理多个像素,而PNG格式可以将图片的每个像素分别进行压缩保存,这样在后期基于GPU进行计算时,能够有效地利用GPU的并行计算能力,从而更快地读取和处理PNG格式的数据。因此,基于PNG格式保存的数据在后期基于GPU计算时读取更快。
参照说明书附图的图5所示实施例中的仿真结果包括速度场、温度场、一氧化碳浓度和能见度,ns=6,即:四组数据共需要6个维度的存储通道,计算后np=2,需要两个图片:Sim0_0.png和Sim0_1.png,二者之间通过数据索引进行关联。数据索引存储在PNG文件的透明通道:通道A中。
因为非位置属性信息都是在在不同时间点下的静态结果,包含了多个时间点的静态结果数据,具体应用过程中,需要对每个类型的非位置属性信息的每个时间点的静态数据分别进行优化压缩,并按照时间顺序进行排序。如图6所示实施例中,属性信息对应的数据为:第0秒的静态值、第t秒的静态值、第2t秒的静态值、第3t秒的静态值.....此处t取自然数,t表示数据采集的时间间隔。
S7:对仿真数据的数据结构重新进行定义,将优化压缩后得到位置属性描述文件和PNG格式文件按照重新定义后的数据结构位置进行保存,得到优化后仿真数据;
优化后仿真数据的数据结构中包括:计算结果数据和几何模型数据;
计算结果数据中包括:信息描述、位置信息和仿真属性信息;
信息描述中保存了仿真结构的通用信息及子文件的索引,其包括:仿真数据的类型、仿真数据使用的位置数据文件、每个仿真属性信息文件所保存的数据类型和仿真数据静态计算的时间间隔;
位置信息中保存了优化后的位置属性信息,根据位置属性的空间点集的特征,可能是经过压缩的PNG文件,也可能是对位置信息的数学描述文件:凸包为6面体时对应的i、j和k;
如图6所示,仿真属性信息(图中标记为:属性信息)包括:所有计算时间点下经过优化压缩的属性信息,包括:所有计算时间点对应的仿真静态值;保存了所有计算时间点下经过优化压缩的属性信息PNG文件;
几何模型数据为在目标区域在动力学仿真软件中建立的几何模型数据。实际应用中,通过软件导出工具可以导出通用的三维模型文件,如.obj,.fbx等,其他***可以通过通用接口直接读取。
如说明书附图的图6中记录了实际应用中优化后仿真数据的数据结构的实施例。信息描述数据存储为:index.json,位置数据存储为:location.loc或loction.png,仿真属性信息以*.png的格式存储;几何模型数据以*.obj或者*.fbx的格式存储。
本方法的优化过程中,关键数据没有减少,只针对冗余数据进行删除。比如在对位置数据优化的过程中,实际仿真软件导出的每个静态数据文件中都包含了位置属性信息,这些信息实际上是重复的,在优化过程中不仅把这些冗余的数据删除了,还对其进行了算法压缩。根据实际数据测试可知,基于本申请方法能够将大概5GB的动力学仿真数据优化到100mb左右,大大减小了数据的存储空间,为后续仿真***读取数据和进行三维仿真奠定了基础。
上面完成了对动力学仿真软件中的数据进行了导出和优化处理。基于本方法在展示仿真结果时,主要分为三个方面:几何场景的还原、计算结果的可视化展示以及基于计算结果的仿真效果展示。
关于几何场景的还原:通过读取动力学软件导出的几何模型数据,同时需要结合其他相关数据信息,如纹理、材质等进行调整和优化,以便场景达到真实还原的目的。
关于计算结果的可视化:动力学仿真***的通常以色阶图进行展示,色阶图(Color Map),也称为颜色地图或等值线图,是一种将数值信息对应到颜色的可视化方式。它通常用于表示一个区域内某一物理量(如温度、压力、高度等)在空间上的分布情况,并可通过不同的颜色级别来区分区域内数据的取值范围。
色阶图通常由三个要素构成:色彩映射表、取色界面和绘图区域。其中,色彩映射表是由多个色块组成的渐变色系列,根据需要可以选择适当的颜色范围和透明度来呈现数据。取色界面则是用户根据数据类型和范围自定义设定,以确定好色彩映射表的取值标准。绘图区域则是将物理场分布信息作为基础数据,按照色彩映射表进行着色处理的可视化结果展示区域。总之,色阶图通过将数值与颜色相对应,展示了空间中物理量的分布范围和趋势,具有直观易懂、可比较性强、适应各类指标的优点,因此在许多领域得到广泛应用。
同时,为了展示动态的数据变化,本方法中需要将导入的动力学仿真数据转化为一个时间段内的连续色阶图。因为这些数据是在特定时间点上的静态数据,所以本方法中需要设计如何将数据呈现为连续变化的过程。具体如下面步骤S9所示。
S8:获取实时仿真的指定参数,基于优化后仿真数据进行计算,得到仿真计算初步结果,具体包括以下步骤:
指定参数包括:仿真时间点,仿真为指定的需要进行的模拟仿真的时间点;仿真时间点包括在仿真时间段之间;
具体包括以下步骤。
b1:设置本次仿真数据的有效范围,根据有效范围对应的筛选类型,在属性信息中进行筛选,依次找出符合有效范围的数据,并按照点顺序存入仿真数据序列数组;
仿真数据序列数组中包括有效范围内的空间点集中所有点;
点P(x,y,z)的数据在仿真数据序列数组的存储位置记作:序列索引n。
b2:根据仿真数据序列数组和计算结果数据中的信息描述,在位置信息中计算出需要进行渲染显示的位置信息,并存储到位置属性数组中。
步骤b1中的基于根据有效范围的筛选过程,实际是在根据设定的范围和属性信息中的数据对照,筛选出有效的数据序号,存入一个数组中。例如:有10组数据,每个点对应的点顺序为:1、2、3、4、5、6、7、8、9、10。数据中有温度、能见度和浓度,温度值分别为0、0、0、2、4、6、8、8、9、9。假设,本次仿真指定的温度有效范围是大于5,那筛选出的有效数据数组就是点顺序为:6、7、8、9、10的点,组成仿真数据序列数组[6、7、8、9、10]。
根据仿真数据序列数组去位置信息中去取第6、7、8、9、10个数据。
如果位置属性信息为.png文件时,则根据所述序列索引n读取图片中对应像素点的信息并计算得到P(x,y,z)。
如果位置属性信息为.loc文件时,根据.loc文件的属性信息中的凸包属性进行如下判断:
如果凸包为六面体,则根据序列索引n和i,j,k,x0、y0和z0,a、b和c计算得到P(x,y,z);
P(x,y,z)=(a*((n-1)mod i +1)+ x0,b*((n-1) mod j +1)+ y0,c*((n-1) mod k+1)+ z0);
其中,mod是取模运算符;
如果凸包为非六面体时,根据序列索引n取得位置信息中的坐标值P(X,Y,Z),然后再根据x0、y0和z0,a、b和c计算得到P(x,y,z);
P(x,y,z)=(a*X+ x0,b*Y+ y0,c*Z+ z0)。
b3:基于位置属性数组中保存的位置信息,逐一取每一个位置信息,记作待渲染点位,对每一个待渲染点位生成GPU粒子;具体包括以下步骤:
逐一读取仿真时间点,判断仿真时间点对应的待渲染点位;
如果仿真时间点可以在待渲染点位的仿真属性信息中,则,根据仿真数据序列数组在该仿真属性信息内提取数值,并将其转化为属性值并赋值给对应的GPU粒子;
如果所述仿真时间点在某两个仿真属性信息内的,则在仿真数据序列数组分别提取相邻仿真属性信息内的数值,基于线性差值方法计算得到的插值,作为最终的数据值赋值给对应的GPU粒子。
参照图6,可知每个待渲染点的属性信息中是根据时间保存的静态值,所以为GPU粒子进行赋值的时候,需要根据仿真时间点确定属性信息中具体的值。
b4:每个GPU粒子通过颜色属性值确定最终的显示结果,得到仿真计算初步结果;
具体包括以下步骤:
b401:构建每一个类型的仿真数据对应的属性值的范围与属性显示结果的关系;
具体实现时,属性值的范围与属性显示结果的关系根据应急模拟演练的实际需要进行构建,如:在火灾相关的应急演练中,设置一个对温度显示的阈值,为0-100度,通常如果温度为100度,那么就把颜色设置为红色,温度为0,颜色设置为蓝色,那么温度在100区间的某个值就能对应到颜色的某个值,就形成了色阶的变化。在这个区间外的可能就是蓝色或红色。
通过属性值的范围与属性显示结果关系的构建,确保本申请技术方案能够灵活地适用于各种不同的灾害仿真需求。
b402:根据每个GPU粒子的属性值对应的范围,确定GPU例子的最终的仿真显示结果,将导入的动力学仿真数据转化为一个时间段内的连续色阶图。
在实际工作中,特别是应急演练仿真过程中,仅使用色阶图来展示灾害效果是远远不够的。还需要借助动力学仿真***的结果,生成逼真的灾害仿真效果,包括火灾、烟雾等特效。由于数据结果的空间点集中存在大量的点,若针对每个点都进行效果仿真,则***的渲染效率无法保证,并且渲染效果可能也无法达到要求。因此,本方法中通过筛选合适的数据进行可视化,以在不影响显示效果的前提下提高***的渲染效率。具体过程如步骤S10所示。
S9:对仿真计算初步结果进行抽稀简化操作,针对每一个类型的仿真数据分别预设抽稀阈值,将不符合抽稀阈值范围的数值都删除,得到最终仿真结果数据。
本方法中通过设置抽稀阈值,满足应急演练中的动态仿真需求,确保重点区域能够重点显示,确保本方法能够灵活地应用于各种需要灵活调整仿真显示参数的场景;同时通过抽稀阈值也可以确保仿真效果的情况下,减少参数计算的粒子数量,在保留数据重要特征的前提下提高处理效率。比如对火灾的显示,温度值只在100以上的才有可能是存在火焰,那么就将温度在100以下的都筛掉。这个标准由于不同的属性值范围不同,应用中根据演练或者培训现场中根据现场需求人工指定。
抽稀简化操作,具体包括:
c1:确定有效范围对应的点集,记作:有效点集,将有效点集依据空间位置划分在均匀的空间方格内;
c2:有效点集在对应的位置数据映射到包含其位置属性的空间方格中,这样每个点都可以被分配给所在的空间方格;
c3:对于每个空间方格,计算其中包含的点数,根据每个点的属性值计算该空间方格的平均属性值和中心点;
c4:将平均属性值与预设的抽稀阈值进行比较;
如果平均属性值高于等于所述抽稀阈值,则舍弃该空间方格内所有的点,将该方格的中心点作为新的点加入所述有效点集;将c3中计算得到的平均属性值设置为该方格的中心点的属性值;
否则,平均属性值低于抽稀阈值,则舍弃该空间方格对应的所有数据;
抽稀简化操作后通过预先建立好的属性值与显示的粒子特效对照表,在相关位置上生成对照的粒子,以下表1中火灾显示特效对照表为例,说明***根据不同的属性值,可以生成多样的灾害显示特效。
表1:火灾的关键点属性和粒子特效对照
S10:确定应急模拟演练需求,将仿真结果数据按照所述应急演练需求进行灾害仿真显示,并将灾害以外的仿真数据添加到演练过程中,完成应急模拟演练过程。
具体实现时,通过将动力学仿真结果和虚拟现实技术相结合,以实现更为真实的事故灾害模拟。但是由于动力学仿真只对特定时间段的灾害进行了仿真,因此在应急演练中,还需要对下面两个内容进行模拟:
(1)救灾的实际处置过程;
(2)根据救灾手段实施后灾害的后续演变过程;
以建立救灾过程的逻辑关系,并基于救灾过程进行实时演算。此外,在演练过程中,还需要考虑现场行为处置对灾害演变的交互影响,以达到灾害和行为处置相互影响的目的,这也是实际应急模拟演练中需要考虑的重要因素。
为了实现更为真实的演练效果,应急模拟演练***还需要考虑场景的逼真度、参与人员的训练效果、演练结果的分析等因素。例如,基于本方法计算得到灾害仿真数据后,可以使用现有技术中的虚拟现实技术,如:采用成熟的商业三维游戏引擎如虚幻、Unity,或者开源的三维渲染引擎如OSG、Ogre等技术,构建虚拟场景模拟灾害现场,完成应急模拟演练过程,同时提供逼真的视觉和听觉体验,提高演练效果。在实际工作中,为了保证参与人员的训练效果,应急模拟演练***还会提供有针对性的训练内容和评估体系。在演练结束后,还需要对演练结果进行分析,以持续改进应急演练***,提高其实用性和有效性。
使用本发明的技术方案后,提出将优化后的数据保存为指定的数据结构的文件和存储结构,实现了对现有动力学仿真软件计算得到的仿真数据结果的高效保存。基于本方法中提供的仿真结果数据的优化方法,可以对现有动力学仿真软件导出的仿真结果数据的进行优化和压缩,极大地提高了对仿真结果数据的保存效率。在灾害仿真计算结果的色阶图展示过程中,本方法采用对静态的数值进行差值计算的方法,将静态结果转化为一段时间内连续的色阶图展示,确保灾害演练仿真中的灾害展示不仅能在展示效果层面的仿真,同时也有了一定的数学计算机理的支撑。在仿真结果粒子仿真过程中,本方法通过对空间方格划分的方法,对点集数据进行抽稀,在保留数据重要特征的前提下提高处理效率。
Claims (6)
1.一种用于应急模拟演练的灾害仿真方法,其特征在于,其包括以下步骤:
S1:确定目标区域、仿真时间段和目标灾害类型,基于现有的动力学仿真软件对所述目标区域进行建模和灾害仿真运算,将得到仿真数据记作:原始仿真数据;
所述原始仿真数据包括:仿真几何数据和仿真结果数据;
所述仿真几何数据用于在演练***中的场景几何特点的还原;
所述仿真结果数据用于对灾害仿真结果的展示及效果的还原;
确认所述原始仿真数据的每一个点对应的点顺序;
S2:提取所述原始仿真数据中的位置属性信息,执行步骤S3;
对所述原始仿真数据中所述位置属性信息以外的信息数据,执行步骤S6;
S3:判断所述位置属性信息的空间点集是否具有正交空间点阵的结构特征;
所述位置属性信息基于空间点集进行表示,如果具备正交空间点阵的结构特征,则执行步骤S4;
否则,执行步骤S6;
S4:对所述位置属性信息,进行优化压缩:
优化压缩方法为:
a1:确认所述位置属性信息的空间点集的构成;
设P(x,y,z)为空间点集中的点;
a2:判断所述位置属性信息的空间点集的凸包是否构成六面体结构;
如果不构成六面体结构,则执行步骤a3,否则执行步骤a4;
a3:按照所述点顺序,依次将每一个点P(x,y,z)的坐标进行优化计算得到点P优化后的坐标P(X,Y,Z),并保存P(X,Y,Z);
优化计算方法为:
P(X,Y,Z)=((x- x0)/a,(y- y0)/b,(z- z0)/c);
其中,x0、y0和z0为所述位置属性信息的空间点集中坐标最小的点,a、b和c为正交空间点阵的三个轴长;X、Y和Z为整数;
a4:获取位置属性信息的空间点集对应的行、列和层数记为i、j、k,并对i、j和k进行保存;
S5:优化压缩后的所述位置属性信息保存到位置属性描述文件中,完成所述位置属性信息的优化保存;
所述位置属性描述文件包括:头文件和数据部分;
所述头文件中包括:所述位置属性信息的空间点阵对应的轴向步长、最小点以及凸包是否为六面体;
所述数据部分中包括:
当凸包为六面体时:凸包的行数i、列数j和层数k;
当凸包为非六面体时:每个点P(x,y,z)转化后的整数点坐标P(X,Y,Z);
S6:使用压缩算法将所述位置属性信息的空间点集进行压缩,得到压缩后点集数据;
将待保存数据基于PNG文件格式进行保存,得到PNG格式文件,并对PNG格式文件进行无损压缩;
S7:对仿真数据的数据结构重新进行定义,将优化压缩后得到所述位置属性描述文件和所述PNG格式文件按照重新定义后的数据结构位置进行保存,得到优化后仿真数据;
所述优化后仿真数据的数据结构中包括:计算结果数据和几何模型数据;
所述计算结果数据中包括:信息描述、位置信息和仿真属性信息;
所述信息描述中保存了仿真结构的通用信息及子文件的描述信息,其包括:仿真数据的类型、仿真数据使用的位置数据文件、每个仿真属性信息文件所保存的数据类型和仿真数据静态计算的时间间隔;
所述位置信息中保存了优化后的位置属性信息;
所述仿真属性信息包括:所有计算时间点下经过优化压缩的属性信息,包括:所有计算时间点对应的仿真静态值;
所述几何模型数据为在所述目标区域在动力学仿真软件中建立的几何模型数据;
S8:获取实时仿真的指定参数,基于所述优化后仿真数据进行计算,得到仿真计算初步结果;
所述指定参数包括:仿真时间点,所述仿真为指定的需要进行的模拟仿真的时间点;所述仿真时间点包括在所述仿真时间段之间;
S9:对所述仿真计算初步结果进行抽稀简化操作,针对每一个类型的仿真数据分别预设抽稀阈值,将不符合所述抽稀阈值范围的数值都删除,得到最终仿真结果数据;
S10:确定应急模拟演练需求,将所述仿真结果数据按照应急演练需求进行灾害仿真显示,并将灾害以外的仿真数据添加到演练过程中,完成应急模拟演练过程。
2.根据权利要求1所述一种用于应急模拟演练的灾害仿真方法,其特征在于:步骤S8中,具体包括以下步骤:
b1:设置本次仿真数据的有效范围,根据有效范围对应的筛选类型,在属性信息中进行筛选,依次找出符合所述有效范围的数据,并按照所述点顺序存入仿真数据序列数组;
所述仿真数据序列数组中包括所述有效范围内的空间点集中所有点;
点P(x,y,z)的数据在所述仿真数据序列数组的存储位置记作:序列索引n;
b2:根据所述仿真数据序列数组和所述计算结果数据中的所述信息描述,在所述位置信息中计算出需要进行渲染显示的位置信息,并存储到位置属性数组中;
如果位置属性信息为.png文件时,则根据所述序列索引n读取图片中对应像素点的信息并计算得到P(x,y,z);
如果位置属性信息为.loc文件时,根据.loc文件的属性信息中的凸包属性进行如下判断:
如果凸包为六面体,则根据序列索引n和i,j,k,x0、y0和z0,a、b和c计算得到P(x,y,z);
P(x,y,z)=(a*((n-1)mod i +1)+ x0,b*((n-1) mod j +1)+ y0,c*((n-1) mod k+1)+z0);
其中,mod是取模运算符;
如果凸包为非六面体时,根据所述序列索引n取得位置信息中的坐标值P(X,Y,Z),然后再根据x0、y0和z0,a、b和c计算得到P(x,y,z);
P(x,y,z)=(a*X+ x0,b*Y+ y0,c*Z+ z0);
b3:基于所述位置属性数组中保存的位置信息,逐一取每一个位置信息,记作待渲染点位,对每一个所述待渲染点位生成GPU粒子;具体包括以下步骤:
逐一读取所述仿真时间点,判断所述仿真时间点对应的所述待渲染点位;
如果所述仿真时间点可以在所述待渲染点位的所述仿真属性信息中,则,根据仿真数据序列数组在该仿真属性信息内提取数值,并将其转化为属性值并赋值给对应的GPU粒子;
如果所述仿真时间点在某两个仿真属性信息内的,则在仿真数据序列数组分别提取相邻仿真属性信息内的数值,基于线性差值方法计算得到的插值,作为最终的数据值赋值给对应的GPU粒子;
b4:每个GPU粒子通过颜色属性值确定最终的显示结果,得到所述仿真计算初步结果;
具体包括以下步骤:
构建每一个类型的仿真数据对应的所述属性值的范围与属性显示结果的关系;
根据每个GPU粒子的所述属性值对应的范围,确定GPU例子的最终的仿真显示结果,将导入的动力学仿真数据转化为一个时间段内的连续色阶图。
3.根据权利要求2所述一种用于应急模拟演练的灾害仿真方法,其特征在于:所述抽稀简化操作,具体包括:
c1:确定所述有效范围对应的点集,记作:有效点集,将所述有效点集依据空间位置划分在均匀的空间方格内;
c2:所述有效点集在对应的位置数据映射到包含其位置属性的空间方格中,这样每个点都可以被分配给所在的空间方格;
c3:对于每个空间方格,计算其中包含的点数,根据每个点的属性值计算该空间方格的平均属性值和中心点;
c4:将每个空间方格所述平均属性值分别与预设的所述抽稀阈值进行比较;
如果所述平均属性值高于等于所述抽稀阈值,则舍弃该空间方格内所有的点,将该方格的中心点作为新的点加入所述有效点集;将所述平均属性值设置为该方格的中心点的属性值;
否则,所述平均属性值低于所述抽稀阈值,则舍弃该空间方格对应的所有数据。
4.根据权利要求1所述一种用于应急模拟演练的灾害仿真方法,其特征在于:步骤S6中,当需要保存的数据为所述位置属性信息时,针对空间点P(x,y,z),将位置信息数据值映射到为RGB颜色通道上,具体映射方法为:
坐标压缩公式将x、y、z三个坐标数值缩放到0~255之间,所述坐标压缩公式如下:
R=x*255/ RangeX,
G= y*255/ RangeY,
B= z*255/ RangeZ,
其中,R、G和B分别为在R、G和B通道中保存的颜色值;
RangeX = max_X-min_X,
RangeY = max_Y-min_Y,
RangeZ = max_Z-min_Z,
max_X、min_X分别表示点集中x坐标值最大和最小的值;
max_Y、min_Y分别表示点集中y坐标值最大和最小的值;
max_Z、min_Z分别表示点集中z坐标值最大和最小的值。
5.根据权利要求1所述一种用于应急模拟演练的灾害仿真方法,其特征在于:步骤S6中,当待保存数据为非位置属性信息时,具体步骤如下:
d1:确认所述待保存数据的数据结构中的参数种类,如果所述参数种类超过三个则执行步骤d3;否则执行步骤d2;
d2:将所述待保存数据的参数分别存到PNG文件中的通道R、通道G和通道B中,完成所述待保存数据的保存操作;
d3:为所述待保存数据建立数据序列索引;
d4:计算保存用PNG文件个数np;
np = ceil(ns/3),
其中,ceil()函数为向上取整计算;ns为所述待保存数据中包括的参数种类;
d5:在np个PNG文件中,每一个PNG文件的通道A中保存所述数据序列索引,通道R、通道G和通道B中保存参数据数据段,完成完成所述待保存数据的保存操作。
6.根据权利要求1所述一种用于应急模拟演练的灾害仿真方法,其特征在于:步骤S3中,判断所述位置属性信息的空间点集是否具有正交空间点阵的结构特征的方法包括以下步骤:
计算空间点集沿x、y、z三个轴向的平均密度,并且与在三个轴向随机抽取相邻点后的距离进行对比;如果两种结果相同,则说明该点集具有简单正交空间点阵的特征。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310619896.0A CN116384209B (zh) | 2023-05-30 | 2023-05-30 | 一种用于应急模拟演练的灾害仿真方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310619896.0A CN116384209B (zh) | 2023-05-30 | 2023-05-30 | 一种用于应急模拟演练的灾害仿真方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116384209A CN116384209A (zh) | 2023-07-04 |
CN116384209B true CN116384209B (zh) | 2023-08-08 |
Family
ID=86963688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310619896.0A Active CN116384209B (zh) | 2023-05-30 | 2023-05-30 | 一种用于应急模拟演练的灾害仿真方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116384209B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118210909A (zh) * | 2024-05-21 | 2024-06-18 | 城市安全发展科技研究院(深圳) | 灾害应急辅助决策方法、装置、计算机设备、存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101493528A (zh) * | 2009-03-13 | 2009-07-29 | 中国海洋石油总公司 | 海量地震三维可视化显示方法 |
CN110942202A (zh) * | 2019-12-02 | 2020-03-31 | 大连伟岸纵横科技股份有限公司 | 应急演练推演方法、计算机存储介质及电子设备 |
CN111091626A (zh) * | 2019-12-02 | 2020-05-01 | 大连伟岸纵横科技股份有限公司 | 灾害仿真方法、计算机存储介质及电子设备 |
WO2021213451A1 (zh) * | 2020-04-23 | 2021-10-28 | 华为技术有限公司 | 轨迹回放方法及相关装置 |
CN115808711A (zh) * | 2023-02-06 | 2023-03-17 | 四川地震台 | 基于烈度速报的地震灾害损失评估方法及*** |
-
2023
- 2023-05-30 CN CN202310619896.0A patent/CN116384209B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101493528A (zh) * | 2009-03-13 | 2009-07-29 | 中国海洋石油总公司 | 海量地震三维可视化显示方法 |
CN110942202A (zh) * | 2019-12-02 | 2020-03-31 | 大连伟岸纵横科技股份有限公司 | 应急演练推演方法、计算机存储介质及电子设备 |
CN111091626A (zh) * | 2019-12-02 | 2020-05-01 | 大连伟岸纵横科技股份有限公司 | 灾害仿真方法、计算机存储介质及电子设备 |
WO2021213451A1 (zh) * | 2020-04-23 | 2021-10-28 | 华为技术有限公司 | 轨迹回放方法及相关装置 |
CN115808711A (zh) * | 2023-02-06 | 2023-03-17 | 四川地震台 | 基于烈度速报的地震灾害损失评估方法及*** |
Non-Patent Citations (1)
Title |
---|
情景模式背景下电力应急演练仿真平台研究;闫瑞杰;李海香;苏华莺;金国文;;电子测试(第23期);第95-96页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116384209A (zh) | 2023-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113808261B (zh) | 一种基于全景图的自监督学习场景点云补全的数据集生成方法 | |
US11436800B2 (en) | Interactive system and method providing real-time virtual reality visualization of simulation data | |
Pybus et al. | New realities for Canada’s parliament: A workflow for preparing heritage BIM for game engines and virtual reality | |
CN116384209B (zh) | 一种用于应急模拟演练的灾害仿真方法 | |
CN113593051B (zh) | 一种实景可视化方法及大坝可视化方法及计算机设备 | |
CN105488844B (zh) | 一种三维场景中海量模型实时阴影的显示方法 | |
CN113436308B (zh) | 一种三维环境空气质量动态渲染方法 | |
CN114820990B (zh) | 一种基于数字孪生的流域防洪可视化方法及*** | |
CN112328929B (zh) | 基于矢量瓦片地图发布技术的人流密度动态可视化方法 | |
Cristie et al. | CityHeat: visualizing cellular automata-based traffic heat in Unity3D | |
CN106342298B (zh) | 一种多点***效果的实时生成方法 | |
CN108108544B (zh) | 洪水分析模拟***二维水动力学结果数据轻量化的方法 | |
Shardakov et al. | Development of an adaptive module for visualization of the surrounding space for cloud educational environment | |
CN103886636B (zh) | 基于光线投射步进补偿的实时烟雾渲染算法 | |
CN115526976A (zh) | 虚拟场景渲染方法、装置、存储介质和电子设备 | |
CN108492371A (zh) | 一种面向火灾的三维建筑模型动态可视化方法 | |
Hevko et al. | The Method of Teaching Graphic 3D Reconstruction of Architectural Objects for Future IT Specialists | |
Trautner et al. | Honeycomb Plots: Visual Enhancements for Hexagonal Maps | |
CN114491780B (zh) | 一种城市建筑群震后修复过程情景可视化方法及*** | |
CN117634132A (zh) | 数字孪生场景下的mike21洪水推演数据处理与可视化方法 | |
CN111899585B (zh) | 一种电缆附件制作仿真培训***及方法 | |
CN114627258B (zh) | 一种重力场双体球同构建模方法与*** | |
Nadig | Example-Based Terrain Authoring with Complex Features | |
Zhang et al. | CAD Rendering of City Square Landscape Design of Virtual Reality Scene | |
Li et al. | Dynamic Wind Field Simulation and Efficiency Analysis Over 3D Terrain Based on the Lagrangian Method |
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 | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: A Disaster Simulation Method for Emergency Simulation Exercise Effective date of registration: 20231206 Granted publication date: 20230808 Pledgee: Wuxi Heyu Technology Small Loan Co.,Ltd. Pledgor: Dalian V.R Global Vision Co.,Ltd. Registration number: Y2023980069468 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right |