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

        ?

        基于逐點(diǎn)插入法生成Voronoi圖的算法研究及實(shí)現(xiàn)

        2016-11-11 09:25:00艷,李強(qiáng)
        關(guān)鍵詞:三角網(wǎng)鏈表外接圓

        張 艷,李 強(qiáng)

        (中國(guó)礦業(yè)大學(xué)(北京) 地球科學(xué)與測(cè)繪工程學(xué)院,北京 100083)

        ?

        基于逐點(diǎn)插入法生成Voronoi圖的算法研究及實(shí)現(xiàn)

        張艷,李強(qiáng)

        (中國(guó)礦業(yè)大學(xué)(北京) 地球科學(xué)與測(cè)繪工程學(xué)院,北京 100083)

        基于逐點(diǎn)插入法生成Voronoi圖需要首先生成Voronoi對(duì)應(yīng)的Delaunay三角剖分,為滿足大量離散點(diǎn)數(shù)據(jù)快速構(gòu)建Voronoi圖的效率需求,研究利用Lawson算法在形成三角網(wǎng)過(guò)程中進(jìn)行LOP優(yōu)化,快速生成可靠的Delaunay三角網(wǎng),并應(yīng)用Delaunay三角網(wǎng)與Voronoi圖互為對(duì)偶的關(guān)系,構(gòu)建所需的Voronoi圖。在對(duì)大量的隨機(jī)離散數(shù)據(jù)進(jìn)行試驗(yàn),并與標(biāo)準(zhǔn)的結(jié)果進(jìn)行對(duì)比后發(fā)現(xiàn),除部分異常情況,利用該算法可以快速準(zhǔn)確地構(gòu)建出目標(biāo)Voronoi圖。

        Delaunay三角剖分;LOP優(yōu)化;Voronoi圖;逐點(diǎn)插入法

        Voronoi圖又稱泰森多邊形或者Dirichlet圖,它在求解點(diǎn)集或者其他幾何對(duì)象與距離有關(guān)的問(wèn)題時(shí)有著重要的作用,應(yīng)用領(lǐng)域從幾何重構(gòu)到計(jì)算機(jī)圖形學(xué)、圖像處理,從路徑規(guī)劃到粒子微觀狀態(tài)分布,幾乎涵蓋了自然科學(xué)領(lǐng)域的大部分學(xué)科[1-4],由于它的廣泛適用性,人們研究得出了一系列關(guān)于它的有效算法。

        關(guān)于Voronoi的算法大致可以分為兩類[5-6]:一是直接法,即直接由點(diǎn)集生成Voronoi圖,比如半平面法、增量構(gòu)造法、分治法、平面掃描線法等;二是間接法,利用Voronoi 圖與 Delaunay 三角網(wǎng)互為對(duì)偶圖的關(guān)系,先對(duì)點(diǎn)集剖分生成 Delaunay 三角網(wǎng),然后構(gòu)建Voronoi 圖。關(guān)于間接法的研究有任永功等人的利用類Delaunay三角網(wǎng)實(shí)現(xiàn)Voronoi圖[7],劉少華等人的基于Delaunay三角網(wǎng)的泰森多邊形生成算法研究[8],卓中文等用炮孔取樣點(diǎn)的數(shù)據(jù)作為數(shù)據(jù)源來(lái)研究基于Delaunay三角網(wǎng)生成Voronoi爆破圖[9],孫繼忠等人針對(duì)Delaunay三角網(wǎng)生長(zhǎng)算法和間接生成Voronoi圖算法構(gòu)網(wǎng)效率不高的問(wèn)題,提出了一種基于Delaunay三角網(wǎng)間接生成Voronoi圖的改進(jìn)算法[10]。

        逐點(diǎn)插入法是目前生成Delaunay 三角網(wǎng)應(yīng)用最廣泛的算法之一,該算法實(shí)現(xiàn)簡(jiǎn)單,易于推廣到三維情況。本文基于逐點(diǎn)插入法進(jìn)行Delaunay 三角剖分,再由Delaunay 三角網(wǎng)的對(duì)偶圖成功地得到相關(guān)點(diǎn)集的Voronoi圖[11-14]。

        1 構(gòu)建Voronoi步驟

        算法實(shí)現(xiàn)的關(guān)鍵是對(duì)離散點(diǎn)進(jìn)行合理的剖分,使之連接形成Delaunay 三角網(wǎng),基本步驟如下:

        1)構(gòu)建Delaunay 三角網(wǎng),對(duì)離散點(diǎn)和形成的三角形編號(hào),記錄每個(gè)三角形是由哪3個(gè)離散點(diǎn)構(gòu)成的;

        2)找出與每個(gè)離散點(diǎn)相鄰的所有三角形的編號(hào),并記錄下來(lái)。只要在已構(gòu)建的三角網(wǎng)中找出具有一個(gè)相同頂點(diǎn)的所有三角形即可;

        3)對(duì)與每個(gè)離散點(diǎn)相鄰的三角形按順時(shí)針或逆時(shí)針?lè)较蚺判颍?/p>

        4)計(jì)算每個(gè)三角形的外接圓圓心,并記錄之;

        5)根據(jù)每個(gè)離散點(diǎn)的相鄰三角形,連接這些相鄰三角形的外接圓圓心,得到Voronoi圖。

        2 Delaunay 三角網(wǎng)的構(gòu)建

        Delaunay 三角剖分對(duì)數(shù)值分析以及圖形學(xué)來(lái)說(shuō),是極為重要的一項(xiàng)預(yù)處理技術(shù),它有最大化最小角,即“最接近于規(guī)則化的”三角網(wǎng)和唯一性,任意四點(diǎn)不能共圓兩個(gè)特點(diǎn)。

        Delaunay剖分的生成算法主要有分治算法、逐步插入法、三角網(wǎng)生長(zhǎng)法等。而逐點(diǎn)插入法的代表算法為1977年由Lawson提出的Lawson算法,該算法思路簡(jiǎn)單,易于編程實(shí)現(xiàn)[15]?;驹頌椋?/p>

        1)構(gòu)造一個(gè)超級(jí)三角形,包含所有散點(diǎn),放入三角形鏈表。

        2)將點(diǎn)集中的散點(diǎn)依次插入,在三角形鏈表中找出外接圓包含插入點(diǎn)的三角形(稱為該點(diǎn)的影響三角形),刪除影響三角形的公共邊,將插入點(diǎn)同影響三角形的全部頂點(diǎn)連接起來(lái),完成一個(gè)點(diǎn)在Delaunay三角形鏈表中的插入,如圖1所示。

        3)對(duì)局部新形成的三角形進(jìn)行LOP優(yōu)化,并將形成的三角形放入Delaunay三角形鏈表。

        4)循環(huán)第二步,直到所有離散點(diǎn)插入完畢。

        圖1 插入新點(diǎn)后過(guò)程

        3 算法流程及實(shí)現(xiàn)

        3.1Delaunay三角剖分的生成

        Lawson三角剖分算法的關(guān)鍵是先創(chuàng)建包含點(diǎn)集的凸殼,在插入新點(diǎn)后快速生成新的三角網(wǎng),并進(jìn)行LOP優(yōu)化,得到Delaunay三角網(wǎng)。采用面向?qū)ο蟮姆椒▽?shí)現(xiàn)程序的設(shè)計(jì)過(guò)程可以直觀明朗地獲取相關(guān)點(diǎn)、邊、三角形的信息。

        3.1.1初始設(shè)置

        1)點(diǎn)類和點(diǎn)列表:Class Point and class PointList;

        2)邊類和邊列表:Class Edge and class EdgeList;

        3)三角形類和三角形列表:class Triangle and class TriangleList。

        3.1.2數(shù)據(jù)讀入

        采用FileStream類,以文件流的形式讀入數(shù)據(jù),數(shù)據(jù)采用X,Y坐標(biāo)形式,并利用GDI畫(huà)圖展點(diǎn)。

        3.1.3建立凸殼

        將數(shù)據(jù)存入點(diǎn)列表PointList,遍歷最大最小的X,Y坐標(biāo)值,用獲取的最大最小橫縱坐標(biāo)值定義超三角形SuperTriangle的3個(gè)頂點(diǎn)坐標(biāo)。

        3.1.4生成Delaunay三角網(wǎng)

        根據(jù)兩點(diǎn)構(gòu)成邊,三邊構(gòu)成三角形的原理,首先構(gòu)建點(diǎn)列表,由點(diǎn)列表得到邊列表,再由邊、點(diǎn)列表得到相應(yīng)的三角形鏈表,最終按照Lawson算法得到Delaunay三角網(wǎng),效果如圖2所示。

        圖2 75點(diǎn)生成的Delaunay三角網(wǎng)

        3.2Voronoi圖的構(gòu)建

        根據(jù)Voronoi圖與Delaunay三角網(wǎng)互為對(duì)偶圖的關(guān)系,在以生產(chǎn)Delaunay三角剖分的基礎(chǔ)上可以迅速地得到相應(yīng)的Voronoi圖。

        3.2.1初始設(shè)置

        1)Voronoi圖點(diǎn)列表:VPoint;

        2)三角形邊列表:VEdgeList;

        3)三角形列表:TriangleList;

        4)邊另一點(diǎn)列表:OtherPointList。

        3.2.2程序步驟

        第一步:根據(jù)在Delaunay三角剖分過(guò)程中得到的三角形頂點(diǎn)列表,除去超級(jí)三角形頂點(diǎn),然后依次將剩余點(diǎn)添加到新的VPoint列表。

        第二步:遍歷三角形邊列表EdgeList,重新加入到VEdgeList邊列表,并同時(shí)去除重復(fù)的邊。

        第三步:遍歷VPoint列表,對(duì)每一點(diǎn)遍歷該點(diǎn)相關(guān)的邊列表VEdgeList,在這一過(guò)程中,同時(shí)記錄邊列表相關(guān)的另一點(diǎn)及其坐標(biāo)值,并將該點(diǎn)即OtherPoint存入OtherPointList。

        第四步:對(duì)OtherPointList內(nèi)的點(diǎn)按逆時(shí)針排序,計(jì)算這些點(diǎn)相關(guān)的三角形外接圓圓心,并連接外接圓圓心,得到Voronoi圖。最終效果如圖3所示。

        圖3 生成的Voronoi圖

        4 結(jié)束語(yǔ)

        根據(jù)逐點(diǎn)插入法進(jìn)行Delaunay三角剖分得到Delaunay三角網(wǎng)是一種最為簡(jiǎn)潔快速的方法,避免了諸如分治法等算法的復(fù)雜性,盡管時(shí)間耗費(fèi)相對(duì)加長(zhǎng),但現(xiàn)代計(jì)算機(jī)的進(jìn)步完全彌補(bǔ)了這一缺陷。經(jīng)本實(shí)驗(yàn)驗(yàn)證,由逐點(diǎn)插入生成Delaunay三角網(wǎng),進(jìn)而生成Voronoi圖的方法切實(shí)可行。

        [1]劉金義,劉爽.Voronoi圖應(yīng)用綜述[J].工程圖學(xué)學(xué)報(bào),2004,25(2): 125-132.

        [2]俞亞磊.GIS中Delaunay三角網(wǎng)與Voronoi圖的相關(guān)問(wèn)題研究[D].蕪湖:安徽師范大學(xué),2013.

        [3]鮑蕊娜.離散點(diǎn)生成不規(guī)則三角網(wǎng)算法研究及實(shí)現(xiàn)[D].昆明:昆明理工大學(xué),2012.

        [4]紀(jì)志浩,于明旭.基于點(diǎn)云數(shù)據(jù)三維重建方法的研究[J].黑龍江工程學(xué)院學(xué)報(bào),2014(3):7-9.

        [5]宗大偉.Voronoi圖及其應(yīng)用研究[D].南京:南京航空航天大學(xué),2006.

        [6]袁子薇.Voronoi圖細(xì)分算法研究[D].杭州:浙江工業(yè)大學(xué),2013.

        [7]任永功,廖士中.利用類Delaunay三角剖分實(shí)現(xiàn)Voronoi圖[J].計(jì)算機(jī)科學(xué),2002,29(9):78-79.

        [8]劉少華,羅小龍,何幼斌,等.基于Delaunay三角網(wǎng)的泰森多邊形生成算法研究[J].長(zhǎng)江大學(xué)學(xué)報(bào),2007,4(1):10-103.

        [9]卓中文,王山東,魏生文,等.基于Delaunay三角網(wǎng)生成Voronoi爆破圖的研究[J].現(xiàn)代礦業(yè),2011(12): 106-108.

        [10]孫繼忠,胡艷,馬永強(qiáng).基于Delaunay三角剖分生成Voronoi圖算法[J].計(jì)算機(jī)應(yīng)用,2010,30(1):75-77.

        [11]沈璐,宋曉東,鄧宇.VC 環(huán)境下Delaunay 三角剖分算法的設(shè)計(jì)及實(shí)現(xiàn)[J].吉林建筑工程學(xué)院學(xué)報(bào),2012,29(6):46-48.

        [12]劉云,夏興東,黃北生.基于分治算法與逐點(diǎn)插入法的Delaunay三角網(wǎng)建立算法的改進(jìn)[J].現(xiàn)代測(cè)繪,2010(4):14-16.

        [13]郭曉東.Delaunay三角形網(wǎng)絡(luò)逐點(diǎn)插入法的優(yōu)化算法[J].氣象與環(huán)境科學(xué),2014,37(2):112-116.

        [14]王龍浩,王解先.基于逐點(diǎn)插入法的Delaunay三角網(wǎng)快速生成算法[J].工程勘察,2013,10:75-79.

        [15]畢碩本,陳東祺,顏堅(jiān),等.基于二維凸殼的平面點(diǎn)集Delaunay三角網(wǎng)算法[J].計(jì)算機(jī)科學(xué),2004,41(10): 317-320.

        [責(zé)任編輯:郝麗英]

        Research and implementation of Voronoi diagram generation algorithm based on point by point insertion method

        ZHANG Yan,LI Qiang

        (College of Geoscience and Surveying Engineering,China University of Mining & Technology,Beijing 10083,China)

        Based on point by point insertion method,the Voronoi diagram needs to generate the Delaunay triangulation first in order to meet the efficiency requirement of constructing Voronoi diagram quickly with a number of discrete point data.In the paper Lawson algorithm is used to carry on the LOP optimization in the process of forming a triangulation network to generate a reliable Delaunay triangulation.The relation of mutual duality between Delaunay triangulation and Voronoi diagram is used to construct the desired Voronoi map.After testing a number of random discrete data and comparing with the results of the standard result,this paper obtains a result that in addition to some abnormal conditions,this algorithm can quickly and accurately frame the targetted Voronoi map.

        delaunay triangulation; LOP optimization; Voronoi diagram; incremental insertion algorithm

        10.19352/j.cnki.issn1671-4679.2016.05.007

        2016-03-28

        張艷(1991-),女,碩士研究生,研究方向:煤矸石山溫度場(chǎng)探測(cè).

        TP301.6

        A

        1671-4679(2016)05-0022-03

        猜你喜歡
        三角網(wǎng)鏈表外接圓
        基于二進(jìn)制鏈表的粗糙集屬性約簡(jiǎn)
        歐拉不等式一個(gè)加強(qiáng)的再改進(jìn)
        跟麥咭學(xué)編程
        將相等線段轉(zhuǎn)化為外接圓半徑解題
        基于鏈表多分支路徑樹(shù)的云存儲(chǔ)數(shù)據(jù)完整性驗(yàn)證機(jī)制
        僅與邊有關(guān)的Euler不等式的加強(qiáng)
        針對(duì)路面建模的Delaunay三角網(wǎng)格分治算法
        清華山維在地形圖等高線自動(dòng)生成中的應(yīng)用
        一道IMO試題的另解與探究
        鏈表方式集中器抄表的設(shè)計(jì)
        国产成人无码专区| 国产成人精品人人做人人爽| 亚洲综合天堂一二三区| 精品在线视频在线视频在线视频 | 日躁夜躁狠狠躁2001| 久久久久亚洲AV无码专| 日本在线视频二区一区| 中文字幕精品一区久久| 无码av天堂一区二区三区| 国产毛片视频网站| 久久中文字幕av第二页| 国产精品国产三级国产专播下| 少妇粉嫩小泬喷水视频www| 亚洲欧美日韩中文天堂| 女人一级特黄大片国产精品| 日本黄色3级一区二区| 免费视频爱爱太爽了| 亚洲av无码av在线播放| 水蜜桃一二二视频在线观看免费| 国产精品一区二区久久久av| 国99久9在线 | 免费| 牛牛本精品99久久精品88m| 国产高跟丝袜在线诱惑| 电驱蚊液可以插一晚上吗| 特黄特色的大片观看免费视频| 伊人99re| 亚洲一区二区三区美女av| 一区二区三区中文字幕p站| 国产最新进精品视频| 色系免费一区二区三区| 爱爱免费视频一区二区三区| 丰满人妻一区二区三区免费视频| 欧美俄罗斯乱妇| 亚洲青涩在线不卡av| 丰满少妇在线播放bd| 午夜性无码专区| 欧美在线成人午夜网站| 69久久精品亚洲一区二区| 亚洲欧美综合精品成人网站| a国产一区二区免费入口| 亚洲中文字幕无线乱码va|