一种基于WebGL的超欠挖数据分析及可视化的方法技术

技术编号:35460216 阅读:12 留言:0更新日期:2022-11-03 12:26
本发明专利技术提供一种基于WebGL的超欠挖数据分析及可视化的方法,涉及隧道与地下洞室工程技术领域,能够解决本发明专利技术解决了传统超欠挖工程量分析方法中,依靠AutoCAD软件进行人工分析,且过程繁琐、耗时、无法保证分析结果精确度,基于C/S架构的软件在PC电脑中,无法根据任意断面设计线与开挖线自动进行分析计算和显示的问题,本发明专利技术基于WebGL、计算机图形学技术,实现对地下开挖工程的超欠挖区域、超欠挖面积等工程量快速准确分析、结果多样化呈现等目的。提高超欠挖工程量分析工作的效率和质量。同时,本发明专利技术可实现跨平台的超欠挖分析,可在电脑端、移动端设备中开展显示,可更加方便快捷地帮助现场施工人员做出及时准确的判断。本发明专利技术用于隧道与地下洞室工程中。明用于隧道与地下洞室工程中。明用于隧道与地下洞室工程中。

【技术实现步骤摘要】
一种基于WebGL的超欠挖数据分析及可视化的方法


[0001]本专利技术涉及隧道与地下洞室工程
,尤其涉及一种基于WebGL的超欠挖数据分析及可视化的方法。

技术介绍

[0002]WebGL(全写Web Graphics Library)是一种3D绘图协议,这种绘图技术标准允许把JavaScript和OpenGLES 2.0结合在一起,通过增加OpenGL ES 2.0的一个JavaScript绑定,WebGL提供硬件3D加速渲染从而可以借助系统显卡来在浏览器里更流畅地展示3D场景和模型,还能创建复杂的导航和数据视觉化,采用WebGL可在所有流行操作系统上使用。
[0003]现有超欠挖的分析与显示是基于C/S架构的软件在PC电脑中使用的,需要在CAD软件中进行操作分析,且过程繁琐、耗时。在基于浏览器的B/S工程管理平台以及其他施工运维类平台中使用超欠挖分析则需要对CAD文件进行读取出图后在平台中加载使用,该方法自动化程度不高,也无法根据任意断面设计线与开挖线自动进行分析计算和显示。

技术实现思路

