亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        三維礦井巷道體間節(jié)點(diǎn)連接算法研究

        2020-05-17 06:14:00巨正平
        礦山測(cè)量 2020年2期
        關(guān)鍵詞:方法模型

        路 云,巨正平

        (1.云南睿琦勘察設(shè)計(jì)有限公司,云南 昆明 650231;2.國(guó)家林業(yè)局昆明勘察設(shè)計(jì)院, 云南 昆明 650216)

        隨著煤礦井下各種圖形實(shí)現(xiàn)計(jì)算機(jī)繪制與管理,在煤礦巷道圖繪制過程中,巷道繪制的工作量大,而且重復(fù)性勞動(dòng)過多,由于煤礦巷道圖的整幅圖形中直線巷道是很多的,且并不成水平或垂直大都有一定的斜率,各個(gè)巷道之間還有各種復(fù)雜的拓?fù)潢P(guān)系,若由CAD等繪圖工具進(jìn)行繪制,繪制工作將是非常繁瑣的,而且容易出錯(cuò),因此,由井下控制點(diǎn)自動(dòng)生成礦圖巷道的探究在煤礦巷道的繪制中起到越來越重要的作用[1]。

        通過井下控制點(diǎn)自動(dòng)生成巷道圖形的計(jì)算方法已有很多種[2-3,6],在現(xiàn)有的巷道接口處理技術(shù)中,一般將巷道節(jié)點(diǎn)處處理技術(shù)分為兩條巷道之間和三條及三條巷道以上之間的處理方式。對(duì)于兩條巷道的連接,同地下三維管線處理技術(shù)幾乎相同,都是先將巷道中線生成巷道雙線時(shí)的重疊區(qū)域分離開,然后把巷道模型截面細(xì)化成各個(gè)點(diǎn),并用相鄰的巷道截面構(gòu)建巷道體,最后對(duì)模型節(jié)點(diǎn)處進(jìn)行修復(fù)。對(duì)多條巷道接口處理技術(shù)并沒有很好的技術(shù)借鑒[7],目前,一種是多條巷道處于分離狀態(tài),直接對(duì)分離的三條巷道進(jìn)行接口處理,本方法可能和巷道數(shù)據(jù)源有關(guān);另一種是多條巷道處交與一點(diǎn),以第一次出現(xiàn)的中線為基準(zhǔn),計(jì)算與其他巷道中線的夾角,逆時(shí)針按從小到大的順序進(jìn)行排列,再計(jì)算相鄰兩巷道相鄰兩半截面的偏移量。這種方法將每條巷道的截面分成2份,對(duì)每條巷道的左右截面進(jìn)行計(jì)算偏移量,并以半截面為單位分別移動(dòng)截面點(diǎn)坐標(biāo)。本論文以每條巷道的截面為單元,順次計(jì)算各個(gè)巷道截面的偏移量,相鄰巷道取較大偏移量將巷道截面點(diǎn)坐標(biāo)依次移動(dòng)。采用一條巷道對(duì)應(yīng)一個(gè)截面的方式可以很好的管理截面點(diǎn)數(shù)據(jù),始終將截面點(diǎn)數(shù)據(jù)與巷道中線點(diǎn)坐標(biāo)對(duì)應(yīng),在檢索任意節(jié)點(diǎn)處時(shí)可按照此方法根據(jù)巷道中線數(shù)據(jù)實(shí)時(shí)計(jì)算出截面的坐標(biāo).本算法采用C#語(yǔ)言開發(fā)OpenGL 實(shí)現(xiàn)進(jìn)行實(shí)驗(yàn)。以兩條巷道三維體修飾算法為例。

        1 計(jì)算方法與原理

        巷道拐點(diǎn)及其巷道交點(diǎn)處都稱節(jié)點(diǎn),一個(gè)節(jié)點(diǎn)連接處的巷道,如果是同一巷道內(nèi)的弧段(也稱兩條巷道相交),可根據(jù)相連的關(guān)系對(duì)接口處進(jìn)行連接;如果是巷道之間的連接處,因?yàn)楣?jié)點(diǎn)處的幾條巷道在空間上沒有規(guī)律可循就會(huì)出現(xiàn)重疊或錯(cuò)切的現(xiàn)象,需要對(duì)巷道之間空間關(guān)系進(jìn)行判別,然后對(duì)相接處進(jìn)行處理,其實(shí)質(zhì)即為空間三維直線拓?fù)潢P(guān)系問題[8,10-11]。本文對(duì)節(jié)點(diǎn)連接使用先處理相交再統(tǒng)一縫合的方法,即“先分離再縫合”的方法。方法規(guī)定:規(guī)定前進(jìn)方向,兩條巷道方向規(guī)定為巷道中線依次連接方向;三條及其三條以上巷道方向規(guī)定為以連接節(jié)點(diǎn)為中心,指向節(jié)點(diǎn)方向?yàn)榍斑M(jìn)方向,巷道以左為左幫,巷道以右為右?guī)?,?jié)點(diǎn)處截面點(diǎn)坐標(biāo)依次編號(hào)0-11,共12點(diǎn),巷道右?guī)偷酌娼屈c(diǎn)為0號(hào)點(diǎn),逆時(shí)針旋轉(zhuǎn)依次對(duì)應(yīng)0-11號(hào)點(diǎn)。如圖1、圖2所示。

        圖1 兩條巷道相交巷道前進(jìn)方向

        圖2 三條巷道相交巷道前進(jìn)方向

        2 兩條巷道間節(jié)點(diǎn)處連接

        如圖3所示,為巷道A0O和巷道B0O相交,A0O、B0O為巷道中線,交點(diǎn)為O,A1A2A3A4和B1B2B3B4是由單線巷道生成的雙線巷道,可見在生成雙線巷道時(shí)巷道兩個(gè)幫線出現(xiàn)了重疊和相離的情況,因此,在構(gòu)建三維巷道體時(shí)也會(huì)出現(xiàn)體與體之間的空間重疊和相離現(xiàn)象。這樣會(huì)導(dǎo)致模型的失真,同時(shí)也影響在巷道體內(nèi)的漫游。所以,在進(jìn)行三維模型建立前必須對(duì)重疊和相離現(xiàn)象進(jìn)行處理,即對(duì)重疊部分進(jìn)行裁剪;對(duì)相離部分進(jìn)行連接。算法思想如下:

        圖3 兩條巷道節(jié)點(diǎn)處二維平面圖

        確定重疊部分和相離部分:在處理之前必須將重疊部分和相離部分確定出來。如圖4所示,巷道由A0→O→B0,箭頭表示數(shù)據(jù)存儲(chǔ)順序前進(jìn)方向,規(guī)定巷道沿前進(jìn)方向左手邊稱巷道左邊,右手邊稱巷道右邊,α為巷道A0O與巷道B0O之間的夾角,由此我們可以根據(jù)以下進(jìn)行判斷:

        圖4 巷道前進(jìn)方向與夾角示意圖

        圖5 處理后兩條巷道間節(jié)點(diǎn)處二維平面圖

        經(jīng)處理后巷道節(jié)點(diǎn)二維平面圖如圖5所示。

        計(jì)算幫線交點(diǎn)O1點(diǎn)坐標(biāo):通過α值可以判斷出O1點(diǎn)所處位置,如圖3,然后將重疊端A4O1和B4O1的偏移量裁去,得出如圖5所示的巷道。O1點(diǎn)坐標(biāo)由已經(jīng)計(jì)算出的截面坐標(biāo)進(jìn)行計(jì)算,即為線段A1A4和線段B1B4的交點(diǎn)坐標(biāo)。

        A1A4和B1B4的坐標(biāo)為已知點(diǎn)坐標(biāo),使用向量法即可得出O1的坐標(biāo);

        A1O1∥O1A4

        B1O1∥O1B4

        巴蘭對(duì)自己的貢獻(xiàn)始終非常謙虛。他曾將互聯(lián)網(wǎng)比作由許多人歷經(jīng)多年建造的大教堂,不斷有新人加入其中,每個(gè)人都在舊基礎(chǔ)之上添磚加瓦。每人都會(huì)說我建造了一個(gè)大教堂。他說:“如果你不注意,就會(huì)騙自己相信你做了最重要的工作。但現(xiàn)實(shí)情況是,每一項(xiàng)貢獻(xiàn)都建立在先前工作的基礎(chǔ)之上,一切都與其他事物息息相關(guān)?!?/p>

        更新巷道截面坐標(biāo)點(diǎn)數(shù)據(jù):得到O1點(diǎn)坐標(biāo)后,根據(jù)截面12個(gè)點(diǎn)的分布,找出與O1點(diǎn)對(duì)應(yīng)的坐標(biāo)A[0,i],求出坐標(biāo)的增量Dx、Dy,然后遍歷截面坐標(biāo)統(tǒng)一加減Dx、Dy,以替換原有的界面坐標(biāo),作為巷道三維建模的截面數(shù)據(jù)。本文弧頂圓曲線采用∏/8離散化方式,離散化巷道截面圖如圖6所示。

        圖6 ∏/8離散化后截面圖

        OQ左側(cè)拱形5個(gè)離散點(diǎn)坐標(biāo)(1<=n<=5):

        OQ右側(cè)拱形5個(gè)離散點(diǎn)坐標(biāo)(6<=n<=10):

        連接各對(duì)應(yīng)點(diǎn)生成巷道體:得到處理后巷道的兩個(gè)截面點(diǎn)數(shù)據(jù)后便可以建立三維巷道模型,根據(jù)連接節(jié)點(diǎn)的方法,將連接相鄰兩截面點(diǎn)構(gòu)建三角面,最終實(shí)現(xiàn)三維巷道模型。

        3 巷道間節(jié)點(diǎn)處縫合(兩條巷道間節(jié)點(diǎn)處縫合)

        在巷道節(jié)點(diǎn)連接處重合部分處理完后,另一幫面必然出現(xiàn)相離的現(xiàn)象,所以要對(duì)出現(xiàn)相離的一端進(jìn)行縫合,使巷道形成一個(gè)封閉的體域。兩條巷道節(jié)點(diǎn)處兩個(gè)截面都有對(duì)應(yīng)的坐標(biāo),只需將新的截面坐標(biāo)相互連接形成四邊面即可[4]。若不考慮無用面可從0點(diǎn)到12點(diǎn)依次進(jìn)行構(gòu)四邊形面,但是這樣回形成一個(gè)只有兩點(diǎn)的四邊形面,為A0A1B0B1面,因?yàn)锳0與B0重合,A1與B1重合;若考慮剔除這個(gè)無用的面,首先在判斷交點(diǎn)位置時(shí)給予標(biāo)示,無用面得形成無非是A0A1B0B1或者A10A11B10B11,把握好在那一邊即可剔除。同時(shí),底面也需要縫合,理論上底面也是四邊形面,但是A0與B0或者A11與B11始終會(huì)有一對(duì)是交點(diǎn),所以底面形狀上只是一個(gè)三角面。流程圖如圖7所示。

        圖7 兩條巷道節(jié)點(diǎn)處縫合

        無論在節(jié)點(diǎn)處為幾條巷道相交,方法和三條巷道相交處理是完全相同的,先進(jìn)行巷道分離,然后再進(jìn)行巷道的縫合,使得三維巷道體能夠形成一個(gè)封閉的體域。如圖8、圖9為巷道節(jié)點(diǎn)連接方式及縫合的過程圖。

        4 OpenGL實(shí)現(xiàn)三維建模

        OpenGL是一個(gè)底層圖形庫(kù)規(guī)范。它為程序員提供了一個(gè)小的幾何圖元(點(diǎn)、線、多邊形、圖片和位圖)庫(kù)和一個(gè)支持2D/3D幾何對(duì)象繪圖命令庫(kù)[5],通過所提供的圖元和命令來控制對(duì)象的呈現(xiàn)(繪圖)。OpenGL圖形基礎(chǔ)元素和GIS的相同,并具有強(qiáng)大的三維功能,坐標(biāo)變換,模型構(gòu)建、視口移動(dòng),渲染等。

        圖8 RGBA模式兩條巷道節(jié)點(diǎn)連接及縫合圖

        圖9 RGBA模式兩條巷道節(jié)點(diǎn)連接及縫合圖

        線條元素構(gòu)建函數(shù):

        GL.glBegin(GL.GL_LINES);

        GL.glColor3f(0.0f, 1.0f, 0.0f); GL.glVertex3f(x2, x2, z2);//起始點(diǎn)

        GL.glColor3f(0.0f, 1.0f, 0.0f); GL.glVertex3f(x3, y3, z3);//終止點(diǎn)

        GL.glEnd();

        面狀元素構(gòu)建函數(shù):

        GL.glBegin(GL.GL_QUADS);

        //空間四點(diǎn)構(gòu)建面

        GL.glColor3f(1.0f, 1.0f, 1.0f); GL.glVertex3f(AN[0, 0], AN[0, 1], AN[0, 2]);

        GL.glColor3f(1.0f, 1.0f, 1.0f); GL.glVertex3f(BN[0, 0], BN[0, 1], BN[0, 2]);

        GL.glColor3f(1.0f, 1.0f, 1.0f); GL.glVertex3f(BN[11, 0], BN[11, 1], BN[11, 2]);

        GL.glColor3f(1.0f, 1.0f, 1.0f); GL.glVertex3f(AN[11, 0], AN[11, 1], AN[11, 2]);

        GL.glEnd();

        5 結(jié) 論

        三維礦井巷道體間節(jié)點(diǎn)連接算法的研究對(duì)井下三維巷道自動(dòng)化建模具有十分重要的意義,它可以使用井下巷道基本的中線坐標(biāo)信息快速建立模型[8],并對(duì)三維模型節(jié)點(diǎn)處進(jìn)行處理,使得整個(gè)三維模型形成封閉、平滑的模型體。大大解放了手工建模的工作[10-11]。本文主要對(duì)三維模型巷道間連接處處理方法的研究,通過算法自動(dòng)完成節(jié)點(diǎn)處模型的縫合處理。本人使用C#連接OpenGL圖形庫(kù),對(duì)生成的模型進(jìn)行了可視化 ,同時(shí)實(shí)現(xiàn)了模型的三維漫游、旋轉(zhuǎn)等操作 ,并利用實(shí)際工程中的礦井中線坐標(biāo)數(shù)據(jù)對(duì)該構(gòu)模方法進(jìn)行了測(cè)試 ,其建模速度快 ,且建立的模型層次分明,無重疊部分,建模結(jié)果有效表明該方法有一定的可靠性,所以該方法在三維巷道建模中有廣泛的實(shí)用性。

        猜你喜歡
        方法模型
        一半模型
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
        學(xué)習(xí)方法
        可能是方法不對(duì)
        3D打印中的模型分割與打包
        用對(duì)方法才能瘦
        Coco薇(2016年2期)2016-03-22 02:42:52
        FLUKA幾何模型到CAD幾何模型轉(zhuǎn)換方法初步研究
        四大方法 教你不再“坐以待病”!
        Coco薇(2015年1期)2015-08-13 02:47:34
        賺錢方法
        极品少妇被黑人白浆直流| 亚洲精品乱码久久久久久按摩高清| 欧洲成人午夜精品无码区久久| 久久精品国产99精品九九| 亚洲精品一区二区在线播放| 国产婷婷成人久久av免费| 免费观看羞羞视频网站| 乱码午夜-极国产极内射| 狠狠躁夜夜躁人人爽天天不卡| 亚洲成人av一区免费看| 久爱www人成免费网站| 老妇肥熟凸凹丰满刺激| 国产精品成人av电影不卡| 国产高清在线精品一区二区三区| 精品亚洲a∨无码一区二区三区 | 免费在线观看播放黄片视频| 精品人妻午夜一区二区三区四区 | 国产手机在线αⅴ片无码观看| 99re国产电影精品| 亚洲精品456在线播放狼人| 韩国三级在线观看久| 黄色成人网站免费无码av| 人妻少妇精品无码专区二| 91久久精品一区二区喷水喷白浆| av网站在线观看亚洲国产| 成人无码av免费网站| 性高朝久久久久久久| 成人综合亚洲欧美一区h| 无人视频在线播放免费| 亚洲av成人噜噜无码网站| 五月天激情综合网| 亚洲av乱码一区二区三区观影| 国产一区二区自拍刺激在线观看| 少妇人妻偷人精品免费视频| 亚洲av乱码专区国产乱码| 白白色视频这里只有精品| 人妻少妇精品视频专区| 国产精品美女久久久久久2018| 中文字幕中文一区中文字幕| 欧美精品无码一区二区三区| 欧美孕妇xxxx做受欧美88|