CN102708584A - 一种基于二维图像的楼房倒塌模拟方法 - Google Patents

一种基于二维图像的楼房倒塌模拟方法 Download PDF

Info

Publication number
CN102708584A
CN102708584A CN2012101419422A CN201210141942A CN102708584A CN 102708584 A CN102708584 A CN 102708584A CN 2012101419422 A CN2012101419422 A CN 2012101419422A CN 201210141942 A CN201210141942 A CN 201210141942A CN 102708584 A CN102708584 A CN 102708584A
Authority
CN
China
Prior art keywords
building
piece
dimensional image
grid
simulation
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
Application number
CN2012101419422A
Other languages
English (en)
Other versions
CN102708584B (zh
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.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201210141942.2A priority Critical patent/CN102708584B/zh
Publication of CN102708584A publication Critical patent/CN102708584A/zh
Application granted granted Critical
Publication of CN102708584B publication Critical patent/CN102708584B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明提供了一种基于二维图像的楼房倒塌模拟方法,它包括以下步骤:(1)选取一张带有完整楼房的二维图像,将楼房从所述二维图像中抠取出来,之后用空洞填补算法将背景补全;(2)对于抠取出来的楼房,将它划分成N×M的网格,在这个网格基础上,将楼房按照网格线划分成多个楼房块;(3)通过在楼房网格的不同位置施加不同大小的力,使楼房网格发生不同方式的破裂以模拟不同方式的倒塌过程,所述楼房块根据所述网格的破裂生成更小的楼房块,然后将所有楼房块加入到粒子系统中进行管理,用轴向包围盒AABB加速其碰撞检测;运用粒子系统来模拟烟雾。本发明是一种高效并且相对直接的方法,输入一张带有楼房的图片,即可实时生成整个楼房倒塌的视频。

Description

一种基于二维图像的楼房倒塌模拟方法
技术领域
本发明涉及一种基于二维图像的楼房倒塌模拟方法。
背景技术
基于二维图像的楼房倒塌模拟方法属于虚拟场景生成技术,在动画和电影产业有着巨大的应用前景。楼房倒塌模拟是个具有挑战性的难题,传统的模拟方法,需要对楼房进行建模,且需要进行大量复杂计算。
发明内容
本发明所要解决的技术问题是提供一种基于二维图像的楼房倒塌模拟方法,它是一种高效并且相对直接的方法,输入一张带有楼房的图片,即可实时生成整个楼房倒塌的视频。为此,本发明采用以下技术方案:它包括以下步骤:
(1)图像预处理:选取一张带有完整楼房的二维图像,将楼房从所述二维图像中抠取出来,之后用空洞填补算法将背景补全;
(2)楼房网格生成:对于抠取出来的楼房,将它划分成N*M的网格,在这个网格基础上,将楼房按照网格线划分成多个楼房块,所述N和M为大于1的自然数;
(3)倒塌过程模拟及烟雾模拟:通过在楼房网格的不同位置施加不同大小的力,使楼房网格发生不同方式的破裂以模拟不同方式的倒塌过程,所述楼房块根据所述网格的破裂生成更小的楼房块,然后将所有楼房块加入到粒子系统中进行管理,用轴向包围盒AABB加速其碰撞检测,使楼房块之间的运动更加真实,所述粒子以网格格子为单位; 
运用粒子系统来模拟烟雾,并使烟雾的产生、扩散、消散与楼房倒塌过程相适应;
(4)保存、生成楼房倒塌的视频。
在采用上述技术方案的基础上,本发明还可采用以下进一步的技术方案: 
步骤(1)中,如果预处理后背景中仍有不和谐的像素,则对背景进行进一步的平滑滤波;在步骤(2)中,划分方法通过手工交互方式完成,或通过水平和纵向的随机线进行划分。
在步骤(2)中,对于划分出来的每每相邻楼房块之间添加一个锁值lock,锁值初始化为第一锁值,表示所述每每相邻楼房块在粒子系统中的运动相同,即作为一个整体进行考虑;
当楼房网格发生破裂,一个楼房块与其它楼房块发生碰撞后,这个楼房块分解成更小的楼房块,将这个楼房块和与其碰撞的其它楼房块之间的锁值设为第二锁值,之后这些发生碰撞的楼房块将按照各自的运动方式进行运动;
每个楼房块的质量由每个楼房块所包含的粒子数来表示。
在步骤(3)的楼房倒塌模拟过程中,将现实中的爆破理解成从一个点向四周辐射的一群力,通过设置力的个数、最小力和最大力的范围、力的方向范围,模拟出不同类型的爆破。
在步骤(3)的楼房倒塌模拟过程中,将现实中的爆破理解成从多个不同点向四周辐射的一群力,从而模拟出现实中的二次以上的多次爆破。
在步骤(3)的楼房倒塌模拟过程中,引入层次包围盒来加速楼房块之间的碰撞数据处理,对于每个楼房块添加一个轴向包围盒AABB,并将层次包围盒建成一个树状结构,每个分支节点都是其子节点包围盒子的并;当要检测一个楼房块是否和另一个楼房块发生碰撞时,遍历层次包围盒树,如果与一个分支节点没有交集,那么和其所有的子节点同样也不会有交集,就可以迅速排除那些没有碰撞的楼房块,从而保证楼房倒塌的实时模拟。
检测到楼房块碰撞之后,采用理想碰撞模型,根据动量守恒和能量守恒算出碰撞后各楼房块的速度;然后引入随机因子去修正碰撞后各楼房块的速度的大小和方向,使之符合现实中的碰撞。
在步骤(3)的楼房倒塌模拟过程中还加入了速度阈值,当两个楼房块的相对速度超过速度阈值后,楼房块就会因碰撞而发生破碎,生成新的更小的楼房块。
烟雾模拟与楼房倒塌模拟同步进行。
在步骤(3)的烟雾模拟中,设定烟雾粒子系统中每秒产生的粒子数与落地粒子数成正比,烟雾粒子的初始速度随着倒塌过程先增加,当倒塌最剧烈的时候到达峰值,随后减速。
由于采用本发明的技术方案,本发明是一种高效并且相对直接的方法,输入一张带有楼房的图片,即可实时生成整个楼房倒塌的视频。
附图说明
图1为本发明所提供的方法的总体流程图。
图2表示本发明步骤1—图像预处理的过程。(a)是所述的二维图像,以一张包含比萨斜塔的图像作为输入。(b)是用快速选取工具抠取出来的斜塔。(c)是对背景补齐后的效果。
图3主要了描述了步骤2、3如何对楼房网格进行划分。(a)是先将抠取出来的楼房网格化。(b)在(a)的基础上用随机线进行了划分。(c)是爆破力的表示。
图4和图5为利用本发明所提供的方法制作的楼房倒塌过程多帧演示图,图4中没有烟雾,图5中伴随着烟雾的生成。
具体实施方式
首先定义在接下来说明中要用到的缩写:轴向包围盒(Axisaligned Bounding Boxes)缩写为AABB,层次包围盒(Bounding Volume Hierarchy),缩写为BVH。
图1是本发明的总体流程图,本发明以一张带有楼房的图像作为输入,通过本发明方法流程,输出一段楼房倒塌过程的视频,下面对本发明的各个流程进行详细说明:
1.图像预处理
选择一张带有楼房的二维图像,利用快速选取工具将楼房从图像抠取出来,同时用空洞填补算法将背景补齐。如果处理后背景中仍有不和谐的像素,则通过平滑滤波使背景更加平滑。具体过程如图2所示。
 2.楼房网格生成
对于抠取出来的楼房,用N*M的网格将其划分为N*M个等大的粒子,作为后面粒子系统中运动的基本颗粒,每个楼房块的质量由每个楼房块所包含的粒子数来表示。
如图3(a)所示。然后在这个网格基础上,将楼房划分成多个楼房块。划分方法可以通过手工交互方式完成,也可以通过水平和纵向的随机线进行划分。图3(b)显示了用随机线划分出网格后的效果,其中颜色相同的相邻颗粒用来表示一个楼房块。之后对两两相邻的楼房块增加一个锁值lock,锁值初始化为第一锁值,表示所述每每相邻楼房块在粒子系统中的运动相同。
3.倒塌过程模拟
(1).爆破表示:将现实中的爆破理解成从一个点向四周辐射的一群力,通过设置力的个数、最小力和最大力的范围、力的方向范围,从而模拟出不同类型的爆破。图3(c)表示在比萨斜塔底部施加了一个爆破力。当爆破力施加到楼房上时,解锁爆破力时间点周围的楼房块,即将锁值射为第二锁值,这样这些楼房块在力的作用将开始运动。
(2).碰撞检测:引入层次包围盒来加速楼房块之间的碰撞数据处理,对于每个楼房块添加一个轴向包围盒AABB,同时将包围盒建成一个树状结构,每个分支节点都是其子节点包围盒子的并。当要检测一个楼房块是否和另一个楼房块发生碰撞,只要遍历层次包围盒树,如果与一个分支节点没有交集,那么和其所有的子节点同样也不会有交集,就可以迅速排除那些没有碰撞的楼房块,从而保证倒塌的实时模拟。
(3).碰撞响应:采用理想碰撞模型,根据动量守恒和能量守恒采用以下公式算出碰撞后各楼房块的速度。公式中                                                
Figure 705848DEST_PATH_IMAGE002
分别表示楼房块的质量,
Figure 3154DEST_PATH_IMAGE004
则是碰撞前的速度,
Figure 945703DEST_PATH_IMAGE005
则是碰撞后的速度。
Figure 115839DEST_PATH_IMAGE007
Figure 588408DEST_PATH_IMAGE008
Figure 764175DEST_PATH_IMAGE009
然后引入随机因子去修正碰撞后各楼房块速度的大小和方向,使之符合现实中的碰撞。其中(0<
Figure 689406DEST_PATH_IMAGE010
<1)为修正因子。
Figure 913713DEST_PATH_IMAGE011
是质量为
Figure 788260DEST_PATH_IMAGE012
的楼房块的最终速度,其大小是在
Figure 72610DEST_PATH_IMAGE013
的基础上修正所得。
Figure 485137DEST_PATH_IMAGE014
此外,还可加入一个速度阈值,当两个楼房块的相对速度超过速度阈值后,楼房块就会因碰撞而发生破碎,生成新更小的楼房块。整个倒塌过程如图4表示,可以发现上面的楼房块由于与下面的楼房块发生了碰撞,而改变了运动状态。
4.烟雾模拟
采用粒子系统模拟烟雾是一种直接有效的方法,尤其适合模拟高速的烟雾爆破现象。其中的关键就是让烟雾和楼房倒塌能够同步进行。
通过观察实际中爆破烟雾的过程,设定:
(1).烟雾粒子系统中每秒产生的粒子数与落地粒子数成正比,
(2) .烟雾粒子的初始速度随着楼房倒塌过程先增加,当楼房倒塌最剧烈的时候到达峰值,随后减速。我们这里用楼房倒塌中凋落在地面上的粒子数来表示倒塌的剧烈程度,假设烟雾粒子的生成速度正比于楼房倒塌的激烈程度。
(3)烟雾触发的地方也是爆破发生的地点,所以将烟雾粒子系统的触发器放在楼房网格爆炸点。
从图5中可以发现,按照之前的设定,烟雾在爆炸开始时产生,随着倒塌的加剧,烟雾迅速向四周扩散,很好地做到了与楼房倒塌同步。
5.保存、生成倒塌视频
通过实时记录楼房倒塌过程,每隔1/25秒记录一帧,从而得到整个楼房倒塌的视频。

Claims (10)

1.一种基于二维图像的楼房倒塌模拟方法,其特征在于它包括以下步骤:
(1)图像预处理:选取一张带有完整楼房的二维图像,将楼房从所述二维图像中抠取出来,之后用空洞填补算法将背景补全;
(2)楼房网格生成:对于抠取出来的楼房,将它划分成N*M的网格,在这个网格基础上,将楼房按照网格线划分成多个楼房块,所述N和M为大于1的自然数;
(3)倒塌过程模拟及烟雾模拟:通过在楼房网格的不同位置施加不同大小的力,使楼房网格发生不同方式的破裂以模拟不同方式的倒塌过程,所述楼房块根据所述网格的破裂生成更小的楼房块,然后将所有楼房块加入到粒子系统中进行管理,用轴向包围盒AABB加速其碰撞检测,使楼房块之间的运动更加真实,所述粒子以网格格子为单位; 
运用粒子系统来模拟烟雾,并使烟雾的产生、扩散、消散与楼房倒塌过程相适应;
(4)保存、生成楼房倒塌的视频。
2.根据权利要求1所述的一种基于二维图像的楼房倒塌模拟方法,其特征在于步骤(1)中,如果预处理后背景中仍有不和谐的像素,则对背景进行进一步的平滑滤波;在步骤(2)中,划分方法通过手工交互方式完成,或通过水平和纵向的随机线进行划分。
3.根据权利要求1所述的一种基于二维图像的楼房倒塌模拟方法,其特征在于在步骤(2)中,对于划分出来的每每相邻楼房块之间添加一个锁值,锁值初始化为第一锁值,表示所述每每相邻楼房块在粒子系统中的运动相同,即作为一个整体进行考虑;
当楼房网格发生破裂,一个楼房块与其它楼房块发生碰撞后,这个楼房块分解成更小的楼房块,将这个楼房块和与其碰撞的其它楼房块之间的锁值设为第二锁值,之后这些发生碰撞的楼房块将按照各自的运动方式进行运动;
每个楼房块的质量由每个楼房块所包含的粒子数来表示。
4.根据权利要求1、2或3所述的一种基于二维图像的楼房倒塌模拟方法,其特征在于在步骤(3)的楼房倒塌模拟过程中,将现实中的爆破理解成从一个点向四周辐射的一群力,通过设置力的个数、最小力和最大力的范围、力的方向范围,模拟出不同类型的爆破。
5.根据权利要求1、2或3所述的一种基于二维图像的楼房倒塌模拟方法,其特征在于在步骤(3)的楼房倒塌模拟过程中,将现实中的爆破理解成从多个不同点向四周辐射的一群力,从而模拟出现实中的二次以上的多次爆破。
6.根据权利要求1、2或3所述的一种基于二维图像的楼房倒塌模拟方法,其特征在于在步骤(3)的楼房倒塌模拟过程中,引入层次包围盒来加速楼房块之间的碰撞数据处理,对于每个楼房块添加一个轴向包围盒AABB,并将层次包围盒建成一个树状结构,每个分支节点都是其子节点包围盒子的并;当要检测一个楼房块是否和另一个楼房块发生碰撞时,遍历层次包围盒树,如果与一个分支节点没有交集,那么和其所有的子节点同样也不会有交集,就可以迅速排除那些没有碰撞的楼房块,从而保证楼房倒塌的实时模拟。
7.根据权利要求6所述的一种基于二维图像的楼房倒塌模拟方法,其特征在于检测到楼房块碰撞之后,采用理想碰撞模型,根据动量守恒和能量守恒算出碰撞后各楼房块的速度;然后引入随机因子去修正碰撞后各楼房块的速度的大小和方向,使之符合现实中的碰撞。
8.根据权利要求6所述的一种基于二维图像的楼房倒塌模拟方法,其特征在于在步骤(3)的楼房倒塌模拟过程中还加入了速度阈值,当两个楼房块的相对速度超过速度阈值后,楼房块就会因碰撞而发生破碎,生成新的更小的楼房块。
9.根据权利要求1所述的一种基于二维图像的楼房倒塌模拟方法,其特征在于烟雾模拟与楼房倒塌模拟同步进行。
10.根据权利要求9所述的一种基于二维图像的楼房倒塌模拟方法,其特征在于在步骤(3)的烟雾模拟中,设定烟雾粒子系统中每秒产生的粒子数与落地粒子数成正比,烟雾粒子的初始速度随着倒塌过程先增加,当倒塌最剧烈的时候到达峰值,随后减速。
CN201210141942.2A 2012-05-09 2012-05-09 一种基于二维图像的楼房倒塌模拟方法 Expired - Fee Related CN102708584B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210141942.2A CN102708584B (zh) 2012-05-09 2012-05-09 一种基于二维图像的楼房倒塌模拟方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210141942.2A CN102708584B (zh) 2012-05-09 2012-05-09 一种基于二维图像的楼房倒塌模拟方法

Publications (2)

Publication Number Publication Date
CN102708584A true CN102708584A (zh) 2012-10-03
CN102708584B CN102708584B (zh) 2014-06-04

Family

ID=46901301

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210141942.2A Expired - Fee Related CN102708584B (zh) 2012-05-09 2012-05-09 一种基于二维图像的楼房倒塌模拟方法

Country Status (1)

Country Link
CN (1) CN102708584B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107957750A (zh) * 2017-12-15 2018-04-24 广东欧珀移动通信有限公司 电子装置、截图方法及相关产品
US11403845B2 (en) 2020-01-21 2022-08-02 Kyndryl, Inc. Dynamic detection of building structure
WO2023279958A1 (zh) * 2021-07-07 2023-01-12 北京字跳网络技术有限公司 破碎模型生成方法、装置、电子设备和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102393825A (zh) * 2011-07-15 2012-03-28 浙江大学 一种基于非共面剔除的柔性场景连续碰撞检测方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102393825A (zh) * 2011-07-15 2012-03-28 浙江大学 一种基于非共面剔除的柔性场景连续碰撞检测方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
FENG FU: "Progressive collapse analysis of high-rise building with 3-D finite element modeling method", 《JOURNAL OF CONSTRUCTIONAL STEEL RESEARCH》 *
JAMES T. KLOSOWSKI ET AL: "Efficient Collision Detection Using Bounding Volume Hierarchies of k-DOPs", 《IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS》 *
M.B. LIU ET AL: "Computer simulation of high explosive explosion using smoothed particle hydrodynamics methodology", 《COMPUTERS & FLUIDS》 *
杜鹏 等: "多核加速的并行碰撞检测", 《计算机辅助设计与图形学学报》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107957750A (zh) * 2017-12-15 2018-04-24 广东欧珀移动通信有限公司 电子装置、截图方法及相关产品
CN107957750B (zh) * 2017-12-15 2020-05-22 Oppo广东移动通信有限公司 电子装置、截图方法及相关产品
US11403845B2 (en) 2020-01-21 2022-08-02 Kyndryl, Inc. Dynamic detection of building structure
WO2023279958A1 (zh) * 2021-07-07 2023-01-12 北京字跳网络技术有限公司 破碎模型生成方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN102708584B (zh) 2014-06-04

Similar Documents

Publication Publication Date Title
Dale The modelling of feedback in star formation simulations
CN110750864B (zh) 一种基于bim技术的溃坝洪水演示预警方法及平台
CN107085629A (zh) 一种基于视频重建与欧拉模型耦合的流体仿真方法
CN102708584B (zh) 一种基于二维图像的楼房倒塌模拟方法
KR20140110575A (ko) 개선된 lod 기반의 화산재 확산 모델 가시화방법
Liu et al. Turbulent details simulation for SPH fluids via vorticity refinement
CN116050233A (zh) 虚幻引擎的冲击波超压毁伤试验的可视化仿真方法及系统
Dey et al. Procedural feature generation for volumetric terrains using voxel grammars
Wang et al. An improving algorithm for generating real sense terrain and parameter analysis based on fractal
CN105224325B (zh) 渲染方法和装置
KR102042309B1 (ko) 폭파효과 구현을 위한 왕관형태의 동적 방출자 생성방법
KR101978024B1 (ko) 개별 입자의 방사형 이동을 이용한 폭파 및 파괴 시각효과 구현방법
CN108304524B (zh) 大规模火灾动态烟雾场的轻量级网页可视化方法及系统
Liu et al. scheme of dynamic clouds generation for 3d real time flight simulation
Zhao et al. INTERACTIVE VISUALIZATION OF LARGE-SCALE 3D SCATTERED DATA FROM A TSUNAMI SIMULATION.
CN103886636A (zh) 基于光线投射步进补偿的实时烟雾渲染算法
CN103679815A (zh) 基于表面搜索的可视外壳生成方法及装置
CN115344901B (zh) 一种基于三维引擎的三维模型自动爆炸拆解方法
CN104463936A (zh) 一种基于虚拟现实的室内爆炸仿真方法
Moloney et al. Rogue One: A Star Wars Story-Jedha destruction
Jha et al. Visual simulation application for hardware in-loop simulation (hils) of aerospace vehicles
Wongwathanarat Linking three-dimensional core-collapse supernova simulations with observations
Liu et al. Procedural modeling of buildings based on façade image segmentation
CN104091358A (zh) 一种可破坏模型动画的实现方法
Petrachyk et al. EARLY PROTOTYPING OF VIDEO GAMES WITH WAVE FUNCTION COLLAPSE ALGORITHM

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140604

Termination date: 20180509

CF01 Termination of patent right due to non-payment of annual fee