[0004]本专利技术实施例提供一种基于WebGL的超欠挖数据分析及可视化的方法,能够解决在超欠挖的分析与显示是基于C/S架构的软件在PC电脑中,无法根据任意断面设计线与开挖线自动进行分析计算和显示的问题。
[0005]根据本专利技术提供一种基于WebGL的超欠挖数据分析及可视化的方法,该方法包括:
[0006]S1:确定WebGL使用坐标系,确认WebGL渲染基于标准笛卡尔三维右手坐标系;
[0007]S2:基于WebGL坐标系读取CAD洞室断面设计线数据,洞室断面设计线数据为第一json数组,对第一json数组进行处理,获取洞室断面设计线线段数组DesignLines;
[0008]S3:基于WebGL坐标系传入得到的开挖扫描点数据为第二组json数组,第二json数组由n个单个开挖扫描点组成,根据第二json数组获得开挖线线段数组MiningLines;
[0009]S4:根据洞室断面设计线线段数组DesignLines与所述开挖线线段数组MiningLines进行线段相交计算和超欠挖区域面积计算;
[0010]S5:基于WebGL坐标系根据线段数组得到超欠挖线条可视化网格对象,根据超欠挖区域面积值得到超欠挖区域面积文本对象,根据线条可视化网格对象和面积文本对象进行渲染可视化。
[0011]步骤S2:还包括如下步骤:
[0012]S201读取服务器中解析好的CAD洞室断面设计线数据,所述洞室断面设计线数据为第一json数组;
[0013]S202:遍历所述第一json数组的CAD洞室断面设计线数据顶点数组DesignPoints;步骤S201所述完成洞室断面设计线数据的输入,根据所述WebGL坐标系定义设计线管理模块中表示所有洞室断面设计线顶点数组DesignPoints,遍历步骤S201所述第一json数组;
[0014]S203:根据步骤202所述设计线顶点数组DesignPoints,遍历设计线顶点数组
DesignPoints,遍历目标元素顶点对象与下一个元素顶点对象构造WebGL中表示线段类型对象并存入洞室断面设计线线段数组DesignLines。
[0015]步骤S3:还包括如下步骤:
[0016]S301:传入通过断面扫描仪设备扫描得到的开挖扫描点数据,所述数据为第二json数组,由n个单个开挖扫描点组成,其中,n大于等于1;遍历所述开挖线数据json数组中的每个开挖点根据步骤S101所述WebGL渲染坐标系构造WebGL中表示顶点的矢量类型对象并存入开挖线顶点数组MiningPoints;
[0017]S302:根据步骤S301所述的开挖线顶点数组MiningPoints,遍历所述设计线顶点数组MiningPoints,遍历目标元素顶点对象与下一个元素顶点(Vect or类型)对象构造WebGL中表示线段类型对象并存入开挖线线段数组Mining Lines。
[0018]步骤S4还包括如下步骤;
[0019]S401:根据步骤S203所述洞室断面设计线线段数组DesignLines与步骤S302所述开挖线线段数组MiningLines进行线段相交计算,遍历步骤S302所述开挖线线段数组MiningLines,使用遍历所得单个开挖线线段与步骤S203所述洞室断面设计线线段数组DesignLines的所有设计线线段进行线段求交计算;
[0020]优选地,计算方法如下:
[0021]在数学定义中直线的方程参数形式为
[0022][0023]其中,P为直线上的一点,表示直线上不相同的两坐标点相减形成的二维向量,是一个非零向量,t∈R,R为实数集集合;
[0024]可以推导出
[0025]同理推导出
[0026]其中,P0是假设开挖线线段的两端点用P0(x0,y0),P2(x2,y2)其中的一个端点,
[0027]P1是假设计线线段的两端点用P1(x1,y1),P3(x3,y3)其中的一个端点,
[0028]是端点P0(x0,y0)到端点P2(x2,y2)的向量,
[0029]是端点P1(x1,y1)到端点P3(x3,y3)的向量,
[0030]t0是指的系数,t1是参数的系数。
[0031]当求出的t0满足0≤t0≤1与t1满足0≤t1≤1时,则有遍历的单个开挖线段与遍历的单个设计线段相交L;将t0、P0、带入(1)式或将t1、P1、代入(1)式求出交点坐标;
[0032]优选地,将计算的交点X轴分量值和Y轴分量值,求出的常量值C,所述交点所在的单个开挖线段在步骤S302所述开挖线线段数组MiningLines中的索引与单个设计线线段在步骤S203所述洞室断面设计线线段数组DesignLines中的索引存入单个交点对象Intersection,并将交点对象Intersection存入交点数组Intersections。
[0033]步骤S402:当交点数组Intersections数组长度≥2时,遍历目标元素交点对象与
下一个元素交点对象构造单个区域Region对象;当所述区域Region对象第一个交点对象Intersection的常量值C值>0,则所述区域Region为超挖部分,常量值常量值C值<0,则所述区域Region为欠挖部分;
[0034]在步骤S301所述开挖线顶点数组MiningPoints和步骤S202所述洞室断面设计线顶点数组DesignPoints中查找所述区域Region里第一个交点对象Intersection与第二个交点对象Intersection的开挖线段与设计线线段之间的所有开挖顶点和设计线顶点,结合两个交点对象Intersection里的交点X轴分量值和Y轴分量值一起逆时针方向依次存入区域顶点数组RegionPoints;<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于WebGL的超欠挖数据分析及可视化的方法,其特征在于,所述方法包括:S1:确定WebGL使用坐标系,确认WebGL渲染基于标准笛卡尔三维右手坐标系;S2:基于WebGL坐标系读取CAD洞室断面设计线数据,所述洞室断面设计线数据为第一json数组,对所述第一json数组进行处理,获取洞室断面设计线线段数组DesignLines;S3:基于WebGL坐标系传入得到的开挖扫描点数据为第二组json数组,所述第二json数组由n个单个开挖扫描点组成,根据所述第二json数组获得开挖线线段数组MiningLines;S4:根据所述洞室断面设计线线段数组DesignLines与所述开挖线线段数组MiningLines进行线段相交计算和超欠挖区域面积计算;S5:基于WebGL坐标系根据所述线段数组得到超欠挖线条可视化网格对象,根据所述超欠挖区域面积值得到超欠挖区域面积文本对象,根据所述线条可视化网格对象和所述面积文本对象进行渲染可视化。2.根据权利要求1所述的一种基于WebGL的超欠挖数据分析及可视化的方法,其特征在于,所述S2:基于WebGL坐标系读取CAD洞室断面设计线数据,洞室断面设计线数据为第一json数组,对第一json数组进行处理,获取洞室断面设计线线段数组DesignLines;还包括如下步骤:S201读取服务器中解析好的CAD洞室断面设计线数据,所述洞室断面设计线数据为第一json数组;S202:遍历所述第一json数组的CAD洞室断面设计线数据顶点数组DesignPoints;步骤S201所述完成洞室断面设计线数据的输入,根据所述WebGL坐标系定义设计线管理模块中表示所有洞室断面设计线顶点数组DesignPoints,遍历步骤S201所述第一json数组;S203:根据步骤202所述设计线顶点数组DesignPoints,遍历设计线顶点数组DesignPoints,遍历目标元素顶点对象与下一个元素顶点对象构造WebGL中表示线段类型对象并存入洞室断面设计线线段数组DesignLines。3.根据权利要求1所述的一种基于WebGL的超欠挖数据分析及可视化的方法,其特征在于,所述S3:基于WebGL坐标系传入得到的开挖扫描点数据为第二组json数组,第二json数组由n个单个开挖扫描点组成,根据第二json数组获得开挖线线段数组MiningLines;还包括如下步骤:S301:传入通过断面扫描仪设备扫描得到的开挖扫描点数据,所述数据为第二json数组,由n个单个开挖扫描点组成,其中,n大于等于1;遍历所述开挖线数据json数组中的每个开挖点根据步骤S101所述WebGL渲染坐标系构造WebGL中表示顶点的矢量类型对象并存入开挖线顶点数组MiningPoints;S302:根据步骤S301所述的开挖线顶点数组MiningPoints,遍历所述设计线顶点数组MiningPoints,遍历目标元素顶点对象与下一个元素顶点对象构造WebGL中表示线段类型对象并存入开挖线线段数组MiningLines。4.根据权利要求1所述的一种基于WebGL的超欠挖数据分析及可视化的方法,其特征在于,所述S4:根据洞室断面设计线线段数组DesignLines与所述开挖线线段数组MiningLines进行线段相交计算和超欠挖区域面积计算;还包括如下步骤;S401:根据步骤S203所述洞室断面设计线线段数组DesignLines与步骤S302所述开挖线线段数组MiningLines进行线段相交计算,遍历步骤S302所述开挖线线段数组
MiningLines,使用遍历所得单个开挖线线段与步骤S203所述洞室断面设计线线段数组DesignLines的所有设计线线段进行线段求交计算;计算方法如下:(1)在数学定义中直线的方程参数形式为其中,P为直线上的一点,表示直线上不相同的两坐标点相减形成的二维向量,是一个非零向量,t∈R,R为实数集集合;可以推导出同理推导出其中,P0是假设开挖线线段的两端点用P0(x0,y0),P2(x2,y2)其中的一个端点,P1是假设计线线段的两端点用P1(x1,y1),P3(x3,y3)其中的一个端点,是端点P0(x0,y0)到端点P2(x2,y2)的向量,是端点P1(x1,y1)到端点P3(x3,y3)的向量,t0是指的系数,t1是参数的系数;当求出的t0满足0≤t0≤1与t1满足0≤t1≤1时,则有遍历的单个开挖线段与遍历的单个设计线段相交L;将t0、P0、带入(1)式或将t1、P1、代入(1)式求出交点坐标;(2)将计算的交点X轴分量值和Y轴分量值,求出的常量值C,所述交点所在的单个开挖线段在步骤S302所述开挖线线段数组MiningLines中的索引与单个设计线线段在步骤S203所述洞室断面设计线线段数组DesignLines中的索引存入单个交点对象Intersection,并将交点对象Intersection对象存入交点数组Intersections。5.根据权利要求4所述的一种基于WebGL的超欠挖数据分析及可视化的方法,其特征在于,根据步骤S401所述将交点对象Intersection对象存入交点数组Intersections,进行超欠挖区域面积计算,所述超欠挖区域面积计算还包括以下步骤:步骤S402:当交点数组Intersections数组长度≥2时,遍历目标元素交点对象与下一个元素交点对象构造单个区域Region对象;当所述区域Region对象第一个交点对象Intersection的常量值C值&gt;0,则所述区域Region为超挖部分,常量值C值&...

【专利技术属性】
技术研发人员:李振生刘源李海兵蒲晏黄平李尔康王泽林郑云阳栗煜邢洁鋆韩江涛
申请(专利权)人:中国电建集团西北勘测设计研究院有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1