CN109871598B - 一种在复杂三维管网中构建实时可视化流体的方法 - Google Patents
一种在复杂三维管网中构建实时可视化流体的方法 Download PDFInfo
- Publication number
- CN109871598B CN109871598B CN201910087305.3A CN201910087305A CN109871598B CN 109871598 B CN109871598 B CN 109871598B CN 201910087305 A CN201910087305 A CN 201910087305A CN 109871598 B CN109871598 B CN 109871598B
- Authority
- CN
- China
- Prior art keywords
- point
- pipe network
- intersection
- points
- fluid
- 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
Classifications
-
- 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
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种在复杂三维管网中构建实时可视化流体的方法,对复杂三维管网内各类管线和路口进行分析和归纳,通过管网建模及中线获取得到管网中线数据,并确定管线和路口类型;针对各类管线和路口分别采用求交运算、管网底面重构等方法建立流体表面模型,以减少实时流体建模计算量。基于由传感器网络或数值模拟得到的实时流体深度信息与管网模型类别实时更新流体表面和流体深度,实现实时流体建模;采用渲染技术最终实现复杂三维管网场景下的流体实时可视化。以矿井突水为实例,验证发明方法可行性并进行可视化分析。解决了复杂三维管网中难以实现流体实时可视化的问题。
Description
技术领域
本发明涉及一种复杂三维管网中流体实时可视化技术,尤其涉及一种在复杂三维管网中构建实时可视化流体的方法。
背景技术
复杂三维管网是城市生存和发展中的重要基础设施,如常见的输油输气管道、矿山矿井巷道以及城市地铁轨道、地下水管道等,都与人们的日常生活和工作息息相关。实时模拟三维管网内的流体运动状态,可有效帮助人们监测管网内的物质运输状态,以及在防灾避险时(如巷道、轨道突水)指导人们及时规避风险;三维管网内的流体模拟在三维地质模拟中可有效模拟地下暗河以及地面河流;也可应用于三维游戏和影视动画中。
复杂三维管网内流体模拟包括管网建模和流体建模及可视化,以及建模完成后的可视化。管网建模技术主要有:尹志永等人利用3DS MAX开发出了一套自动三维建模插件,并结合OSG引擎完成了三维管网的建模及可视化;王国牛提出了一种直接利用二维管网数据构建三维管网数据库,并结合三维管网符号模型库和可视化参数实时构建三维管网的方法;周京春等人利用扫描(Sweep)造型法完成了管网精细化三维建模,简化了模型的复杂程度,保证了模型的通用性和准确性;随着科学技术的发展,江记洲等人实现了三维激光扫描点云构建三维管网模型,提高了建模效率和自动化程度。流体建模及可视化主要方法有:基于粒子系统插值的SPH方法,基于物理的欧拉法,以及基于耦合几何特征的高精度流体建模法等。
目前,使用的流体建模方法普遍适用于简单场景中的大面积较平整的流体构建。在大范围的复杂三维管网场景中,由于管网呈纵向立体分布且分支路径众多内部空间狭窄,管网内流体呈分散且非同一平面分布,且处处都要注意与管网的边界问题,如采用传统的粒子或物理等流体建模方法,需要时刻进行大量的计算建模,即使采用GPU并行计算加速也无法完成实时流体模拟。
发明内容
本发明的目的是提供一种在复杂三维管网中构建实时可视化流体的方法。
本发明的目的是通过以下技术方案实现的:
本发明的在复杂三维管网中构建实时可视化流体的方法,包括:
步骤A:根据实际工程,利用特殊中点提取方法获取三维管网模型和管网底面中线数据;
步骤B:使用管网底面中线上插值点的垂线与管线墙壁求交的方法,根据不同的管线、路口类型,分别求出各插值点处对应的墙壁交点,使用墙壁交点重构管网底面;
步骤C:利用重构后的管网底面,结合管网模型特性和数值模拟或传感器得到的实时流体深度信息,实时更新流体表面和流体深度,完成管网内流体建模,建模完成后对流体模型进行纹理渲染或颜色填充,以满足不同的可视化需求。
由上述本发明提供的技术方案可以看出,本发明实施例提供的在复杂三维管网中构建实时可视化流体的方法,对复杂三维管网内各类管线和路口进行分析和归纳,通过管网建模及中线获取得到管网截面中线数据,并确定管线和路口类型;针对各类管线和路口分别采用求交运算、管网底面重构等方法建立流体表面模型,以减少实时流体建模计算量。基于由传感器网络或数值模拟得到的实时流体深度信息与管网模型类别实时更新流体表面和流体深度,实现实时流体建模;采用渲染技术最终实现复杂三维管网场景下的流体实时可视化。以矿井突水为实例,验证发明方法可行性并进行可视化分析。解决了复杂三维管网中难以实现流体实时可视化的问题。
附图说明
图1为本发明实施例提供的在复杂三维管网中构建实时可视化流体的方法流程示意图。
图2为本发明实施例管网路况分类示意图。
图3a、图3b分别为本发明实施例两处的路径投影示意图。
图4a、图4b分别为本发明实施例两处的路口投影示意图。
图5为本发明实施例管网底面重构示意图。
图6a、图6b分别为本发明实施例流体表面更新前后的示意图。
图7为本发明实施例实时流体构建示意图。
图8为本发明实施例巷道模型示意图。
图9为本发明实施例巷道中线示意图。
图10为本发明实施例流体可视化效果示意图。
图11为本发明实施例颜色渐变渲染效果示意图。
具体实施方式
下面将对本发明实施例作进一步地详细描述。本发明实施例中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
本发明的在复杂三维管网中构建实时可视化流体的方法,其较佳的具体实施方式包括:
步骤A:根据实际工程,利用特殊中点提取方法获取三维管网模型和管网底面中线数据;
步骤B:使用管网底面中线上插值点的垂线与管线墙壁求交的方法,根据不同的管线、路口类型,分别求出各插值点处对应的墙壁交点,使用墙壁交点重构管网底面;
步骤C:利用重构后的管网底面,结合管网模型特性和数值模拟或传感器得到的实时流体深度信息,实时更新流体表面和流体深度,完成管网内流体建模,建模完成后对流体模型进行纹理渲染或颜色填充,以满足不同的可视化需求;
所述步骤A具体包括步骤A1或步骤A2:
步骤A1:根据实际工程图纸,选取图纸中所有管线边界、路口的中点作为管网路径的起点和终点,每条路径仅包含一组起、终点,再标记每条路径中所有管网转折处的插值点,连接路径上的插值点获取管网底面中线,使用基于Sweep方法构建完整的三维管网模型;
步骤A2:采用三维激光扫描法,得到完整管网点云构建管网模型,之后通过交互式方法,按步骤A1中获取中线方法在管网模型中标记的插值点连成中线;
所述步骤B具体包括:
步骤B1:取一条路径中线,设其中线中的插值点按Q0...Qi...Qn排列,其中连续三点的空间底面投影记为Qi-1(x1,y1),Qi(x2,y2),Qi+1(x3,y3),根据公式按从点Q1到点Qn-1的顺序判断路径上的点是否为转折点,非转折点转入步骤B2,转折点转入步骤B3;
步骤B2:在路径投影中,取管网底面中线上的插值点O、H、K、M、S、N、T,依次经过这些插值点的路径称为路径OHKMSNT,点H为非转折点,取点H处垂直于线段OH且平行于空间底面的垂线,垂线与组成管网模型的所有三角形所在平面的交点集Un,根据空间中的点与三角形的位置关系筛选出Un中在管网模型上的交点,分别取Un中距离线OH左右两侧最近的一个交点,即为中线插值点H对应管线墙壁的左交点L1和右交点R1;
同理得到:非转折点K对应管线墙壁的左交点L2和右交点R2;非转折点S对应管线墙壁的左交点L3和右交点R3;
步骤B3:以点M为转折点,由于点M前有连续两个非转折点H、K,点H、K对应的墙壁左交点所在直线L1L2必与管线左侧墙壁的底面投影重合,点M后只有一个非转折点S,在线段MS上插入一个非转折点S′,求S′对应的墙壁左、右交点L3′、R3′,直线L3L3′与管线左侧墙壁底面投影重合,取直线L1L2和直线L3L3′的底面投影交点记为点L4,令点L4的z坐标与点M相同,则点L4为管线转折点M对应的墙壁左交点,同理能求出点M对应的墙壁右交点R4;
同理得到:转折点N对应管线墙壁的左交点L5和右交点R5;
步骤B4:根据中线数据分析出边界点,在管线边界中点D处,靠近边界点D处取一插值点F,线段FD为管线边界底面中线,在管线边界底面中线FD及其延长线上按步长依次插入靠近点D的点,按直线管线墙壁求交方法求插入点对应的墙壁交点,直到取到最靠近管线边界的墙壁左交点L6和右交点R6为止,取到的墙壁交点L6和R6存在的误差随插值步长减小而减小;
步骤B5:对共用路口的中点T”的路径按投影的顺时针顺序依次编号为路径1、路径2、路径3,根据路径编号依次确定墙壁投影墙壁交点P1”、P2”、P3”为路口对应的点,按照转折管线墙壁求交的方法,求取路径1左侧墙壁投影和路径3右侧墙壁投影的交点P1”,同理路径2左侧墙壁投影和路径1右侧墙壁投影的交点P2”、路径3左侧墙壁投影和路径2右侧墙壁投影的交点P3”,令点P1”、P2”、P3”的z坐标与点T”相同,记为路口墙壁交点;
步骤B6:在求得所有插值点对应的墙壁交点后,按每条路径由起点至终点,每2个相邻路径点对应的4个墙壁交点为一组底面顶点重构管线底面,在路口处以每个路口对应的墙壁交点构成四边形重构路口底面;
在路径OHKMSNT中,与步骤B5相同的方法求得:路口中点O处对应的墙壁交点P1、P2、P3、P4及路口中点T对应的墙壁交点P5、P6,点P5、P6垂直于该路径对侧的墙壁上的点为P7、P8;
从起点O开始,以四边形P2L1R1P3、L1L2R2R1、L2L4R4R2、L4L3R3R4、L3L5R5R3、L5P5P8R5重构除路口外的管线底面,在路口中点O和T处,以四边形P1P2P3P4、P5P6P7P8重构路口底面,其他路径、路口底面重构同理,当完成所有路径的管线和路口底面重构,即能获得完整的重构管网底面;
所述步骤C具体包括:
步骤C1:通过在现实管网中添加流体深度信息传感器或在虚拟三维管网中数值模拟得到实时流体深度信息,经插值处理,使插值后的流体深度信息点和模型内标记的中线上的插值点一一对应,在动态模拟时实时更新每个路径点的流体深度信息,由于管网底面有时不平行于三维空间底面,不同倾斜角处管网截面都不相同,为保证动态模拟模型统一,按照垂直于管网底面取管网截面,并使用垂直于管网底面的流体深度信息,构建实时动态流体;
步骤C2:根据步骤B6得到的完整管网底面,结合实时流体深度信息和管网模型信息构建实时流体表面;
管网截面主要是由弧形边和直边组成的,弧形边是半圆或半椭圆的一部分,根据其几何特征,求出管网内对应流体深度信息的流体表面坐标;
对于拱形管网,直线管线转入步骤C3,其他位置转入步骤C4;
步骤C3:直线管线的拱顶截面为半径为R'的半圆,通过预处理得到直线管线截面的左端点A'(X1,Y1,Z1),直线管线底面法向量为当点A'沿向量/>方向移动距离h时,到达截面墙壁最高点B'(X2,Y2,Z2);
当流体深度H'>h时,点B'更新后的流体表面左顶点为点C'(X3,Y3,Z3),设∠C'B'O'=θ,通过几何关系求得根据θ和/>得到点C'的三维坐标;
步骤C4:在转折管线、管线边界和路口位置的拱顶截面一般是长轴为2L',短轴为2R'的半椭圆(L'>R'),P1'、P2'为截面对应的一组底面顶点,得到的底面墙壁最高点,设拱顶截面半椭圆坐标公式为x2/L'2+y2/R'2=1(y>0),x和y分别为拱顶截面半椭圆线上的点距离拱顶截面的底部中心O'的横向距离和纵向高度,令y=H'-h,求出A'O'和B'O'的距离x(x>0),通过插值求出点A'、B'的三维坐标,并求得流体深度H'对应的流体表面顶点A1'、B1';
步骤C5:渲染流体表面,并结合实时流体深度信息和管网模型信息渲染流体侧面,进行完整的流体可视化,并通过插值方法加密四边形提高弧面可视化精度;
所述弧面可视化精度与可视化效率成反比,使用单个四边形代替弧面实现流体深度信息可视化。
本发明的在复杂三维管网中构建实时可视化流体的方法,对复杂三维管网内各类管线和路口进行分析和归纳,提出了一种复杂三维管网中流体实时可视化的方法。通过管网建模及中线获取得到管网截面中线数据,并确定管线和路口类型;针对各类管线和路口分别采用求交运算、管网底面重构等方法建立流体表面模型,以减少实时流体建模计算量。基于由传感器网络或数值模拟得到的实时流体深度信息与管网模型类别实时更新流体表面和流体深度,实现实时流体建模;采用渲染技术最终实现复杂三维管网场景下的流体实时可视化。以矿井突水为实例,验证发明方法可行性并进行可视化分析。解决了复杂三维管网中难以实现流体实时可视化的问题。
本发明具有以下优点和效果:
1、本发明的方法将流体构建分为预处理和实时动态处理两个过程,通过一次性长时间预处理得到完整的管网内底面(平面),再根据流体深度信息和管网模型信息可实现快速构建流体模型,实时性强。
2、本发明的方法以预处理得到的完整的管网内底面(平面)为基础构建流体,在构建实时动态流体时即便不考虑流体与官网模型的碰撞也不会发生流体溢出管网或发生缺失等失真问题,不考虑流体与官网模型的碰撞也可大大提高实时模拟效率。
3、本发明的方法可以提高复杂三维管网中的流体模拟效率,可有效帮助人们监测管网内的物质运输状态,以及在防灾避险时(如巷道、轨道突水)指导人们及时规避风险。可通过调节管网参数和模型类别快速适应不同场景,通用性高。
本发明的在复杂三维管网中构建实时可视化流体的方法主要是管网内流体的实时建模及可视化方法,其主要流程如图1所示:
该方法包括管网建模及中线获取、预处理、以及实时动态模拟三个主要步骤。管网建模及中线获取主要是根据一些现有的建模方法构建三维管网模型,以及获取带有拓扑关系的管网截面中线数据。预处理是根据管网截面中线数据,通过在管网模型内进行一系列的求交运算,获得所有中点对应的管线内交点,再根据管线内交点重构完整的管网底面,为避免管网截面中线的垂线与管网底面相交,可将管网截面中线向垂直于空间底面向上方向平移k(k小于管网墙壁高度),求得管网截面中线的垂线与墙壁交点后再将交点向下平移k,即可求得重构管网底面所需墙壁交点。实时动态模拟是以重构管网底面为基础,结合由传感器或数值模拟得到的实时流体深度信息以及管网模型数据,构建实时流体模型,再通过纹理或颜色渲染以达到不同的可视化分析效果。
具体实施步骤:
步骤A:根据实际工程,利用特殊中点提取方法获取三维管网模型和管网截面中线数据。
步骤B:使用管网截面中线的垂线与管线墙壁求交的方法,根据不同的管线、路口类型,分别求出各中点处对应的墙壁交点,使用墙壁交点重构管网底面。
步骤C:利用重构后的管网底面,结合管网模型特性和数值模拟或传感器得到的实时流体深度信息,实时更新流体表面和流体深度,即可快速有效完成管网内流体建模。建模完成后对流体模型进行纹理渲染或颜色填充,以满足不同的可视化需求。
所述步骤A具体包括步骤A1或步骤A2:
步骤A1:根据实际工程图纸,选取图纸中所有管线边界、路口的中点作为管网路径的起点和终点,每条路径仅包含一组起、终点,再标记每条路径中所有管网转折处的中点(图2),连接路径上的中点即可获取管网截面中线,使用基于Sweep等方法构建完整的三维管网模型;
步骤A2:采用三维激光扫描法,得到完整管网点云构建管网模型,之后通过交互式方法,按步骤A1中获取中线方法在管网模型中标记中点连成中线。
所述步骤B具体包括:
步骤B1:取一条路径中线,设其中线中的插值点按Q0...Qi...Qn排列,其中连续三点的空间底面投影记为Qi-1(x1,y1),Qi(x2,y2),Qi+1(x3,y3),根据公式按从点Q1到点Qn-1的顺序判断路径上的点是否为转折点,非转折点转入步骤B2,转折点转入步骤B3;
步骤B2:图3a、图3b为路径投影,以路径OHKMSNT为例,点H为非转折点,取点H处垂直于线段OH且平行于空间底面的垂线,垂线与组成管网模型的所有三角形所在平面的交点集Pn,根据空间中点与三角形的位置关系筛选出Pn中在管网模型上的交点。将所有交点P(px,py)根据公式D=A×px+B×py+C分为线段OH(方程A×x+B×y+C=0)左(D<0)、右(D>0)两组,再分别取两组交点内距离线OH最近的两个点,即为路径点H对应管线墙壁的左交点L1和右交点R1。
步骤B3:图3a中点M为转折点,由于点M前有连续两个直线管线路径点H、K,点H、K对应的墙壁左交点所在直线L1L2必与管线左侧墙壁的底面投影重合,点M后只有一个直线管线路径点S,可在线段MS上插入一个直线管线路径点S′,求S′对应的墙壁左、右交点L3′、R3′,直线L3L3′与管线左侧墙壁底面投影重合,取直线L1L2和直线L3L3′的底面投影交点记为L4,令L4的z坐标与路径点M相同,则L4为管线转折点M对应的墙壁左交点,同理可求出点M对应的墙壁右交点R4。
步骤B4:根据中线数据可分析出边界点,如图3b在管线边界中点D处,仅按直线管线墙壁求交方法处理,得到的墙壁交点形成的管网底面会出现缺失。此时可在线段FD及其延长线上按一定步长依次插入靠近D的点,按直线管线墙壁求交方法求插入点对应的墙壁交点,直到取到最靠近管线边界的墙壁左、右交点L1、R1为止。取到的墙壁交点L1、R1会存在误差,随插值步长减小而减小。
步骤B5:对共用路口中点T”的路径按投影的顺时针顺序(图4a)进行编号(图4b),根据编号依次确定墙壁投影交点P1”、P2”、P3”为路口对应的墙壁交点。可按照转折管线墙壁求交的方法,求取路径1左侧墙壁投影和路径3左侧墙壁投影的交点P1”,同理可求得P2”、P3”。令点P1”、P2”、P3”的z坐标与点T”相同,记为路口墙壁交点。
步骤B6:在求得所有路径点对应的墙壁交点后,按每条路径由起点至终点,每2个相邻路径点对应的4个墙壁交点为一组底面顶点重构管线底面,在路口处以每个路口对应的墙壁交点构成四边形重构路口底面。以路径OHKMSNT为例(图5),从起点O开始,以四边形P2L1R1P3、L1L2R2R1、L2L4R4R2、L4L3R3R4、L3L5R5R3、L5P5P8R5重构除路口外的管线底面,在路口中点O和T处,以四边形P1P2P3P4、P5P6P7P8重构路口底面。其他路径、路口底面重构同理,当完成所有路径的管线和路口底面重构,即可获得完整的重构管网底面。
所述步骤C具体包括:
步骤C1:通过在现实管网中添加流体深度信息传感器或在虚拟三维管网中数值模拟得到实时流体深度信息,经插值处理,使插值后的流体深度信息点和模型内标记的中线路径点一一对应,在动态模拟时实时更新每个路径点的流体深度信息。由于管网底面有时不平行于三维空间底面,不同倾斜角处管网截面都不相同,为保证动态模拟模型统一,可按照垂直于管网底面取管网截面,并使用垂直于管网底面的流体深度信息,构建实时动态流体。
步骤C2:根据步骤B6得到的完整管网底面,结合实时流体深度信息和管网模型信息构建实时流体表面。常见管网截面主要是由弧形边和直边组成的,弧形边可看作是半圆(图6a)或半椭圆(图6b)的一部分,根据其几何特征,可以快速求出管网内对应流体深度信息的流体表面坐标。以常见拱形管网为例,直线管线转入步骤C3,其他位置转入步骤C4。
步骤C3:直线管线的拱顶截面为半径为R'的半圆,通过预处理可得到直线管线底面的左端点A'(X1,Y1,Z1),直线管线底面法向量为当点A'沿向量/>方向移动距离h时,到达截面墙壁最高点B'(X2,Y2,Z2)。当流体深度H'>h时,点B'更新后的流体表面左顶点为点C'(X3,Y3,Z3),设∠C'B'O'=θ,通过几何关系求得/>则向量可表示为/>使点B'沿向量/>平移即可得到点C'(X3,Y3,Z3)。
步骤C4:在转折管线、管线边界和路口位置的拱顶截面一般是长轴为2L',短轴为2R'的半椭圆(L'>R'),P1'、P2'为截面对应的一组底面顶点,得到的底面墙壁最高点,设拱顶截面半椭圆坐标公式为x2/L'2+y2/R'2=1(y>0),令y=H'-h,求出A'O'和B'O'的距离x(x>0),通过插值求出点A'、B'的三维坐标,并求得流体深度H'对应的流体表面顶点A1'、B1'。
步骤C5:渲染流体表面,并结合实时流体深度信息和管网模型信息渲染流体侧面,进行完整的流体可视化(图7)。由于流体表面随流体深度升高而缩小,可通过插值方法加密四边形提高弧面可视化精度。弧面可视化精度与可视化效率成反比,在对可视化精度要求不高的场景中,使用单个四边形代替弧面即可实现流体深度信息可视化。
所述的本发明的可视化分析预测方法依据的软件、硬件支撑环境为:
软件支撑环境为:在Windows 7及以上操作系统环境下,使用Microsoft VisualStudio 2013开放式、跨平台的开发工具。
硬件支撑环境为:
本发明组织了以下硬件设备,其中包括可选项设备,以满足不同层次用户的需求。
扫描仪(可选)
专业图形工作站或高性能PC机
支持OpenGL配备有8MB RAM的2D/3D加速卡(可选)
仿真立体投影幕、单通道/多通道立体投影系统、立体眼镜(可选)
3D打印机(可选)
实施例1:
以河北某煤矿发生突水事故时的巷道内突水仿真为例。
步骤101:根据煤矿巷道的AutoCAD图纸使用3ds Max软件构建巷道三维模型(图8),并标记模型中所有边界、路口的中点作为巷道路径的起点和终点,每条路径仅包含一组起、终点,标记路径中所有巷道转折处的中点,连接路径上的中点即可获取完整巷道中线(图9),使用格式转换工具将.3ds格式的巷道和中线数据转化为.txt格式,将巷道和中点以带拓扑结构的三维坐标形式导入计算机内存。
步骤102:根据中线数据对巷道内的每条路径,按中点顺序从第二个点开始先判断这个点是否为管线转折点,对非转折点转入步骤103,转折点转入步骤104,直到路径倒数第二个点为止。
步骤103:取此点与上一点的三维坐标,求出直线公式,求出该直线与三维空间底面的垂线与巷道模型的所有交点,对这些交点进行左右分类和筛选比较,可得出非转折点对应的巷道墙壁交点。
步骤104:取此点与前后两点插值所得到的两个非转折点,分别求取其对应的墙壁交点,根据投影交线方法,可得出转折点对应的墙壁交点。
步骤105:对巷道中点中所有首尾点的使用次数进行统计(表1),可分析出巷道中的所有管线边界点,逐一进行管线边界求交,得到边界处墙壁交点。
表1中点使用次数统计
步骤106:对巷道中点中所有首尾点的使用次数进行统计(表1),可分析出巷道中的所有路口点和路口类型,逐一使用路口墙壁求交方法,得到路口处墙壁交点。
步骤107:根据上述操作可获得所有巷道中点对应的墙壁交点,按照中线拓扑结构,按路径重构完整的巷道管网底面。
步骤108:导入由数值模拟取得的1000个时刻对应的实时水流深度信息,使用插值算法保证每一个巷道中点在每一个时刻都有其对应的实时水流深度信息。
步骤109:根据实时水流深度信息和管网底面、管网模型信息,构建实时水面。
步骤110:使用OpenGL对实时水面进行渲染,并结合实时水面深度信息和管网模型信息实现水流深度信息可视化,进而完成实时水流构建和可视化(图10)。
步骤111:根据实际要求对水流进行不同的渲染,以达到不同的可视化分析效果。如使用颜色渐变渲染,可更好的显示巷道突水时巷道内不同时刻的水深变化(图11)。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (1)
1.一种在复杂三维管网中构建实时可视化流体的方法,其特征在于,包括:
步骤A:根据实际工程,利用特殊中点提取方法获取三维管网模型和管网底面中线数据;
步骤B:使用管网底面中线上插值点的垂线与管线墙壁求交的方法,根据不同的管线、路口类型,分别求出各插值点处对应的墙壁交点,使用墙壁交点重构管网底面;
步骤C:利用重构后的管网底面,结合管网模型特性和数值模拟或传感器得到的实时流体深度信息,实时更新流体表面和流体深度,完成管网内流体建模,建模完成后对流体模型进行纹理渲染或颜色填充,以满足不同的可视化需求;
所述步骤A具体包括步骤A1或步骤A2:
步骤A1:根据实际工程图纸,选取图纸中所有管线边界、路口的中点作为管网路径的起点和终点,每条路径仅包含一组起、终点,再标记每条路径中所有管网转折处的插值点,连接路径上的插值点获取管网底面中线,使用基于Sweep方法构建完整的三维管网模型;
步骤A2:采用三维激光扫描法,得到完整管网点云构建管网模型,之后通过交互式方法,按步骤A1中获取中线方法在管网模型中标记的插值点连成中线;
所述步骤B具体包括:
步骤B1:取一条路径中线,设其中线中的插值点按Q0...Qi...Qn排列,其中连续三点的空间底面投影记为Qi-1(x1,y1),Qi(x2,y2),Qi+1(x3,y3),根据公式按从点Q1到点Qn-1的顺序判断路径上的点是否为转折点,非转折点转入步骤B2,转折点转入步骤B3;
步骤B2:在路径投影中,取管网底面中线上的插值点O、H、K、M、S、N、T,依次经过这些插值点的路径称为路径OHKMSNT,点H为非转折点,取点H处垂直于线段OH且平行于空间底面的垂线,垂线与组成管网模型的所有三角形所在平面的交点集Un,根据空间中的点与三角形的位置关系筛选出Un中在管网模型上的交点,分别取Un中距离线OH左右两侧最近的一个交点,即为中线插值点H对应管线墙壁的左交点L1和右交点R1;
同理得到:非转折点K对应管线墙壁的左交点L2和右交点R2;非转折点S对应管线墙壁的左交点L3和右交点R3;
步骤B3:以点M为转折点,由于点M前有连续两个非转折点H、K,点H、K对应的墙壁左交点所在直线L1L2必与管线左侧墙壁的底面投影重合,点M后只有一个非转折点S,在线段MS上插入一个非转折点S′,求S′对应的墙壁左、右交点L3′、R3′,直线L3L3′与管线左侧墙壁底面投影重合,取直线L1L2和直线L3L3′的底面投影交点记为点L4,令点L4的z坐标与点M相同,则点L4为管线转折点M对应的墙壁左交点,同理能求出点M对应的墙壁右交点R4;
同理得到:转折点N对应管线墙壁的左交点L5和右交点R5;
步骤B4:根据中线数据分析出边界点,在管线边界中点D处,靠近边界点D处取一插值点F,线段FD为管线边界底面中线,在管线边界底面中线FD及其延长线上按步长依次插入靠近点D的点,按直线管线墙壁求交方法求插入点对应的墙壁交点,直到取到最靠近管线边界的墙壁左交点L6和右交点R6为止,取到的墙壁交点L6和R6存在的误差随插值步长减小而减小;
步骤B5:对共用路口的中点T”的路径按投影的顺时针顺序依次编号为路径1、路径2、路径3,根据路径编号依次确定墙壁投影墙壁交点P1”、P2”、P3”为路口对应的点,按照转折管线墙壁求交的方法,求取路径1左侧墙壁投影和路径3右侧墙壁投影的交点P1”,同理路径2左侧墙壁投影和路径1右侧墙壁投影的交点P2”、路径3左侧墙壁投影和路径2右侧墙壁投影的交点P3”,令点P1”、P2”、P3”的z坐标与点T”相同,记为路口墙壁交点;
步骤B6:在求得所有插值点对应的墙壁交点后,按每条路径由起点至终点,每2个相邻路径点对应的4个墙壁交点为一组底面顶点重构管线底面,在路口处以每个路口对应的墙壁交点构成四边形重构路口底面;
在路径OHKMSNT中,与步骤B5相同的方法求得:路口中点O处对应的墙壁交点P1、P2、P3、P4及路口中点T对应的墙壁交点P5、P6,点P5、P6垂直于该路径对侧的墙壁上的点为P7、P8;
从起点O开始,以四边形P2L1R1P3、L1L2R2R1、L2L4R4R2、L4L3R3R4、L3L5R5R3、L5P5P8R5重构除路口外的管线底面,在路口中点O和T处,以四边形P1P2P3P4、P5P6P7P8重构路口底面,其他路径、路口底面重构同理,当完成所有路径的管线和路口底面重构,即能获得完整的重构管网底面;
所述步骤C具体包括:
步骤C1:通过在现实管网中添加流体深度信息传感器或在虚拟三维管网中数值模拟得到实时流体深度信息,经插值处理,使插值后的流体深度信息点和模型内标记的中线上的插值点一一对应,在动态模拟时实时更新每个路径点的流体深度信息,由于管网底面有时不平行于三维空间底面,不同倾斜角处管网截面都不相同,为保证动态模拟模型统一,按照垂直于管网底面取管网截面,并使用垂直于管网底面的流体深度信息,构建实时动态流体;
步骤C2:根据步骤B6得到的完整管网底面,结合实时流体深度信息和管网模型信息构建实时流体表面;
管网截面主要是由弧形边和直边组成的,弧形边是半圆或半椭圆的一部分,根据其几何特征,求出管网内对应流体深度信息的流体表面坐标;
对于拱形管网,直线管线转入步骤C3,其他位置转入步骤C4;
步骤C3:直线管线的拱顶截面为半径为R'的半圆,通过预处理得到直线管线截面的左端点A'(X1,Y1,Z1),直线管线底面法向量为当点A'沿向量/>方向移动距离h时,到达截面墙壁最高点B'(X2,Y2,Z2);
当流体深度H'>h时,点B'更新后的流体表面左顶点为点C'(X3,Y3,Z3),设∠C'B'O'=θ,通过几何关系求得根据θ和/>得到点C'的三维坐标;
步骤C4:在转折管线、管线边界和路口位置的拱顶截面一般是长轴为2L',短轴为2R'的半椭圆(L'>R'),P1'、P2'为截面对应的一组底面顶点,得到的底面墙壁最高点,设拱顶截面半椭圆坐标公式为x2/L'2+y2/R'2=1(y>0),x和y分别为拱顶截面半椭圆线上的点距离拱顶截面的底部中心O'的横向距离和纵向高度,令y=H'-h,求出A'O'和B'O'的距离x(x>0),通过插值求出点A'、B'的三维坐标,并求得流体深度H'对应的流体表面顶点A1'、B1';
步骤C5:渲染流体表面,并结合实时流体深度信息和管网模型信息渲染流体侧面,进行完整的流体可视化,并通过插值方法加密四边形提高弧面可视化精度;
所述弧面可视化精度与可视化效率成反比,使用单个四边形代替弧面实现流体深度信息可视化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910087305.3A CN109871598B (zh) | 2019-01-29 | 2019-01-29 | 一种在复杂三维管网中构建实时可视化流体的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910087305.3A CN109871598B (zh) | 2019-01-29 | 2019-01-29 | 一种在复杂三维管网中构建实时可视化流体的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109871598A CN109871598A (zh) | 2019-06-11 |
CN109871598B true CN109871598B (zh) | 2023-07-25 |
Family
ID=66918342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910087305.3A Active CN109871598B (zh) | 2019-01-29 | 2019-01-29 | 一种在复杂三维管网中构建实时可视化流体的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109871598B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111429558B (zh) * | 2020-03-02 | 2022-09-23 | 武汉大学 | 实时模拟动态水体缩略模型的方法及系统 |
CN112131694B (zh) * | 2020-09-27 | 2022-08-12 | 北京航空航天大学 | 一种面向管道网络法的涡轮叶片流体网络可视化方法 |
CN113627038B (zh) * | 2021-10-09 | 2021-12-21 | 武汉幻城经纬科技有限公司 | 管网排水增强可视化方法及装置、存储介质、电子设备 |
JP7086371B1 (ja) * | 2021-11-30 | 2022-06-20 | オフィスケイワン株式会社 | 電線共同溝の管路設計プログラム。 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108776993A (zh) * | 2018-05-24 | 2018-11-09 | 北京建筑大学 | 带有孔洞的三维点云的建模方法及地下电缆工井建模方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102749658A (zh) * | 2007-07-19 | 2012-10-24 | 水资源技术(株) | 非接触式计程仪 |
-
2019
- 2019-01-29 CN CN201910087305.3A patent/CN109871598B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108776993A (zh) * | 2018-05-24 | 2018-11-09 | 北京建筑大学 | 带有孔洞的三维点云的建模方法及地下电缆工井建模方法 |
Non-Patent Citations (3)
Title |
---|
城市三维管网建库及高效可视化;王国牛;《测绘科学》;20150420(第04期);全文 * |
城市地下管网三维可视化仿真研究;李学满;《中国优秀硕士学位论文全文数据库工程科技Ⅱ辑》;20190115(第1期);正文第28-41页 * |
复杂三维管网中流体实时可视化算法及其应用;张越等;《高技术通讯》;20191215(第12期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109871598A (zh) | 2019-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109871598B (zh) | 一种在复杂三维管网中构建实时可视化流体的方法 | |
CN101853522B (zh) | 三维地质建模系统及其建模方法 | |
US8838419B2 (en) | System and method for simulating machining objects | |
US20140267273A1 (en) | System and method for overlaying two-dimensional map elements over terrain geometry | |
CN103226844B (zh) | 一种基于空间数据结构体系的三维地质巷道建模方法 | |
US9286712B2 (en) | System and method for approximating cartographic projections by linear transformation | |
US20130112407A1 (en) | Obtaining Data From An Earth Model Using Functional Descriptors | |
CN105701295A (zh) | Bim模型与三维地理信息系统快速集成展现的方法 | |
CN102782729A (zh) | 具有交互式3d界面的集成gis系统 | |
CN108053477B (zh) | 一种管道内变形的数值处理方法 | |
CN107369205A (zh) | 一种移动终端城市二三维联动显示方法 | |
CN111145356B (zh) | 一种基于Unity3D模型的切割方法 | |
CN103606184A (zh) | 一种基于二维和三维一体化矢量渲染引擎的装置 | |
JP2016510473A (ja) | デプスマップのコンテンツを強化するための方法およびデバイス | |
CN102609982A (zh) | 空间地质数据非结构化模式的拓扑发现方法 | |
CN104200425A (zh) | 一种gpu图形处理过程中图元裁剪装置及裁剪方法 | |
Yoo et al. | Image‐Based Modeling of Urban Buildings Using Aerial Photographs and Digital Maps | |
CN113269883B (zh) | 基于二维剖面和catia的bim三维地质建模方法 | |
KR100844452B1 (ko) | 3차원 건축물 지형을 생성하는 방법 | |
Loscos et al. | The create project: Mixed reality for design, education, and cultural heritage with a constructivist approach | |
Ding et al. | The interactive modeling method of virtual city scene based on building codes | |
Remondino et al. | Detailed primitive-based 3D modeling of architectural elements | |
Cappellini et al. | A procedural solution to model roman masonry structures | |
KR20030088563A (ko) | 산악용 입체지도 제작방법 | |
Zirr et al. | Memory-Efficient On-The-Fly Voxelization of Particle Data. |
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 |