CN106327524B - 一种快速流体图像表面追踪方法 - Google Patents
一种快速流体图像表面追踪方法 Download PDFInfo
- Publication number
- CN106327524B CN106327524B CN201610794629.7A CN201610794629A CN106327524B CN 106327524 B CN106327524 B CN 106327524B CN 201610794629 A CN201610794629 A CN 201610794629A CN 106327524 B CN106327524 B CN 106327524B
- Authority
- CN
- China
- Prior art keywords
- triangle
- triangles
- intersection
- vertex
- imaging surface
- 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
Landscapes
- Image Analysis (AREA)
Abstract
本发明涉及一种快速流体图像表面追踪方法,包括以下步骤:S1,流体图像三角形网格化,找到所有与其他三角形存在相交的三角形;S2,将存在相交的三角形面积收缩,使其与其他三角形不相交;S3,对步骤S1得到的不存在相交的三角形分别进行位置判断,去除位于流体内部的三角形;S4,去除多余三角形,使每个顶点仅与零条或两条边相邻,得到具有空洞的流体表面三角形网格;S5,对空洞进行填充,得到完整的流体表面三角形网格。与现有技术相比,本发明具有速度快、鲁棒性强等优点。
Description
技术领域
本发明涉及一种图像处理方法,尤其是涉及一种快速流体图像表面追踪方法。
背景技术
三维显示中三维物体通常是通过绘制物体封闭表面来达到绘制三维物体的目的,因此快速的追踪到三维物体的表面,对于三维显示具有重要意义。由于液体的表面形状复杂,且其拓扑变化频繁,追踪液体表面是一个比较有挑战性的问题。
将液体表面表示成栅格图中的一系列标量函数是一种非常可取的一种方法,因为通过这种方法可以自动应对拓扑的结构变化,但是栅格表示的分辨率由这一系列标量函数所能表示的最小的特征尺寸所限制,要想模拟大范围空间中的小颗粒就需要非常庞大的栅格网。
最近出现了基于三角网格来追踪液体表面的方法,以此来克服栅格网表示的缺点。通过三角网格来表示物体表面在理论上没有特征尺寸的限制。但是通过三角网来表示液体表面时,由于液体融合与分裂等事件而导致的拓扑改变将必须得到有效的处理(主要是重叠部分的去处与修改)。
多数已有的基于三角网格的表面追踪技术同时使用着栅格网,通过使用栅格网来修正重叠部分。例如Wojtanetal.在2009年使用匹配立方体其后在2010年使用匹配凸壳的方式来处理拓扑变化带来的重叠问题。这些处理方法都限制了拓扑改变时所能处理的最小尺寸,同时将栅格网转化为三角网表示也是一个比较麻烦的过程,且其精度很难保证,其所导致的非流体网格还会导致后续处理进程中的困难。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种快速去除拓扑噪音、确定流体表面的快速流体图像表面追踪方法,是一种完全用三角网格来表示物体表面时,对物体(主要是液体)融合与分裂等事件引发的三角网格拓扑变化的处理方法。
本发明的目的可以通过以下技术方案来实现:
一种快速流体图像表面追踪方法,包括以下步骤:
S1,流体图像三角形网格化,找到所有与其他三角形存在相交的三角形;
S2,将存在相交的三角形面积收缩,使其与其他三角形不相交;
S3,对步骤S1得到的不存在相交的三角形分别进行位置判断,去除位于流体内部的三角形;
S4,去除多余三角形,使每个顶点仅与零条或两条边相邻,得到具有空洞的流体表面三角形网格;
S5,对空洞进行填充,得到完整的流体表面三角形网格。
所述的步骤S2中,三角形面积收缩的方法为:根据三角形原顶点v1、v2、v3确定新坐标,具体如下式:
其中,0<α<1。
所述的步骤S2中,α=0.5。
所述的步骤S5中,采用动态规划的方法进行空洞填充。
所述的步骤S1中,若两个三角形共享一个顶点则为不相交,若两个三角形共享两个顶点,则判断两个三角形法向量夹角,小于阀值判断为相交,大于阀值为不相交。
与现有技术相比,本发明通过相交三角形收缩、删除多余三角形和空洞填充,快速追踪流体表面,具有速度快、鲁棒性高的优点。
附图说明
图1为本发明的流程图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
实施例
如图1所示,本实施例快速流体图像表面追踪方法的主要目标是给定一个没有边界的但是存在重叠的流体,由于融合和分裂区域产生重叠交叉的三角网格,将其处理成具有多样性但是没有重叠部分的三角网格。
本方法分为以下六步:(1)找到相交的三角形。(2)拓扑噪音去除。(3)删除多余的三角形。(4)确保网格的多样性。(5)空洞匹配。(6)空洞填充。
第一步:寻找相交的三角形。
在这一步,首先对每对三角形判断是否共享顶点,如果共享一个顶点则为不相交,如果有两个点相交判断其相交角度,小于阀值判断为相交,大于阀值为不相交。对于不共享任何点的两个三角形,采用Moller算法来判断在三维空间中的两个三角形是否相交。对于这一步的结果考虑到后面的步骤需求,需要将交叉的三角形对储存在一个链表中。
由于后面的步骤需要检查三角形是否是相交三角形,对于每个三角形都检查链表代价比较大,因此对于每个三角形设置状态记录,当在判断一对三角形是否相交时即将其标记,这样在后面判断是否属于相交三角形时可以直接判断,而省下了查找相交三角形对链表的时间。
第二步:移除拓扑噪音。
对于每一个相交的三角形,将其所有点按照下列公式进行变换:
这一步相当于将每一个三角形内缩了,可以将那些处于相交边缘的三角形通过较小幅度的变化来变成非相交的三角形,尤其是对于有非常多的小颗粒的数据,可以将相交小颗粒变为非相交,进而减少后续判断处理的数据量。
第三步:删除多余的三角形。
在这一步需要判断出去相交三角形以外其余三角形是否在某一个物体内部,对于这些三角形连通相交的三角形都需要删除。由于所有相交三角形都已经找出,其余三角形的所有顶点要么全部在物体内部或全部在外部,也就变成了判断三角形上某一顶点是否在物体内部,对于这个问题有多种方法可选,本实施例采用的是Muller于2009年提出的一种射线投影的方法,具体过程可概括为对于一个点从这个点引出一条射线(射线方向需要指向其面垂直向外的方向),对于这条射线所相交的每一个三角形(要包括第一步中判断为相交三角形的三角形,所以第一步中的相交三角形都不能直接删除掉,需要等到这一步中判断完所有体内三角形后才可以一起删除掉,在实现的时候,可采用将三角形标记而不是直接删除掉的方式来处理的),将这个三角形的向外法向量方向与射线方向相乘,大于零加一计数小于零减一计数。如果最后计数为零,则为外部点,不为零则为内部点(至关的几何理解,一个外部点引出的射线经过任何一个体都会从一面穿入在从一个面穿出,所过两个面的上述乘积结果分别为负、正,因此外部点最终计数为零,而内部点不为零)。最后删除所有相交和在体内的三角形。
对于每一个三角形都做如上判断代价十分巨大,但由于已经判断出了相交三角形,如果这一判断准确的话,去除这些三角形后相连通的三角形要么全部在内部,要么全部在外部,理论上只要判断其中一个三角形即可。
在实际实现中,由于数值计算的精度问题(其实使用射线法判断本身在理论上就会有误判,比如射线经过两个三角形边界,这时不管是判断为相交还是不相交都会使最后结果错误),单个的判断并不准确,对每一联通区域,任意选择几个来进行投票判断。
对于这一步因为需要得到各个三角形向体外的法向量方向,三角形获取法向量是可以实现的。
第四步:确保多样性。
一条边当且仅当其有不超过两个相邻三角形时具有有多样性,一个顶点当且仅当其相邻的三角形只通过边相连时具有多样性。而一个三角网格当且仅当其所有的边和顶点都具有多样性时才具有多样性。
直接按照定义判断是否具有多样性代价十分巨大,但是由于当前三角网格是从一个具有多样性的三角网格通过删除部分三角形而形成的,所以只需要保证每个顶点只与两个或零个边界边相邻即可。对于不满足的顶点只需删除与这个点相邻的三角形即可。
实现过程中是通过构建三角形到边的映射计数表,只与一个未删除三角形相连的为边界边。
第五步:洞匹配。
这一步主要是将之前各个步骤中产生的洞,进行配对修复。首先是对每一对洞是否应该进行配对修复进行判断。对此采用一种评分标准,这一评分标准包括两部分,第一部分是两个洞中所有点对(一个点在洞1一个点在洞2)判断是否分别在在第一步中判断并存储的相交三角形对中的两个三角形上;第二部分判断所有点对(还是一个点在洞1一个在洞2上)间的距离是否小于一个阀值。综合上述两项评分,进行排序,从评分高的到低的依序配对修复。
在这一评分系统中第一部分其对应于液体融合时删去三角形形成的空洞对,第二部分则是对应于分裂时删去三角形导致的空洞对。
对于每个空洞对修复,可以判断每对边的距离,选择最近的开始,对一对边添加三角形并判断是否会导致非多样性,然而对于每一对洞在获取距离最近边对时,并不能知道这一边对在洞中时同向还是反向,故在添加三角形时需要尝试多种情况,其次由于每添加一个三角形都会导致边界变动,如第四步中的方法判断是否多样性代价十分巨大。
对于这一问题,可选取最近的边到点,并进行三角化(最近点已经三角化则不进行三角化),这样既不需要判断边的方向,也不会产生非多样性,因此不用再判断多样性。这种方法会产生很多小的缺口,但是这些小的缺口都是比较简单的洞可以通过下一步简单的填充。
第六步:空洞填充。
这一步主要是将前面各步留下的空洞进行填充。在此步中最快的方法只需O(n)的复杂度但其缝合的结果一般比较差。另一种是采用动态规划的手段,其复杂度为O(n2)。
Claims (4)
1.一种快速流体图像表面追踪方法,其特征在于,包括以下步骤:
S1,流体图像三角形网格化,找到所有与其他三角形存在相交的三角形;
S2,将存在相交的三角形面积收缩,使其与其他三角形不相交,三角形面积收缩的方法为:根据三角形原顶点v1、v2、v3确定新坐标,具体如下式:
其中,0<α<1;
S3,对步骤S1得到的不存在相交的三角形分别进行位置判断,去除位于流体内部的三角形;
S4,去除多余三角形,使每个顶点仅与零条或两条边相邻,得到具有空洞的流体表面三角形网格;
S5,对空洞进行填充,得到完整的流体表面三角形网格。
2.根据权利要求1所述的一种快速流体图像表面追踪方法,其特征在于,所述的步骤S2中,α=0.5。
3.根据权利要求1所述的一种快速流体图像表面追踪方法,其特征在于,所述的步骤S5中,采用动态规划的方法进行空洞填充。
4.根据权利要求1所述的一种快速流体图像表面追踪方法,其特征在于,所述的步骤S1中,若两个三角形共享一个顶点则为不相交,若两个三角形共享两个顶点,则判断两个三角形法向量夹角,小于阀值判断为相交,大于阀值为不相交。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610794629.7A CN106327524B (zh) | 2016-08-31 | 2016-08-31 | 一种快速流体图像表面追踪方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610794629.7A CN106327524B (zh) | 2016-08-31 | 2016-08-31 | 一种快速流体图像表面追踪方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106327524A CN106327524A (zh) | 2017-01-11 |
CN106327524B true CN106327524B (zh) | 2019-04-02 |
Family
ID=57787237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610794629.7A Active CN106327524B (zh) | 2016-08-31 | 2016-08-31 | 一种快速流体图像表面追踪方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106327524B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101609563A (zh) * | 2009-07-27 | 2009-12-23 | 浙江工商大学 | 一种三维模型形状特征二叉树的构建方法 |
CN102053258A (zh) * | 2010-12-15 | 2011-05-11 | 中国石油集团川庆钻探工程有限公司 | 基于复杂地质构造的自适应三维射线追踪方法 |
CN103714575A (zh) * | 2013-12-30 | 2014-04-09 | 北京大学 | 一种sph与动态表面网格相结合的流体仿真方法 |
CN104268943A (zh) * | 2014-09-28 | 2015-01-07 | 北京航空航天大学 | 一种基于欧拉-拉格朗日耦合方法的流体仿真方法 |
CN104574472A (zh) * | 2014-12-31 | 2015-04-29 | 北京大学 | 基于嵌入网格的固体碎裂模拟和动画方法 |
CN105006015A (zh) * | 2015-02-12 | 2015-10-28 | 上海交通大学 | 基于位置的流体模拟控制方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7565276B2 (en) * | 2006-04-05 | 2009-07-21 | Seoul National University Industry Foundation | Method of simulating detailed movements of fluids using derivative particles |
-
2016
- 2016-08-31 CN CN201610794629.7A patent/CN106327524B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101609563A (zh) * | 2009-07-27 | 2009-12-23 | 浙江工商大学 | 一种三维模型形状特征二叉树的构建方法 |
CN102053258A (zh) * | 2010-12-15 | 2011-05-11 | 中国石油集团川庆钻探工程有限公司 | 基于复杂地质构造的自适应三维射线追踪方法 |
CN103714575A (zh) * | 2013-12-30 | 2014-04-09 | 北京大学 | 一种sph与动态表面网格相结合的流体仿真方法 |
CN104268943A (zh) * | 2014-09-28 | 2015-01-07 | 北京航空航天大学 | 一种基于欧拉-拉格朗日耦合方法的流体仿真方法 |
CN104574472A (zh) * | 2014-12-31 | 2015-04-29 | 北京大学 | 基于嵌入网格的固体碎裂模拟和动画方法 |
CN105006015A (zh) * | 2015-02-12 | 2015-10-28 | 上海交通大学 | 基于位置的流体模拟控制方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106327524A (zh) | 2017-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11877716B2 (en) | Determining region attribute | |
US11300964B2 (en) | Method and system for updating occupancy map for a robotic system | |
EP2385496A1 (en) | Extraction of 2D surfaces from a 3D point cloud | |
CN111123242B (zh) | 一种基于激光雷达和相机的联合标定方法及计算机可读存储介质 | |
CN108267141A (zh) | 道路点云数据处理系统 | |
CN110648363A (zh) | 相机姿态确定方法、装置、存储介质及电子设备 | |
WO2020181524A1 (zh) | 图像深度的计算方法、图像处理装置及三维测量系统 | |
CN108564604B (zh) | 基于平面约束和三角剖分的双目视觉立体匹配方法及装置 | |
CN114332291A (zh) | 一种倾斜摄影模型建筑物外轮廓规则提取方法 | |
CN116152306B (zh) | 确定砌筑质量的方法、装置、设备和介质 | |
KR20220025028A (ko) | 시각적 비콘 기반의 비콘 맵 구축 방법, 장치 | |
CN105869188B (zh) | 点对多边形方位关系的检测方法和系统 | |
JP5592039B2 (ja) | 信頼度スコアに基づいた3次元モデルの併合 | |
CN108197531A (zh) | 一种道路曲线检测方法、装置和终端 | |
CN109783842A (zh) | 一种基于体素数据的射线检测方法及系统 | |
CN101937577A (zh) | 生成具有边界像素超采样效果的阴影的方法 | |
Palma et al. | Detection of geometric temporal changes in point clouds | |
CN106327524B (zh) | 一种快速流体图像表面追踪方法 | |
CN111220943A (zh) | 定位方法、定位系统、计算机可读存储介质及车辆 | |
CN109118565B (zh) | 一种顾及杆塔电力线遮挡的电力走廊三维模型纹理映射方法 | |
CN111598941A (zh) | 一种杆塔倾斜度测量方法、装置、设备及存储介质 | |
CN109636879A (zh) | 带岛的多边形曲线偏移算法 | |
CN112084854B (zh) | 一种障碍物检测方法、障碍物检测装置及机器人 | |
CN109215134A (zh) | 三维模型的遮挡确定方法、装置、计算机设备和存储介质 | |
CN111028264A (zh) | 一种旋转鲁棒的三维物体检测优化方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |