CN109558639A - 一种基于WebGL的二三维结合的钻孔设计方法及系统 - Google Patents
一种基于WebGL的二三维结合的钻孔设计方法及系统 Download PDFInfo
- Publication number
- CN109558639A CN109558639A CN201811286551.3A CN201811286551A CN109558639A CN 109558639 A CN109558639 A CN 109558639A CN 201811286551 A CN201811286551 A CN 201811286551A CN 109558639 A CN109558639 A CN 109558639A
- Authority
- CN
- China
- Prior art keywords
- dimensional
- drilling
- function
- module
- plan
- 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.)
- Pending
Links
- 238000013461 design Methods 0.000 title claims abstract description 88
- 238000000034 method Methods 0.000 title claims abstract description 19
- 238000005553 drilling Methods 0.000 claims abstract description 185
- 230000008676 import Effects 0.000 claims abstract description 46
- 239000007787 solid Substances 0.000 claims abstract description 34
- 238000005516 engineering process Methods 0.000 claims abstract description 9
- 238000006243 chemical reaction Methods 0.000 claims abstract description 7
- 239000004576 sand Substances 0.000 claims description 33
- 239000013049 sediment Substances 0.000 claims description 33
- 239000007788 liquid Substances 0.000 claims description 23
- 239000008188 pellet Substances 0.000 claims description 22
- 238000002347 injection Methods 0.000 claims description 15
- 239000007924 injection Substances 0.000 claims description 15
- 238000012217 deletion Methods 0.000 claims description 12
- 230000037430 deletion Effects 0.000 claims description 12
- 238000005086 pumping Methods 0.000 claims description 9
- 239000011435 rock Substances 0.000 claims description 9
- 238000013519 translation Methods 0.000 claims description 6
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 5
- 239000012530 fluid Substances 0.000 claims description 4
- 241001074085 Scophthalmus aquosus Species 0.000 claims 1
- 238000005520 cutting process Methods 0.000 description 13
- 238000012800 visualization Methods 0.000 description 8
- 238000009877 rendering Methods 0.000 description 5
- 239000000243 solution Substances 0.000 description 5
- 238000004321 preservation Methods 0.000 description 4
- 239000000203 mixture Substances 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 229910052770 Uranium Inorganic materials 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000008187 granular material Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- JFALSRSLKYAFGM-UHFFFAOYSA-N uranium(0) Chemical compound [U] JFALSRSLKYAFGM-UHFFFAOYSA-N 0.000 description 1
- 238000007794 visualization technique Methods 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/17—Mechanical parametric or variational design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
Abstract
本发明公开了一种基于WebGL的二三维结合的钻孔设计方法及系统:使用Three.js建立基于WebGL标准的绘制环境;通过坐标转换将三维矿体模型和三维钻孔向水平投影;在水平投影上使用Canvas画勘探线,并将勘探线保存到数据库中;将二维空间中的勘探线转换到三维空间中;通过坐标转换将三维钻孔向勘探线所在的垂直面投影;在垂直投影上使用Canvas进行二维钻孔设计;基于WebGL技术,使用Three.js实现三维钻孔展示;系统包括数据导入模块、方案设置比选模块、三维实体建模模块、二维钻孔设计模块和模板绘制模块。
Description
技术领域
本发明涉及互联网技术领域,更具体的说,是涉及一种基于WebGL的二三维结合的钻孔设计方法及系统。
背景技术
针对地质钻孔的三维建模与可视化,国内外已经开始了相关的方法与技术研究。冯治东(基于Hoops的钻孔三维可视化技术研究[J])等提出了基于Hoops的钻孔三维可视化技术,通过Hoops引擎进行三维钻孔的图层渲染,在一定程度上缩短了建模的周期;牟乃夏(基于Multipatch的地质钻孔三维可视化研究[J])等研究了基于Multipatch的地质钻孔三维可视化,提高了系统的易用性和兼容性。
地质钻孔的三维可视化已成为主流地学软件的基本功能。如国外的地质软件Medsystem,SURPAC,Micromine,Gem2com等都有钻孔模块,但其功能主要还是钻孔制图,三维建模与分析功能较为简单。使用他们提供的钻孔三维可视化功能需要按照其各自特有的格式输入钻孔数据,这对于国内已积累的大量的钻孔数据和已有的工作模式来讲都需要做出很大的调整才能完成。而且每一个主流软件都有自己特定的要求,相互兼容性较差,进一步限制了他们在国内的使用。国内的主要地学、地理信息系统软件如MapGIS等也提供了对钻孔数据的三维可视化的建模与表达。这些软件的三维功能同样也相对较弱,多为简单的浏览、查询等基本操作。
目前国内地浸开采矿山井场设计主要依靠Cad作图,侧重于钻孔数据库的管理和制图,主要利用关系型数据管理钻孔数据,钻孔的可视化则主要在二维图形软件平台上进行实现不能形象、直观的看到矿体产状、赋存状态、钻孔过滤器下放位置等要素,展示效果也不理想。地浸生产企业在生产中亟须使用井场三维设计软件,特别是能够将地质三维模型与钻孔有效结合的三维设计软件,运用该软件可以实现钻孔过滤器与矿体的严密结合,防止钻孔由于过滤器位置不合适造成的平均铀浓度下降。
随着网络技术的发展,HTML5和WebGL为三维钻孔可视化的实现提供了新的可能性。WebGL由Khronos Group公开发布,是一个免授权费且跨平台的3D绘图标准。它基于OpenGL ES2.5的文档对象模型接口,通过HTML5的Canvas元素暴露一个低级别的3D图形应用程序编程接口(API),为HTML5Canvas提供硬件3D加速渲染,使得Web开发人员可以借助系统显卡在浏览器中更加流畅地展示3D场景和模型。WebGL提供了一个第三方库Three.js,Three.js是一款运行在浏览器中的3D引擎,Three.js图形库除了提供基本的点、线、多边形的绘制函数外,还提供复杂的三维物体以及复杂曲线和曲面绘制函数,光照和材质设置也十分的方便。
发明内容
本发明的目的是为了克服现有技术中的不足,为解决便捷快速地进行钻孔设计,真实、立体进行三维钻孔展示而提出一种基于WebGL的二三维结合的钻孔设计方法及系统,
本发明的目的可通过以下技术方案实现。
本发明的基于WebGL的二三维结合的钻孔设计方法,包括以下步骤:
第一步:使用Three.js建立基于WebGL标准的绘制环境;
第二步:通过坐标转换将三维矿体模型和三维钻孔向水平投影;
第三步:在水平投影上使用Canvas画勘探线,并将勘探线保存到数据库中;
第四步:将二维空间中的勘探线转换到三维空间中;
第五步:通过坐标转换将三维钻孔向勘探线所在的垂直面投影;
第六步:在垂直投影上使用Canvas进行二维钻孔设计;
第七步:基于WebGL技术,使用Three.js实现三维钻孔展示。
本发明的目的还可通过以下技术方案实现。
本发明的基于WebGL的二三维结合的钻孔设计系统,包括数据导入模块、方案设置比选模块、三维实体建模模块、二维钻孔设计模块和模板绘制模块;
所述数据导入模块包括矿体模型数据导入模块、地表模型数据导入模块、水文模型数据导入模块、实际钻孔数据导入模块;所述实际钻孔数据导入模块包括位置与类型数据导入模块、测斜数据导入模块、样品数据导入模块、岩层数据导入模块、样品组合模块;
所述三维实体建模模块具有三维矿体模型显示功能、三维地表模型显示功能、三维水文模型显示功能、三维钻孔显示功能、井型布置功能;所述三维钻孔显示功能包括三维实际钻孔显示功能和三维计划钻孔显示功能;所述井型布置功能包括添加计划钻孔功能和删除计划钻孔功能,所述添加计划钻孔功能包括添加单个计划钻孔功能和添加一个抽注单元功能,所述删除计划钻孔功能包括删除单个计划钻孔功能和框选删除计划钻孔功能;
所述二维钻孔设计模块包括水平投影模块和垂直投影模块;所述水平投影模块具有勘探线绘制功能、显示钻孔孔口孔底功能、放大缩小平移功能;所述垂直投影模块具有生成开口线功能、显示开口线功能、显示左右孔功能、孔径设计功能、沉砂管设计功能、过滤器设计功能、导中器设计功能、粒料添加功能、放大缩小平移功能;其中,孔径包括外径和内径;
所述模板绘制模块具有孔径模板绘制功能、沉砂管模板绘制功能、过滤器模板绘制功能、导中器模板绘制功能、粒料颜色或显示图片设置功能。
所述矿体模型数据导入模块将矿体模型数据导入到数据库中,所述三维矿体模型显示功能通过读取数据库中矿体模型数据直接在三维实体建模模块中绘制。
所述实际钻孔数据导入模块将实际钻孔数据导入到数据库中,所述三维实际钻孔显示功能通过读取数据库中实际孔数据在三维实体建模模块中直接绘制。
所述地表模型数据导入模块将地表数据导入到数据库中,所述三维地表模型显示功能通过读取数据库中地表数据在三维实体建模模块中直接绘制。
所述水文模型数据导入模块将水文数据导入到数据库中,所述三维水文模型显示功能通过读取数据库中水文数据在三维实体建模模块中直接绘制。
所述井型布置功能是包括五点型布置、行列式布置和七点型布置,在矿体模型上布置三维计划钻孔,所述五点型布置是在选择矿体的范围内绘制多个正方形,正方形的四个顶点是注液孔,对角线交点是抽液孔,所述行列式布置是在选择矿体的范围内绘制一行注液孔,一行抽液孔,所述七点型布置是在选择的矿体的范围内绘制多个正六边形,正六边形的六个顶点是注液孔,对角线交点是抽液孔,并将三维计划钻孔信息保存到数据库中。
所述三维计划钻孔显示功能是读取数据中的三维计划钻孔信息在三维实体建模模块中直接绘制;所述添加一个抽注单元功能是选择一个三维计划钻孔,绘制一个五点型或行列式或七点型;所述框选删除计划钻孔功能是在三维实体建模模块中添加一个矩形,然后删除在矩形内的三维计划钻孔,井型布置功能会生成在三维矿体外的三维计划钻孔,通过框选删除将多余三维计划钻孔删除。
所述二维钻孔设计模块进行实际钻孔设计和计划钻孔设计,所述二维钻孔设计模块是给实际钻孔和计划钻孔放置孔径、过滤器、导中器、沉砂管和粒料添加,孔径、过滤器、导中器、沉砂管均有模板,显示矿体开口线,直接调用模板进行绘制,二维界面中绘制的孔径、过滤器、导中器、沉砂管、粒料在三维实体建模模块中均进行绘制;所述过滤器的放置位置是计划钻孔与矿体开口线的交点。
所述模板绘制模块,通过用户输入孔径信息、过滤器信息、沉砂管信息、导中器信息,绘制孔径、过滤器、导中器、沉砂管,并上传孔径、过滤器、导中器、沉砂管,粒料渲染图片和设置显示颜色,在三维钻孔展示时进行渲染。
与现有技术相比,本发明的技术方案所带来的有益效果是:
本发明提出一种基于WebGL的二三维结合的钻孔设计方法及系统,可以在浏览器直接实现钻孔设计及三维展示,能够立体真实的展示所述三维钻孔,分析所述三维钻孔与三维矿体模型,所述三维水文模型是结合情况;本发明利用二维设计三维展示的方法使得钻孔设计的更加精确;本发明提供的系统界面简单,对操作人员没有技术要求。
附图说明
图1是本发明基于WebGL的二三维结合的钻孔设计方法的流程图;
图2是本发明基于WebGL的二三维结合的钻孔设计系统的组成示意图;
图3是本发明基于WebGL的二三维结合的钻孔设计方法及系统的二三维转换示意图
图4是本发明基于WebGL的二三维结合的钻孔设计系统的流程图;
图5是本发明基于WebGL的二三维结合的钻孔设计方法及系统的技术框架示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,本发明的基于WebGL的二三维结合的钻孔设计方法,包括以下步骤:
第一步:使用Three.js建立基于WebGL标准的绘制环境;
第二步:通过坐标转换将三维矿体模型和三维钻孔向水平投影;
第三步:在水平投影上使用Canvas画勘探线,并将勘探线保存到数据库中;
第四步:将二维空间中的勘探线转换到三维空间中;
第五步:通过坐标转换将三维钻孔向勘探线所在的垂直面投影;
第六步:在垂直投影上使用Canvas进行二维钻孔设计;
第七步:基于WebGL技术,使用Three.js实现三维钻孔展示。
如图2所示,本发明的基于WebGL的二三维结合的钻孔设计系统,包括数据导入模块、方案设置比选模块、三维实体建模模块、二维钻孔设计模块和模板绘制模块。所述方案设置比选模块在对三维矿体模型进行井型布置时可布置多个方案。
所述数据导入模块包括矿体模型数据导入模块、地表模型数据导入模块、水文模型数据导入模块、实际钻孔数据导入模块。所述实际钻孔数据导入模块包括位置与类型数据导入模块、测斜数据导入模块、样品数据导入模块、岩层数据导入模块、样品组合模块。
所述三维实体建模模块具有三维矿体模型显示功能、三维地表模型显示功能、三维水文模型显示功能、三维钻孔显示功能、井型布置功能。所述三维钻孔显示功能包括三维实际钻孔显示功能和三维计划钻孔显示功能。所述井型布置功能包括添加计划钻孔功能和删除计划钻孔功能,所述添加计划钻孔功能包括添加单个计划钻孔功能和添加一个抽注单元功能,所述删除计划钻孔功能包括删除单个计划钻孔功能和框选删除计划钻孔功能。
所述二维钻孔设计模块包括水平投影模块和垂直投影模块。所述水平投影模块具有勘探线绘制功能、显示钻孔孔口孔底功能、放大缩小平移功能。所述垂直投影模块具有生成开口线功能、显示开口线功能、显示左右孔功能、孔径设计功能、沉砂管设计功能、过滤器设计功能、导中器设计功能、粒料添加功能、放大缩小平移功能;其中,孔径包括外径和内径。
所述模板绘制模块具有孔径模板绘制功能、沉砂管模板绘制功能、过滤器模板绘制功能、导中器模板绘制功能、粒料颜色或显示图片设置功能。
其中,所述矿体模型数据导入模块是将矿体模型数据导入到MongoDB数据库中,在数据库存储信息主要包括点信息、面信息、三维矿体名字、三维矿体展示颜色。所述三维矿体模型显示功能是通过读取数据库中矿体模型的点信息和面信息连接成一个个三角片在三维实体建模模块中使用Three.js进行绘制,同时渲染成三维矿体模型要显示的颜色。
所述实际钻孔数据导入模块将实际钻孔数据(如位置与类型数据、测斜数据、样品数据、岩层数据)导入到MongoDB数据库中,调用Dimine接口通过样品组合模块将位置与类型数据、测斜数据、样品数据、岩层数据组成一张包含上述所需数据的样品组合表,所述三维实际钻孔显示功能是通过读取数据库中实际孔数据(样品组合表)可在三维实体建模模块中使用Three.js直接绘制。Dimine数字矿山软件系统是在中南大学古德生院士及王李管教授领导下、由中南大学数字矿山研究中心的矿业及软件专家们,研究开发出的基于数字化矿山整体解决方案的矿山数字化软件系统。
所述地表模型数据导入模块将地表数据导入到MongoDB数据库中,在数据库存储信息主要为点信息、面信息、三维地表展示颜色。所述三维地表模型显示功能是通过读取数据库中地表数据(三维地表模型的点信息和面信息)连接成一个个三角片可在三维实体建模模块中使用Three.js直接绘制,同时渲染成三维地表模型要显示的颜色。所述水文模型数据导入模块将水文数据导入到MongoDB数据库中,在数据库存储信息主要各个岩层的点信息、面信息、岩层类型和显示颜色,所述三维水文模型显示功能通过读取数据库中水文数据(三维水文模型的各个岩层的点信息和面信息)连接成一个个三角片可在三维实体建模模块中使用Three.js直接绘制,同时渲染成三维水文模型各个段岩层要显示的颜色。
其中,所述井型布置模块是在三维矿体模型上布置三维计划钻孔,包括五点型布置、行列式布置和七点型布置,在矿体模型上布置三维计划钻孔,所述五点型布置是在选择矿体的范围内绘制多个正方形,正方形的四个顶点是注液孔,对角线交点是抽液孔,所述行列式布置是在选择矿体的范围内绘制一行注液孔、一行抽液孔,所述七点型布置是在选择的矿体的范围内绘制多个正六边形,正六边形的六个顶点是注液孔,对角线交点是抽液孔,并将三维计划钻孔信息保存到MongoDB数据库中。
其中,所述三维计划钻孔显示功能是读取数据中的三维计划钻孔信息可在三维实体建模模块中直接绘制。所述添加一个抽注单元功能选择一个三维计划钻孔,绘制一个五点型或行列式或七点型。所述框选删除计划钻孔功能是在三维实体建模模块中添加一个矩形,然后删除在矩形内的三维计划钻孔,井型布置功能会生成许多在三维矿体外的三维计划钻孔,通过框选删除可将多余三维计划钻孔删除。
其中,所述二维钻孔设计模块可进行实际钻孔设计和计划钻孔设计,所述二维钻孔设计模块是给实际钻孔和计划钻孔放置孔径、过滤器、导中器、沉砂管和粒料添加,孔径、过滤器、导中器、沉砂管均有模板,可显示矿体开口线,可直接调用模板进行绘制,二维界面中绘制的孔径、过滤器、导中器、沉砂管、粒料在三维实体建模模块中均可进行绘制;所述过滤器的放置位置是计划钻孔与矿体开口线的交点。
其中,所述模板绘制模块通过用户输入孔径信息、过滤器信息、沉砂管信息、导中器信息,绘制孔径、过滤器、导中器、沉砂管,并上传孔径、过滤器、导中器、沉砂管,粒料渲染图片和设置显示颜色,在三维钻孔展示时进行渲染。
井型布置功能,首先选择一个三维矿体,然后再三维实体建模模块点选一个点作为注液孔的起始点,设为P,输入注液孔与注液孔,抽液孔与抽液孔,角度α,选择要布置的井型,之后便可进行布置。获取选中矿体所有点的坐标,分别求取所有点x坐标和y坐标的最大值Xmax,Ymax和最小值Xmin,Ymin,以P开始,在以(Xmin,Ymin),(Xmin,Ymax),(Xmax,Ymin),(Xmax,Ymax)范围内,绕点P的水平方向旋转α度循环绘述三维计划钻孔,三维计划钻孔为一条垂直于水平面的线段;三维计划钻孔的坐标值计算如下:
1、计算三维计划钻孔孔口坐标和孔底坐标的x,y值,设初始坐标为(xk,yk),旋转之后坐标为x′,y′,设旋转角度为β,旋转点(x0,y0),因此绕旋转点(x0,y0)水平旋转之后的值为:
2、计算孔口z值和孔底z值,三维计划钻孔孔口z值为与三维地表模型的交点,三维计划钻孔的孔底z值为与三维矿体模型的交点,三维地表模型和三维矿体模型是以三角片组成的,因此只要计算三维计划钻孔与三维地表模型和三维矿体模型组成的三角片的交点,再获取最小值即可。
计算三维计划钻孔与三角形的交点:首先计算三维计划钻孔所在直线与三角形所在的三维平面的交点,再判断交点是否在三角形内。
(a)计算三维计划钻孔所在直线与三角形所在的三维平面的交点
三维计划钻孔所在直线的方向向量为假设三角形的三个顶点为P1(x1,y1,z1),P2(x2,y2,z2),P3(x3,y3,z3),三角形所在三维平面的方程为:
Ax+By+Cz+D=0; (2)
其中
则该平面的法向量为
其中
取三维计划钻孔所在直线上的一点PL为(xl,yl,zl),取三角形上的一点Pt为(xt,yt,zt)则交点坐标为
求得交点坐标P′为
(b)判断交点是否在三角形内
令v0=P3-P1,v1=P2-P1,v2=P-P1
其中D=(v0·v0)*(v1·v1)-(v0·v1)*(v1·v0)
若u≥0,v≥0,u+v≤1,那么交点在三角形内。
方案设置比选模块可以添加删除修改方案,在三维矿体模型进行井型布置时可布置多个方案,每个方案的数据都会保存到MongoDB数据库中,数据库中存储三维计划钻孔信息,主要将三维计划钻孔编号、注液孔与注液孔间距、抽液孔与注液孔间距、旋转角度、坐标值、孔深、孔类型,存储到数据库中数据库表名为“名称_+方案编号”以区分不同方案,在比选之后选择最佳实施方案。
三维计划钻孔显示功能是择一个方案读取数据中该方案的三维计划钻孔信息在三维实体建模模块中使用Three.js进行绘制。
井型布置完成后,可用添加单个计划钻孔模块实现添加单个计划孔,点选一个位置,输入信息就可添加;也可利用添加一个抽注单元功能实现一个抽注单元的添加,选择一个三维计划钻孔,点击添加按钮,就会从数据中查找所选的三维钻孔信息,然后生成一个抽注单元,已存在的钻孔不会重新添加。
井型布置完成后,可利用删除单个计划钻孔功能删除一个计划孔,也可用框选删除计划钻孔功能实现框选删除计划孔,在三维实体建模模块中绘制一个平行于水平面的矩形,然后选中该矩形就可删除在矩形内的钻孔。
实现框选删除计划钻孔功能需要判断哪些三维计划钻孔是在所绘制的矩形内,由于矩形是一个平行于水平面的,相当于将三维计划钻孔和矩形投影到二维平面上,然后在二维平面上判断一个点是否在矩形内,设三维计划钻孔的孔底坐标值为(xs,ys,zs),矩形的四个顶点坐标为(x4,y4,z4),(x5,y5,z5),(x6,y6,z6),(x7,y7,z7),设三维计划钻孔投影到水平面的坐标为Ps(xs,ys,0),矩形的四个顶点投影到水平面的坐标为P4(x4,y4,0),P5(x5,y5,0),P6(x6,y6,0),P7(x7,y7,0),若
则点在矩形内。
二维钻孔设计模块可进行实际钻孔设计和计划钻孔设计,如图3所示,将建立基于WebGL标准的三维绘制环境C1经过三维坐标转换形成二维水平投影C2,和经过三维坐标转换形成一个新的三维空间C3,再向垂直面上投影形成垂直投影C4,二维钻孔设计就是在水平投影和垂直投影上进行使用Canvas设计;
设新的三维空间的坐标系的三个坐标轴分别为x(a1,b1,c1),y(a2,b2,c2),z(a3,b3,c3),选择在所述切割上线上的两个所述三维计划钻孔的坐标,分别记为Ps1(xs1,ys1,zs1),Ps2(xs2,ys2,zs2),在此坐标系中,y轴垂直于xz面,因此,y轴方向向量为(0,0,1),x轴为切割线单位方向向量,z轴与x轴,y轴垂直,计算得
其中
新坐标系原点为Ps1(xs1,ys1,zs1),求得坐标变换矩阵为
其中
坐标(xs,ys,zs)转换到新坐标系下的坐标为(X*,Y*,Z*,H)=(xs,ys,zs,1)T=(x*,y*z*,1)
其中
所以令y=0则为在xz面上的投影,即所述垂直投影模块。
过滤器设计是计划钻孔与矿体开口线的交点,开口线为切割线所生成的垂直平面与三维矿体模型的交点的连线,垂直平面与三维矿体模型的交点通过调用Dimine接口来获得,然后将交点投影到垂直投影模块中的页面上,使用Canvas连接交点坐标绘制开口线。
模板绘制模块,输入通用孔径参数,通用过滤器参数,通过沉砂管参数,通用导中器参数,和粒料颜色或显示图片设置,然后将这些数据保存到MongoDB数据库中,在二维钻孔设计模块中可直接调用这些模板。
本发明的基于WebGL的二三维结合的钻孔设计方法和系统,实现步骤如下:
(a)将矿体模型数据、实际钻孔数据、地表模型数据、水文模型数据通过数据导入模块导入到MongDB数据库中;
(b)实际钻孔投影步骤:在三维实体建模模块中,选择实际钻孔,切换到水平投影模块,读取MongDB数据库中实际钻孔数据和三维矿体模型数据,通过坐标转换将三维实际钻孔与三维矿体模型投影到水平投影模块中的投影页面上;
(c)计划钻孔投影步骤:进入方案设置比选模块进行方案,读取MongDB数据库中三维矿体模型数据,和三维地表模型数据,在三维实体建模模块中用三维矿体模型显示功能进行三维矿体模型显示,用三维地表模型显示功能和三维地表模型显示,选择一个三维矿体模型,在该矿体模型上用井型布置功能进行井型布置,将绘制的三维计划钻孔数据保存到MongDB数据库里,选择一个已设计的方案,选择计划钻孔,读取MongDB数据库中该方案的计划钻孔数据和三维地表模型数据,通过坐标转换将三维计划钻孔与三维矿体模型投影到水平投影模块中的投影页面上;
(d)二维钻孔设计步骤:在实际钻孔或计划钻孔投影之后,在水平投影功能用切割线绘制功能进行切割线绘制,切割线上记录切割线经过的钻孔,切换到垂直投影模块,在垂直投影模块的页面中显示所有在水平投影模块中绘制的切割线,选择一条切割线,切割线上的三维钻孔通过坐标转换显示到垂直投影模块中的页面上,选择一个钻孔就可以用孔径设计功能进行孔径设计,用沉砂管设计功能进行沉砂管设计,用过滤器设计功能进行过滤器设计,用导中器设计功能进行导中器设计和用粒料添加功能进行粒料添加,进行过滤器设计时,需要用显示开口线功能来显示过滤器,从而可以判断过滤器放置位置;
(e)三维钻孔展示步骤:二维钻孔设计完成后,在三维实体建模模块4中可进行三维钻孔展示,选择显示所有三维钻孔,已进行所述二维设计的钻孔会显示孔径,过滤器,导中器,沉砂管和粒料,未进行所述二维设计的钻孔则显示一条线段,线段起始点为三维钻孔孔口位置,线段终点为三维钻孔孔底位置,且会显示孔口辅助信息,包括三维钻孔名字和三维钻孔类型,点击某个三维钻孔会显示该钻孔的具体信息。可选择显示单个三维钻孔,首先会显示一条线段,然后可点击按钮添加孔径,过滤器,沉砂管,导中器,填充粒料。点击显示地表模型,就可以看三维钻孔与三维地表模型相交情况,若对三维钻孔与三维地表模型相交位置不满意,可修改三维钻孔孔口位置,那更新之后的三维钻孔会同步更新到三维实体建模界面上,同时,点击显示三维矿体模型,可看到三维钻孔与所述三维矿体模型相交情况,便可查看所述过滤器是否安装位置是否合适,若不合适可以进行调节。点击显示三维水文模型,可看到三维水文模型的岩层状况,也可以看到三维钻孔与三维水文模型相交的情况。点击三维动态展示按钮,可看到三维钻孔动态展示过程,加载顺序为三维地表模型加载,三维矿体模型加载,三维水文模型加载,三维钻孔线段加载,三维钻孔外径加载,三维钻孔沉砂管加载,三维钻孔内径加载,三维钻孔导中器加载,三维钻孔过滤器加载,三维钻孔粒料填充。
如图4所示,为本发明一种基于WebGL的二三维结合的钻孔设计系统的流程图,该系统步骤包括S1-S10:
S1、数据导入;
S2、基于WebGL技术,使用Three.js加载三维地表模型和三维矿体模型;
S3、选择三维矿体进行井型布置,并将数据保存到MongoDB数据库中;
S4、切换到二维平面上,在水平投影上使用Canvas画切割线,并将切割线信息保存到MongoDB数据库中,在垂直投影上,选择一条切割线,再选择切割线上的钻孔;
S5、输入绘制孔径参数或选择孔径模板绘制孔径外径,并将孔径信息保存到MongoDB数据库中;
S6、输入绘制沉砂管参数或选择沉砂管模板绘制沉砂管并绘制孔径内径,并将沉砂管信息保存到MongoDB数据库中;
S7、显示开口线,点击钻孔与矿体的交点,也可输入绘制过滤器参数或选择过滤器模板绘制过滤器,并将过滤器信息保存到MongoDB数据库中;
S8、输入绘制导中器参数或选择导中器模板绘制导中器,并将导中器信息保存到MongoDB数据库中;
S9、选择要添加的粒料绘制粒料,并将粒料信息保存到MongoDB数据库中;
S10、在三维空间中基于WebGL技术使用Three.js绘制已设计的钻孔,并加载三维矿体模型,三维地表模型和三维水文模型分析三维钻孔与其相交情况;
如图5所示,是本发明一种基于WebGL的二三维结合的钻孔设计方法及系统的技术框架示意图,系统开发过程中涉及两端,客户端和服务端,客户端通过JavaScript编写脚本,利用WebGL进行3D渲染,使用html5和css搭建前端页面,并使用Canvas进行二维设计。服务器端的数据存储到MongoDB数据库中,通过Beego框架建立服务,通过c#建立WebService实现Dimine接口调用,客户端和服务端通过WebSocket实现通信连接。
尽管上面结合附图对本发明的功能及工作过程进行了描述,但本发明并不局限于上述的具体功能和工作过程,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可以做出很多形式,这些均属于本发明的保护之内。
Claims (10)
1.一种基于WebGL的二三维结合的钻孔设计方法,其特征在于,包括以下步骤:
第一步:使用Three.js建立基于WebGL标准的绘制环境;
第二步:通过坐标转换将三维矿体模型和三维钻孔向水平投影;
第三步:在水平投影上使用Canvas画勘探线,并将勘探线保存到数据库中;
第四步:将二维空间中的勘探线转换到三维空间中;
第五步:通过坐标转换将三维钻孔向勘探线所在的垂直面投影;
第六步:在垂直投影上使用Canvas进行二维钻孔设计;
第七步:基于WebGL技术,使用Three.js实现三维钻孔展示。
2.一种基于WebGL的二三维结合的钻孔设计系统,其特征在于,包括数据导入模块、方案设置比选模块、三维实体建模模块、二维钻孔设计模块和模板绘制模块;
所述数据导入模块包括矿体模型数据导入模块、地表模型数据导入模块、水文模型数据导入模块、实际钻孔数据导入模块;所述实际钻孔数据导入模块包括位置与类型数据导入模块、测斜数据导入模块、样品数据导入模块、岩层数据导入模块、样品组合模块;
所述三维实体建模模块具有三维矿体模型显示功能、三维地表模型显示功能、三维水文模型显示功能、三维钻孔显示功能、井型布置功能;所述三维钻孔显示功能包括三维实际钻孔显示功能和三维计划钻孔显示功能;所述井型布置功能包括添加计划钻孔功能和删除计划钻孔功能,所述添加计划钻孔功能包括添加单个计划钻孔功能和添加一个抽注单元功能,所述删除计划钻孔功能包括删除单个计划钻孔功能和框选删除计划钻孔功能;
所述二维钻孔设计模块包括水平投影模块和垂直投影模块;所述水平投影模块具有勘探线绘制功能、显示钻孔孔口孔底功能、放大缩小平移功能;所述垂直投影模块具有生成开口线功能、显示开口线功能、显示左右孔功能、孔径设计功能、沉砂管设计功能、过滤器设计功能、导中器设计功能、粒料添加功能、放大缩小平移功能;其中,孔径包括外径和内径;
所述模板绘制模块具有孔径模板绘制功能、沉砂管模板绘制功能、过滤器模板绘制功能、导中器模板绘制功能、粒料颜色或显示图片设置功能。
3.根据权利要求2所述的基于WebGL的二三维结合的钻孔设计系统,其特征在于,所述矿体模型数据导入模块将矿体模型数据导入到数据库中,所述三维矿体模型显示功能通过读取数据库中矿体模型数据直接在三维实体建模模块中绘制。
4.根据权利要求2所述的基于WebGL的二三维结合的钻孔设计系统,其特征在于,所述实际钻孔数据导入模块将实际钻孔数据导入到数据库中,所述三维实际钻孔显示功能通过读取数据库中实际孔数据在三维实体建模模块中直接绘制。
5.根据权利要求2所述的基于WebGL的二三维结合的钻孔设计系统,其特征在于,所述地表模型数据导入模块将地表数据导入到数据库中,所述三维地表模型显示功能通过读取数据库中地表数据在三维实体建模模块中直接绘制。
6.根据权利要求2所述的基于WebGL的二三维结合的钻孔设计系统,其特征在于,所述水文模型数据导入模块将水文数据导入到数据库中,所述三维水文模型显示功能通过读取数据库中水文数据在三维实体建模模块中直接绘制。
7.根据权利要求2所述的基于WebGL的二三维结合的钻孔设计系统,其特征在于,所述井型布置功能是包括五点型布置、行列式布置和七点型布置,在矿体模型上布置三维计划钻孔,所述五点型布置是在选择矿体的范围内绘制多个正方形,正方形的四个顶点是注液孔,对角线交点是抽液孔,所述行列式布置是在选择矿体的范围内绘制一行注液孔,一行抽液孔,所述七点型布置是在选择的矿体的范围内绘制多个正六边形,正六边形的六个顶点是注液孔,对角线交点是抽液孔,并将三维计划钻孔信息保存到数据库中。
8.根据权利要求2所述的基于WebGL的二三维结合的钻孔设计系统,其特征在于,所述三维计划钻孔显示功能是读取数据中的三维计划钻孔信息在三维实体建模模块中直接绘制;所述添加一个抽注单元功能是选择一个三维计划钻孔,绘制一个五点型或行列式或七点型;所述框选删除计划钻孔功能是在三维实体建模模块中添加一个矩形,然后删除在矩形内的三维计划钻孔,井型布置功能会生成在三维矿体外的三维计划钻孔,通过框选删除将多余三维计划钻孔删除。
9.根据权利要求2所述的基于WebGL的二三维结合的钻孔设计系统,其特征在于,所述二维钻孔设计模块进行实际钻孔设计和计划钻孔设计,所述二维钻孔设计模块是给实际钻孔和计划钻孔放置孔径、过滤器、导中器、沉砂管和粒料添加,孔径、过滤器、导中器、沉砂管均有模板,显示矿体开口线,直接调用模板进行绘制,二维界面中绘制的孔径、过滤器、导中器、沉砂管、粒料在三维实体建模模块中均进行绘制;所述过滤器的放置位置是计划钻孔与矿体开口线的交点。
10.根据权利要求2所述的基于WebGL的二三维结合的钻孔设计系统,其特征在于,所述模板绘制模块,通过用户输入孔径信息、过滤器信息、沉砂管信息、导中器信息,绘制孔径、过滤器、导中器、沉砂管,并上传孔径、过滤器、导中器、沉砂管,粒料渲染图片和设置显示颜色,在三维钻孔展示时进行渲染。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811286551.3A CN109558639A (zh) | 2018-10-31 | 2018-10-31 | 一种基于WebGL的二三维结合的钻孔设计方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811286551.3A CN109558639A (zh) | 2018-10-31 | 2018-10-31 | 一种基于WebGL的二三维结合的钻孔设计方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109558639A true CN109558639A (zh) | 2019-04-02 |
Family
ID=65865454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811286551.3A Pending CN109558639A (zh) | 2018-10-31 | 2018-10-31 | 一种基于WebGL的二三维结合的钻孔设计方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109558639A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110399631A (zh) * | 2019-05-31 | 2019-11-01 | 天津大学 | 地浸矿山井场绘图平台的设计方法及系统 |
CN110648378A (zh) * | 2019-09-05 | 2020-01-03 | 核工业二四三大队 | 一种砂岩型铀矿矿体水平投影图电子化绘制方法 |
CN110796732A (zh) * | 2019-10-21 | 2020-02-14 | 天津大学 | 基于WebGL与C#的矿山三维展示方法 |
CN110851930A (zh) * | 2019-10-12 | 2020-02-28 | 天津大学 | 基于WebGL的地表布线设计方法及系统 |
CN112926150A (zh) * | 2021-01-29 | 2021-06-08 | 北京城建勘测设计研究院有限责任公司 | 应用于岩土工程勘察行业的钻孔连续布设方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060293872A1 (en) * | 2004-03-16 | 2006-12-28 | M-I L.L.C. | Three-dimensional wellbore analysis and visualization |
CN102722903A (zh) * | 2012-05-29 | 2012-10-10 | 中山大学 | 一种地下环境三维可视化漫游技术 |
CN104574511A (zh) * | 2014-12-17 | 2015-04-29 | 中国地质大学(武汉) | 一种快速递进的三维地质建模方法 |
CN105184865A (zh) * | 2015-01-05 | 2015-12-23 | 中国电建集团华东勘测设计研究院有限公司 | 基于地质三维建模流程的地质图件编绘方法 |
US20160246899A1 (en) * | 2015-02-25 | 2016-08-25 | Onshape Inc. | Multi-User Cloud Parametric Feature-Based 3D CAD System |
CN106504324A (zh) * | 2016-10-21 | 2017-03-15 | 华北水利水电大学 | 一种基于ActiveX技术的工程地质二三维剖面一体化绘制方法 |
CN108256130A (zh) * | 2016-12-28 | 2018-07-06 | 核工业北京地质研究院 | 一种地质钻孔空间轨迹还原方法 |
US20180253820A1 (en) * | 2017-03-03 | 2018-09-06 | Immersive Enterprises, LLC | Systems, methods, and devices for generating virtual reality content from two-dimensional images |
CN108665544A (zh) * | 2018-05-09 | 2018-10-16 | 中冶北方(大连)工程技术有限公司 | 三维地质模型建模方法 |
-
2018
- 2018-10-31 CN CN201811286551.3A patent/CN109558639A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060293872A1 (en) * | 2004-03-16 | 2006-12-28 | M-I L.L.C. | Three-dimensional wellbore analysis and visualization |
CN102722903A (zh) * | 2012-05-29 | 2012-10-10 | 中山大学 | 一种地下环境三维可视化漫游技术 |
CN104574511A (zh) * | 2014-12-17 | 2015-04-29 | 中国地质大学(武汉) | 一种快速递进的三维地质建模方法 |
CN105184865A (zh) * | 2015-01-05 | 2015-12-23 | 中国电建集团华东勘测设计研究院有限公司 | 基于地质三维建模流程的地质图件编绘方法 |
US20160246899A1 (en) * | 2015-02-25 | 2016-08-25 | Onshape Inc. | Multi-User Cloud Parametric Feature-Based 3D CAD System |
CN106504324A (zh) * | 2016-10-21 | 2017-03-15 | 华北水利水电大学 | 一种基于ActiveX技术的工程地质二三维剖面一体化绘制方法 |
CN108256130A (zh) * | 2016-12-28 | 2018-07-06 | 核工业北京地质研究院 | 一种地质钻孔空间轨迹还原方法 |
US20180253820A1 (en) * | 2017-03-03 | 2018-09-06 | Immersive Enterprises, LLC | Systems, methods, and devices for generating virtual reality content from two-dimensional images |
CN108665544A (zh) * | 2018-05-09 | 2018-10-16 | 中冶北方(大连)工程技术有限公司 | 三维地质模型建模方法 |
Non-Patent Citations (5)
Title |
---|
TIMOTHY BASIL LUCIANI ET AL.: ""Large-Scale Overlays and Trends: Visually Mining, Panning and Zoomingthe Observable Universe"", 《IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS》 * |
任宏康等: ""基于Three.js的真实三维地形可视化设计与实现"", 《测绘与空间地理信息》 * |
崔扬等: ""勘探线剖面图从二维转化为三维算法"", 《测绘科学》 * |
彭少龙等: ""钻孔设计与轨迹动态监控系统研究"", 《探矿工程(岩土钻掘工程)》 * |
王颖: ""基于WebGL的钻浸计划系统的设计与实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110399631A (zh) * | 2019-05-31 | 2019-11-01 | 天津大学 | 地浸矿山井场绘图平台的设计方法及系统 |
CN110399631B (zh) * | 2019-05-31 | 2023-01-24 | 天津大学 | 地浸矿山井场绘图平台的设计方法及系统 |
CN110648378A (zh) * | 2019-09-05 | 2020-01-03 | 核工业二四三大队 | 一种砂岩型铀矿矿体水平投影图电子化绘制方法 |
CN110851930A (zh) * | 2019-10-12 | 2020-02-28 | 天津大学 | 基于WebGL的地表布线设计方法及系统 |
CN110796732A (zh) * | 2019-10-21 | 2020-02-14 | 天津大学 | 基于WebGL与C#的矿山三维展示方法 |
CN112926150A (zh) * | 2021-01-29 | 2021-06-08 | 北京城建勘测设计研究院有限责任公司 | 应用于岩土工程勘察行业的钻孔连续布设方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109558639A (zh) | 一种基于WebGL的二三维结合的钻孔设计方法及系统 | |
CN106504324B (zh) | 一种基于ActiveX技术的工程地质二三维剖面一体化绘制方法 | |
CN104915521B (zh) | 基于野外编录数据和自动制图综合的钻孔柱状图编绘方法 | |
US20130321407A1 (en) | Spatial data services | |
CN105684047A (zh) | 动态更新表示一个或多个地质构造的区划 | |
US20150009215A1 (en) | Generating a 3d image for geological modeling | |
CN106484943A (zh) | 一种基于非线性拟合控制的地质剖面图在线生成方法 | |
CN116152461B (zh) | 地质建模方法、装置、计算机设备及计算机可读存储介质 | |
CN107423455B (zh) | 一种公路自动建模方法及系统 | |
CN103345540A (zh) | 一种在数字地球软件平台上模拟和显示地质钻孔信息的方法 | |
CN107948298A (zh) | 一种基于移动端技术的钻孔编录方法及系统 | |
CN103069460B (zh) | 用于呈现钻井记录值的方法和系统 | |
CN113052967A (zh) | 一种基于数字三维可视化的地质勘察成果表达方法 | |
CN102446214B (zh) | 工程勘察内业数据处理方法及装置 | |
CN115631313A (zh) | 一种煤矿透明地质模型的构建方法、装置以及处理设备 | |
CN116304152A (zh) | 一种基于gis+bim的勘察成果智能展示系统 | |
CN105719342B (zh) | 一种地裂缝地质体的三维建模可视化方法及装置 | |
CN110399631A (zh) | 地浸矿山井场绘图平台的设计方法及系统 | |
CN112862967A (zh) | 用于建立三维地质模型的方法和装置 | |
US11475649B2 (en) | Data structures for augmented reality planning of geographic locations | |
Carrell | Tools and techniques for 3D geologic mapping in Arc Scene: Boreholes, cross sections, and block diagrams | |
Marschallinger et al. | A visual LISP program for voxelizing AutoCAD solid models | |
CN116109783A (zh) | 一种露天矿场三维开采规划系统及方法 | |
CN114529629A (zh) | 一种基于模板和规则定制的地质专题图表生成方法及系统 | |
CN111627110B (zh) | 一种区域大尺度三维地质模型构建方法 |
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 | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20240119 |
|
AD01 | Patent right deemed abandoned |