一種大規(guī)?;旌暇W(wǎng)格等值線的計(jì)算方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明實(shí)施例提供一種大規(guī)?;旌暇W(wǎng)格等值線的計(jì)算方法及系統(tǒng),其中方法可以包括:依次遍歷各個(gè)網(wǎng)格單元,根據(jù)各網(wǎng)格單元的各頂點(diǎn)的屬性值以及當(dāng)前等值線的值,確定各網(wǎng)格單元的各頂點(diǎn)的屬性值與當(dāng)前等值線的值的大小關(guān)系;對于各個(gè)網(wǎng)格單元,根據(jù)網(wǎng)格單元的類型以及網(wǎng)格單元的各頂點(diǎn)的屬性值與當(dāng)前等值線的值的大小關(guān)系,計(jì)算網(wǎng)格單元的等值線線段。本發(fā)明實(shí)施例提供的大規(guī)?;旌暇W(wǎng)格等值線的計(jì)算方法減小了進(jìn)行等值線計(jì)算的計(jì)算量,算法較為精簡,同時(shí)具有很好的適用性。
【專利說明】一種大規(guī)?;旌暇W(wǎng)格等值線的計(jì)算方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)格數(shù)據(jù)處理【技術(shù)領(lǐng)域】,更具體地說,涉及一種大規(guī)?;旌暇W(wǎng)格等值線的計(jì)算方法及系統(tǒng)。
【背景技術(shù)】
[0002]在地震層位建模和顯示等許多實(shí)際應(yīng)用中,需要對工程中涉及到的大量曲面上的等值線進(jìn)行正確的計(jì)算和顯示,以支持后續(xù)的分析、編輯等工作。網(wǎng)格是計(jì)算機(jī)中用于描述、構(gòu)建和顯示離散曲面最常用到的數(shù)學(xué)表示形式,網(wǎng)格的類型主要有三角形網(wǎng)格和四邊形網(wǎng)格,其中,三角形網(wǎng)格的特點(diǎn)是可以描述任意拓?fù)浣Y(jié)構(gòu)的曲面,而四邊形網(wǎng)格在進(jìn)行數(shù)據(jù)分析的時(shí)候能夠達(dá)到更高的精度。在實(shí)際應(yīng)用中,通常在需要高精度的地方采用四邊形網(wǎng)格進(jìn)行描述,而在區(qū)域與區(qū)域之間結(jié)構(gòu)比較復(fù)雜的地方采用三角形網(wǎng)格描述,因此,一個(gè)能夠處理三角形和四邊形混合網(wǎng)格的等值線的計(jì)算方式,對于地震層位建模和顯示等許多實(shí)際應(yīng)用具有重大意義。
[0003]目前,通常的網(wǎng)格等值線的計(jì)算策略是追蹤法,即從每個(gè)網(wǎng)格單元出發(fā),檢查當(dāng)前網(wǎng)格單元中是否有等值線,若有,則繼續(xù)搜索其鄰接網(wǎng)格單元上的等值線并將二者連接成一個(gè)整體的折線。由于現(xiàn)有網(wǎng)格等值線的計(jì)算方式需要通過網(wǎng)格間的連接關(guān)系追蹤等值線,計(jì)算量非常大,這使得現(xiàn)有網(wǎng)格等值線的計(jì)算方法較為復(fù)雜,對于涉及到數(shù)據(jù)量異常巨大的實(shí)際應(yīng)用時(shí),難以利用現(xiàn)代高性能計(jì)算機(jī)的高速并行化處理能力,無法適應(yīng)現(xiàn)代工程實(shí)際的需要;而且在地震層位解釋等實(shí)際應(yīng)用中,解釋出來的層位曲面由于有斷層的存在而經(jīng)常出現(xiàn)碎裂的情況,不是一個(gè)整體連續(xù)的曲面,對于此種情況,現(xiàn)有利用追蹤法計(jì)算網(wǎng)格等值線的方式將不再適用,現(xiàn)有的網(wǎng)格等值線的計(jì)算方式存在適用上的局限性。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明實(shí)施例提供一種大規(guī)?;旌暇W(wǎng)格等值線的計(jì)算方法及系統(tǒng),以解決現(xiàn)有網(wǎng)格等值線的計(jì)算方法計(jì)算量非常大,算法較為復(fù)雜,同時(shí)存在適用上的局限性的問題。
[0005]為實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例提供如下技術(shù)方案:
[0006]一種大規(guī)模混合網(wǎng)格等值線的計(jì)算方法,包括:
[0007]依次遍歷各個(gè)網(wǎng)格單元,根據(jù)各網(wǎng)格單元的各頂點(diǎn)的屬性值以及當(dāng)前等值線的值,確定各網(wǎng)格單元的各頂點(diǎn)的屬性值與當(dāng)前等值線的值的大小關(guān)系;
[0008]對于各個(gè)網(wǎng)格單元,根據(jù)網(wǎng)格單元的類型以及網(wǎng)格單元的各頂點(diǎn)的屬性值與當(dāng)前等值線的值的大小關(guān)系,計(jì)算網(wǎng)格單元的等值線線段。
[0009]其中,所述根據(jù)各網(wǎng)格單元的各頂點(diǎn)的屬性值以及當(dāng)前等值線的值,確定各網(wǎng)格單元的各頂點(diǎn)的屬性值與當(dāng)前等值線的值的大小關(guān)系包括:
[0010]根據(jù)各網(wǎng)格單元的各頂點(diǎn)的屬性值以及當(dāng)前等值線的值,為屬性值大于當(dāng)前等值線的值的頂點(diǎn)賦予第一值,為屬性值小于當(dāng)前等值線的值的頂點(diǎn)賦予第二值;同時(shí)在網(wǎng)格單元的頂點(diǎn)為退化頂點(diǎn)時(shí),為所述退化頂點(diǎn)賦予第二值。
[0011]其中,所述根據(jù)網(wǎng)格單元的類型以及網(wǎng)格單元的各頂點(diǎn)的屬性值與當(dāng)前等值線的值的大小關(guān)系,計(jì)算網(wǎng)格單元的等值線線段包括:
[0012]若網(wǎng)格單元的類型為三角形網(wǎng)格單元,并且所述三角形網(wǎng)格單元中的頂點(diǎn)屬性值與當(dāng)前等值線的值的大小關(guān)系不一致,則在頂點(diǎn)屬性值與當(dāng)前等值線的值的大小關(guān)系互異的兩條邊上,計(jì)算與當(dāng)前等值線的值相匹配的兩個(gè)插值點(diǎn),將連接所述兩個(gè)插值點(diǎn)的線段確定為所述三角形網(wǎng)格單元的等值線線段。
[0013]其中,所述根據(jù)網(wǎng)格單元的類型以及網(wǎng)格單元的各頂點(diǎn)的屬性值與當(dāng)前等值線的值的大小關(guān)系,計(jì)算網(wǎng)格單元的等值線線段包括:
[0014]若網(wǎng)格單元的類型為四邊形網(wǎng)格單元,確定所述四邊形網(wǎng)格單元中頂點(diǎn)屬性值與當(dāng)前等值線的值的大小關(guān)系互異的邊上,與當(dāng)前等值線的值相匹配的插值點(diǎn);
[0015]若所述插值點(diǎn)的個(gè)數(shù)為兩個(gè),將連接所述兩個(gè)插值點(diǎn)的線段確定為所述四邊形網(wǎng)格單元的等值線線段;
[0016]若所述插值點(diǎn)的個(gè)數(shù)為四個(gè),根據(jù)所述四邊形網(wǎng)格單元的中心點(diǎn)的屬性值,各頂點(diǎn)的屬性值與當(dāng)前等值線的值的大小關(guān)系,確定連接相鄰兩條邊上的插值點(diǎn)的兩個(gè)線段,將所述兩個(gè)線段確定為所述四邊形網(wǎng)格單元的等值線線段。
[0017]其中,所述根據(jù)所述四邊形網(wǎng)格單元的中心點(diǎn)的屬性值與當(dāng)前等值線的值的大小關(guān)系,確定連接相鄰兩條邊上的插值點(diǎn)的兩個(gè)線段包括:
[0018]設(shè)所述四邊形網(wǎng)格單元的四個(gè)頂點(diǎn)為a,b,c和d,Vl為ab邊上的插值點(diǎn),V2為be邊上的插值點(diǎn),V3為Cd邊上的插值點(diǎn),V4為ad邊上的插值點(diǎn),Pa為頂點(diǎn)a的屬性值,Pb為頂點(diǎn)b的屬性值,P。為頂點(diǎn)c的屬性值,Pd為頂點(diǎn)d的屬性值,當(dāng)前等值線的值為P.,V。為所述四邊形網(wǎng)格單元的中心點(diǎn),vc點(diǎn)的屬性值為Pv。;
[0019]若Pa > Pcur,Pb < Pcur, Pc > Pcur, Pd < Pcur,且 Pvc > Pcur,則確定連接 V1 和 V2 的線段,及連接V3和V4的線段;
[0020]若Pa > Pcur, Pb < Pcur, Pc > Pcur, Pd < Pcur,且 Pvc < Pcur,則確定連接 V1 和 V4 的線段,及連接V2和V3的線段。
[0021]其中,所述四邊形網(wǎng)格單元的中心點(diǎn)的屬性值的確定過程包括:
[0022]計(jì)算所述四邊形網(wǎng)格單元的四個(gè)頂點(diǎn)的局部x-y坐標(biāo),及計(jì)算所述四邊形網(wǎng)格單元的四個(gè)插值點(diǎn)的局部χ-y坐標(biāo);
[0023]分別以所述四邊形網(wǎng)格單元的四個(gè)頂點(diǎn)的各頂點(diǎn)屬性值,及所述四邊形網(wǎng)格單元的四個(gè)插值點(diǎn)的各插值點(diǎn)的屬性值作為P值,以所述四個(gè)頂點(diǎn)的局部x-y坐標(biāo)和所述四個(gè)插值點(diǎn)的局部x-y坐標(biāo)作為X值和y值,帶入二元二次方程P=k0+k1x+k2y+k3x2+k4xy+k5y2,得到包含8個(gè)方程,6個(gè)未知系數(shù)k0,k1; k2, k3, k4和k5的方程組;
[0024]計(jì)算所述方程組的最小二乘解,確定1?, k1; k2, k3, k4和k5的數(shù)值;
[0025]將所述四邊形網(wǎng)格單元的中心點(diǎn)的局部x-y坐標(biāo)帶入二元二次函數(shù)k0+k1x+k2y+k3x2+k4xy+k5y2,求解出所述中心點(diǎn)的屬性值。
[0026]其中,所述方法還包括:
[0027]將所計(jì)算的等值線線段的等值線數(shù)據(jù)存入到數(shù)據(jù)容器列表中,所述數(shù)據(jù)容器列表的一個(gè)容器存儲有同一等值線線段的等值線數(shù)據(jù);[0028]在進(jìn)行等值線顯示時(shí),調(diào)取所述容器存儲的同一等值線線段的等值線數(shù)據(jù),進(jìn)行畫線繪制,實(shí)現(xiàn)等值線的渲染。
[0029]本發(fā)明實(shí)施例還提供一種大規(guī)?;旌暇W(wǎng)格等值線的計(jì)算系統(tǒng),包括:
[0030]大小關(guān)系確定模塊,用于依次遍歷各個(gè)網(wǎng)格單元,根據(jù)各網(wǎng)格單元的各頂點(diǎn)的屬性值以及當(dāng)前等值線的值,確定各網(wǎng)格單元的各頂點(diǎn)的屬性值與當(dāng)前等值線的值的大小關(guān)系;
[0031]等值線線段計(jì)算模塊,用于對于各個(gè)網(wǎng)格單元,根據(jù)網(wǎng)格單元的類型以及網(wǎng)格單元的各頂點(diǎn)的屬性值與當(dāng)前等值線的值的大小關(guān)系,計(jì)算網(wǎng)格單元的等值線線段。
[0032]其中,所述等值線線段計(jì)算模塊包括:
[0033]三角形網(wǎng)格單元等值線計(jì)算單元,用于在網(wǎng)格單元的類型為三角形網(wǎng)格單元,且所述三角形網(wǎng)格單元中的頂點(diǎn)屬性值與當(dāng)前等值線的值的大小關(guān)系不一致時(shí),在頂點(diǎn)屬性值與當(dāng)前等值線的值的大小關(guān)系互異的兩條邊上,計(jì)算與當(dāng)前等值線的值相匹配的兩個(gè)插值點(diǎn),將連接所述兩個(gè)插值點(diǎn)的線段確定為所述三角形網(wǎng)格單元的等值線線段;
[0034]四邊形網(wǎng)格單元等值線計(jì)算單元,用于在網(wǎng)格單元的類型為四邊形網(wǎng)格單元時(shí),確定所述四邊形網(wǎng)格單元中頂點(diǎn)屬性值與當(dāng)前等值線的值的大小關(guān)系互異的邊上,與當(dāng)前等值線的值相匹配的插值點(diǎn);在所述插值點(diǎn)的個(gè)數(shù)為兩個(gè)時(shí),將連接所述兩個(gè)插值點(diǎn)的線段確定為所述四邊形網(wǎng)格單元的等值線線段;在所述插值點(diǎn)的個(gè)數(shù)為四個(gè)時(shí),根據(jù)所述四邊形網(wǎng)格單元的中心點(diǎn)的屬性值,各頂點(diǎn)的屬性值與當(dāng)前等值線的值的大小關(guān)系,確定連接相鄰兩條邊上的插值點(diǎn)的兩個(gè)線段,將所述兩個(gè)線段確定為所述四邊形網(wǎng)格單元的等值線線段。
[0035]其中,所述四邊形網(wǎng)格單元等值線計(jì)算單元包括:
[0036]中心點(diǎn)屬性值確定單元,用于計(jì)算所述四邊形網(wǎng)格單元的四個(gè)頂點(diǎn)的局部x-y坐標(biāo),及計(jì)算所述四邊形網(wǎng)格單元的四個(gè)插值點(diǎn)的局部χ-y坐標(biāo);分別以所述四邊形網(wǎng)格單元的四個(gè)頂點(diǎn)的各頂點(diǎn)屬性值,及所述四邊形網(wǎng)格單元的四個(gè)插值點(diǎn)的各插值點(diǎn)的屬性值作為P值,以所述四個(gè)頂點(diǎn)的局部χ-y坐標(biāo)和所述四個(gè)插值點(diǎn)的局部χ-y坐標(biāo)作為X值和y值,帶入二元二次方程Pzkd+lx+ly+ky+lxy+ly2,得到包含8個(gè)方程,6個(gè)未知系數(shù)1?, k1; k2, k3, k4和k5的方程組;計(jì)算所述方程組的最小二乘解,確定1?, k1; k2,k3,k4和k5的數(shù)值;將所述四邊形網(wǎng)格單元的中心點(diǎn)的局部x-y坐標(biāo)帶入二元二次函數(shù)k0+k1x+k2y+k3x2+k4xy+k5y2,求解出所述中心點(diǎn)的屬性值。
[0037]基于上述技術(shù)方案,本發(fā)明實(shí)施例提供的大規(guī)?;旌暇W(wǎng)格等值線的計(jì)算方法,可依次遍歷各個(gè)網(wǎng)格單元,對于各個(gè)網(wǎng)格單元,可根據(jù)網(wǎng)格單元的類型以及網(wǎng)格單元的各頂點(diǎn)的屬性值與當(dāng)前等值線的值的大小關(guān)系,計(jì)算網(wǎng)格單元的等值線線段;相比于現(xiàn)有從每個(gè)網(wǎng)格單元出發(fā),通過追蹤法計(jì)算網(wǎng)格單元的等值線的方式,本發(fā)明實(shí)施例所需要的計(jì)算量相對較小,算法較為簡單,同時(shí)對于不是一個(gè)整體連續(xù)的曲面的情況,不存在現(xiàn)有追蹤法適用性上的問題。本發(fā)明實(shí)施例提供的大規(guī)模混合網(wǎng)格等值線的計(jì)算方法減小了進(jìn)行等值線計(jì)算的計(jì)算量,算法較為精簡,同時(shí)具有很好的適用性。
【專利附圖】
【附圖說明】
[0038]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0039]圖1為本發(fā)明實(shí)施例提供的大規(guī)?;旌暇W(wǎng)格等值線的計(jì)算方法的流程圖;
[0040]圖2為三角形網(wǎng)格單元的等值線線段確定示意圖;
[0041]圖3為本發(fā)明實(shí)施例提供的四邊形網(wǎng)格單元情況下的等值線線段確定方法的流程圖;
[0042]圖4為確定二義性網(wǎng)格的等值線線段的示意圖;
[0043]圖5為本發(fā)明實(shí)施例提供的網(wǎng)格單元的中心點(diǎn)的屬性值的確定方法流程圖;
[0044]圖6為本發(fā)明實(shí)施例提供的大規(guī)?;旌暇W(wǎng)格等值線的計(jì)算方法的另一流程圖;
[0045]圖7為本發(fā)明實(shí)施例提供的大規(guī)?;旌暇W(wǎng)格等值線的計(jì)算系統(tǒng)的結(jié)構(gòu)框圖;
[0046]圖8為本發(fā)明實(shí)施例提供的大小關(guān)系確定模塊的結(jié)構(gòu)框圖;
[0047]圖9為本發(fā)明實(shí)施例提供的等值線線段計(jì)算模塊的結(jié)構(gòu)框圖;
[0048]圖10為本發(fā)明實(shí)施例提供的四邊形網(wǎng)格單元等值線計(jì)算單元的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0049]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0050]圖1為本發(fā)明實(shí)施例提供的大規(guī)?;旌暇W(wǎng)格等值線的計(jì)算方法的流程圖,參照圖1,該方法可以包括:
[0051]步驟S100、依次遍歷各個(gè)網(wǎng)格單元,根據(jù)各網(wǎng)格單元的各頂點(diǎn)的屬性值以及當(dāng)前等值線的值,確定各網(wǎng)格單元的各頂點(diǎn)的屬性值與當(dāng)前等值線的值的大小關(guān)系。
[0052]各網(wǎng)格單元的各頂點(diǎn)的屬性值與當(dāng)前等值線的值的大小關(guān)系主要為:頂點(diǎn)的屬性值大于當(dāng)前等值線的值,及頂點(diǎn)的屬性值小于當(dāng)前等值線的值;
[0053]為便于標(biāo)識各頂點(diǎn)的屬性值與當(dāng)前等值線的值的大小關(guān)系,本發(fā)明實(shí)施例可對各頂點(diǎn)進(jìn)行賦值以表示各頂點(diǎn)的屬性值與當(dāng)前等值線的值的大小關(guān)系,具體的,可根據(jù)各網(wǎng)格單元的各頂點(diǎn)的屬性值以及當(dāng)前等值線的值,為屬性值大于當(dāng)前等值線的值的頂點(diǎn)賦予第一值,為屬性值小于當(dāng)前等值線的值的頂點(diǎn)賦予第二值;同時(shí)在網(wǎng)格單元的頂點(diǎn)為退化頂點(diǎn)時(shí),為所述退化頂點(diǎn)賦予第二值。
[0054]在本發(fā)明實(shí)施例中第一值和第二值的具體數(shù)值本發(fā)明實(shí)施例并不做限制,但第一值和第二值優(yōu)選為互異的值,如第一值可采用正號( + ),第二值可采用負(fù)號(-);即本發(fā)明實(shí)施例可依次遍歷每一個(gè)網(wǎng)格單元,根據(jù)網(wǎng)格單元頂點(diǎn)的屬性值以及當(dāng)前等值線的值,為每一個(gè)頂點(diǎn)賦予一個(gè)正負(fù)標(biāo)志,用來標(biāo)識當(dāng)前頂點(diǎn)的屬性值與當(dāng)前要計(jì)算的等值線的值之間的大小關(guān)系,在頂點(diǎn)的屬性值大于當(dāng)前等值線的值時(shí),為頂點(diǎn)賦予正號標(biāo)志,在頂點(diǎn)的屬性值小于當(dāng)前等值線的值時(shí),為頂點(diǎn)賦予負(fù)號標(biāo)志。
[0055]需要說明的是,本發(fā)明實(shí)施例可在網(wǎng)格單元的頂點(diǎn)為退化頂點(diǎn)時(shí),為退化頂點(diǎn)賦予第二值,通過這種方式可以自然的處理退化頂點(diǎn)。[0056]步驟S110、對于各個(gè)網(wǎng)格單元,根據(jù)網(wǎng)格單元的類型以及網(wǎng)格單元的各頂點(diǎn)的屬性值與當(dāng)前等值線的值的大小關(guān)系,計(jì)算網(wǎng)格單元的等值線線段。
[0057]本發(fā)明實(shí)施例提供的大規(guī)?;旌暇W(wǎng)格等值線的計(jì)算方法,可依次遍歷各個(gè)網(wǎng)格單元,對于各個(gè)網(wǎng)格單元,可根據(jù)網(wǎng)格單元的類型以及網(wǎng)格單元的各頂點(diǎn)的屬性值與當(dāng)前等值線的值的大小關(guān)系,計(jì)算網(wǎng)格單元的等值線線段;相比于現(xiàn)有從每個(gè)網(wǎng)格單元出發(fā),通過追蹤法計(jì)算網(wǎng)格單元的等值線的方式,本發(fā)明實(shí)施例所需要的計(jì)算量相對較小,算法較為簡單,同時(shí)對于不是一個(gè)整體連續(xù)的曲面的情況,不存在現(xiàn)有追蹤法適用性上的問題。本發(fā)明實(shí)施例提供的大規(guī)?;旌暇W(wǎng)格等值線的計(jì)算方法減小了進(jìn)行等值線計(jì)算的計(jì)算量,算法較為精簡,同時(shí)具有很好的適用性。
[0058]目前,網(wǎng)格單元的類型主要為三角形網(wǎng)格單元和四邊形網(wǎng)格單元,下文將對三角形網(wǎng)格單元和四邊形網(wǎng)格單元情況下的具體網(wǎng)格等值線的計(jì)算方法進(jìn)行描述。
[0059]在網(wǎng)格單元的類型為三角形網(wǎng)格單元,并且三角形網(wǎng)格單元中的頂點(diǎn)屬性值與當(dāng)前等值線的值的大小關(guān)系不一致時(shí),可在頂點(diǎn)屬性值與當(dāng)前等值線的值的大小關(guān)系互異的兩條邊上,計(jì)算與當(dāng)前等值線的值相匹配的兩個(gè)插值點(diǎn),將連接所述兩個(gè)插值點(diǎn)的線段確定為所述三角形網(wǎng)格單元的等值線線段;
[0060]以在網(wǎng)格單元頂點(diǎn)的屬性值大于當(dāng)前等值線的值時(shí),為網(wǎng)格單元的頂點(diǎn)賦予正號,在網(wǎng)格單元頂點(diǎn)的屬性值小于當(dāng)前等值線的值時(shí),為網(wǎng)格單元頂點(diǎn)賦予負(fù)號為例;參照圖2,圖2為三角形網(wǎng)格單元的等值線線段確定示意圖,如果當(dāng)前網(wǎng)格單元是三角形,則網(wǎng)格頂點(diǎn)的屬性值相對于當(dāng)前等值線的值的關(guān)系有兩種情況:第一種,三個(gè)頂點(diǎn)均同號;第二種,有一個(gè)點(diǎn)具有一種符號而另外兩個(gè)點(diǎn)具有另外一種符號(例如,一個(gè)是正號網(wǎng)格點(diǎn),而另外兩個(gè)是負(fù)號網(wǎng)格點(diǎn))。對于第一種情況,則說明三角形網(wǎng)格單元的頂點(diǎn)全為正或全為負(fù),其表明當(dāng)前三角形網(wǎng)格單元內(nèi)不存在等值線線段,可繼續(xù)檢測下一個(gè)網(wǎng)格單元;對于第二種情況,必然有兩組鄰接點(diǎn)異號,并且這兩組鄰接點(diǎn)必然有一個(gè)公共點(diǎn),這三個(gè)點(diǎn)共同構(gòu)成兩個(gè)鄰接邊,每條邊上有一個(gè)與當(dāng)前等值線的值相匹配的插值點(diǎn),即共可得出兩個(gè)插值點(diǎn)。因此,只需將這兩條邊上的插值點(diǎn)連接起來,即可得到當(dāng)前三角形網(wǎng)格單元的等值線線段。
[0061]圖3示出了四邊形網(wǎng)格單元情況下的等值線線段確定方法的流程圖,參照圖3,四邊形網(wǎng)格單元情況下的等值線線段確定方法可以包括:
[0062]步驟S200、確定所述四邊形網(wǎng)格單元中頂點(diǎn)屬性值與當(dāng)前等值線的值的大小關(guān)系互異的邊上,與當(dāng)前等值線的值相匹配的插值點(diǎn);
[0063]步驟S210、若所述插值點(diǎn)的個(gè)數(shù)為兩個(gè),將連接所述兩個(gè)插值點(diǎn)的線段確定為所述四邊形網(wǎng)格單元的等值線線段;
[0064]步驟S220、若所述插值點(diǎn)的個(gè)數(shù)為四個(gè),根據(jù)所述四邊形網(wǎng)格單元的中心點(diǎn)的屬性值,各頂點(diǎn)的屬性值與當(dāng)前等值線的值的大小關(guān)系,確定連接相鄰兩條邊上的插值點(diǎn)的兩個(gè)線段,將所述兩個(gè)線段確定為所述四邊形網(wǎng)格單元的等值線線段。
[0065]以在網(wǎng)格單元頂點(diǎn)的屬性值大于當(dāng)前等值線的值時(shí),為網(wǎng)格單元的頂點(diǎn)賦予正號,在網(wǎng)格單元頂點(diǎn)的屬性值小于當(dāng)前等值線的值時(shí),為網(wǎng)格單元頂點(diǎn)賦予負(fù)號為例;在當(dāng)前網(wǎng)格單元為四邊形時(shí),網(wǎng)格頂點(diǎn)的屬性值相對于當(dāng)前等值線的值的關(guān)系有三種情況:第一種,一個(gè)頂點(diǎn)是一種符號而另外三個(gè)頂點(diǎn)是另外一種符號(例如,一個(gè)是正號網(wǎng)格點(diǎn),而另外三個(gè)是負(fù)號網(wǎng)格點(diǎn));第二種,兩個(gè)頂點(diǎn)是一種符號而另外兩個(gè)頂點(diǎn)是另外一種符號,并且同號點(diǎn)是相鄰的(例如,兩個(gè)正號點(diǎn)相鄰,兩個(gè)負(fù)號點(diǎn)相鄰,網(wǎng)格頂點(diǎn)的符號順序是:正正負(fù)負(fù));第三種,兩個(gè)頂點(diǎn)是一種符號而另外兩個(gè)頂點(diǎn)是另外一種符號,但同號頂點(diǎn)是間隔排列的(例如,兩個(gè)正號點(diǎn),兩個(gè)負(fù)號點(diǎn),但網(wǎng)格頂點(diǎn)的符號順序是:正負(fù)正負(fù));
[0066]對于上述第一種情況和第二種情況的等值線線段確定方式,與三角形網(wǎng)格單元的等值線線段確定方式類似;上述第一種情況和第二種情況下,都是在每個(gè)具有異號頂點(diǎn)的網(wǎng)格邊上通過線性插值計(jì)算等值線的點(diǎn),即計(jì)算出頂點(diǎn)屬性值與當(dāng)前等值線的值的大小關(guān)系互異的邊上,與當(dāng)前等值線的值相匹配的插值點(diǎn),計(jì)算出的插值點(diǎn)的個(gè)數(shù)共有兩個(gè),直接將計(jì)算出來的兩個(gè)插值點(diǎn)連接起來即是當(dāng)前四邊形網(wǎng)格單元中的等值線;
[0067]對于第三種情況可以認(rèn)為是一個(gè)二義性網(wǎng)格,為便于理解本發(fā)明實(shí)施例處理二義性網(wǎng)格單元的優(yōu)異性,下面對現(xiàn)有采用等值線追蹤算法處理二義性網(wǎng)格的處理方式及所存在的問題進(jìn)行介紹:所謂二義性是一個(gè)四邊形網(wǎng)格的四條邊上均存在等值點(diǎn)的情況,這時(shí),有兩種可能的連接方式。目前,處理這個(gè)問題有兩種策略:其一是通過雙線性或雙三次插值來估算位于網(wǎng)格中心位置的點(diǎn)的屬性值,并根據(jù)此點(diǎn)的值與當(dāng)前等值線的值之間的關(guān)系來選擇連接方式:若中心點(diǎn)的值大于當(dāng)前值,則將中心點(diǎn)與大于當(dāng)前等值線的值的兩個(gè)頂點(diǎn)劃分到一個(gè)區(qū)域,否則,將中心點(diǎn) 與小于當(dāng)前等值線的值的兩個(gè)頂點(diǎn)劃分到一個(gè)區(qū)域;其二是簡單的對所有具有二義性的網(wǎng)格統(tǒng)一采用一種連接方式。第一種策略的插值方式不夠合理,實(shí)際上,出現(xiàn)四個(gè)等值點(diǎn)說明當(dāng)前網(wǎng)格單元是原始曲面的鞍點(diǎn)附近區(qū)域,如果采用雙線性插值,難以刻劃鞍形曲面,導(dǎo)致插值不準(zhǔn)確,若采用雙三次插值方式,則由于所需要的插值條件較多而當(dāng)前網(wǎng)格單元只有8個(gè)點(diǎn)而無法獲得足夠的插值條件,必須借助于當(dāng)前單元的臨近單元增加插值條件,實(shí)現(xiàn)困難。第二種策略沒有考慮網(wǎng)格的具體情況,極有可能產(chǎn)生錯(cuò)誤的等值線。
[0068]本發(fā)明實(shí)施例提供的計(jì)算二義性網(wǎng)格的等值線方式為:根據(jù)所述四邊形網(wǎng)格單元的中心點(diǎn)的屬性值,各頂點(diǎn)的屬性值與當(dāng)前等值線的值的大小關(guān)系,確定連接相鄰兩條邊上的插值點(diǎn)的兩個(gè)線段,將所述兩個(gè)線段確定為所述四邊形網(wǎng)格單元的等值線線段。參照圖4,圖4為確定二義性網(wǎng)格的等值線線段的示意圖,可設(shè)四邊形網(wǎng)格單元的四個(gè)頂點(diǎn)為a,b,c和(!,V1為ab邊上的插值點(diǎn),V2為be邊上的插值點(diǎn),V3為cd邊上的插值點(diǎn),V4為ad邊上的插值點(diǎn);則由這四個(gè)插值點(diǎn)共可能有兩種構(gòu)建等值線線段的方式,即①V1和V2相連,V3和V4相連,②V1和V4相連,V2和V3相連;如何選取構(gòu)建等值線線段的方式,本發(fā)明實(shí)施例可采用下述判斷方式:設(shè)Pa為頂點(diǎn)a的屬性值,Pb為頂點(diǎn)b的屬性值,P。為頂點(diǎn)c的屬性值,Pd為頂點(diǎn)d的屬性值,當(dāng)前等值線的值為P.,Vc為所述四邊形網(wǎng)格單元的中心點(diǎn),V。點(diǎn)的屬性值為 pv。;若 Pa > Pcur, Pb < Pcur, P。> Pcur, Pd < Pcur,且 pv。> Pcur,則采用第一種構(gòu)建等值線線段的方式,即確定連接V1和V2的線段,及連接V3和V4的線段為等值線線段;若Pa >Pcur, Pb < Pcurj P。> Pcurj Pd < Pcurj且Pve < Peur,則采用第二種構(gòu)建等值線線段的方式,即確定連接V1和V4的線段,及連接V2和V3的線段為等值線線段。
[0069]在上述計(jì)算過程中,網(wǎng)格單元的中心點(diǎn)的屬性值Pv。是未知的,因此本發(fā)明實(shí)施例還提供有如下的網(wǎng)格單元的中心點(diǎn)的屬性值的確定方式,參照圖5,圖5為本發(fā)明實(shí)施例提供的網(wǎng)格單元的中心點(diǎn)的屬性值的確定方法流程圖,該方法可以包括:
[0070]步驟S300、計(jì)算所述四邊形網(wǎng)格單元的四個(gè)頂點(diǎn)的局部x-y坐標(biāo),及計(jì)算所述四邊形網(wǎng)格單元的四個(gè)插值點(diǎn)的局部χ-y坐標(biāo);
[0071]設(shè)所述四邊形網(wǎng)格單元的四個(gè)頂點(diǎn)為a,b,c和d ;則本發(fā)明實(shí)施例可以a點(diǎn)為坐標(biāo)原點(diǎn)(0,0),以ab為X軸正方向,以x=ab/| ab |為x軸的單位正向量;從而b點(diǎn)的局部x-y坐標(biāo)為b (I I ab I I , O);以ab和ad的規(guī)范向量積n= (ab X ad) / ab X ad |為χ-y平面的單位法向量,計(jì)算y軸的單位向量為y=(nXab)/| η X ab ;計(jì)算d點(diǎn)的局部坐標(biāo)為d (ad.χ,ad.y);計(jì)算c點(diǎn)在x-y平面上的投影,c’ =a+ac_(ac.n)n,則c’點(diǎn)的局部χ-y坐標(biāo)為C,(ac,.x,ac,.y);
[0072]設(shè)V1為ab邊上的插值點(diǎn),V2為be邊上的插值點(diǎn),V3為cd邊上的插值點(diǎn),V4為ad邊上的插值點(diǎn);則Vp V2兩點(diǎn)可直接計(jì)算其局部x-y坐標(biāo)=V1= Gv1.x, Bv1.y),v2= (av2.x, av2.y), v3、V4兩點(diǎn)需先將其投影到局部χ-y坐標(biāo)平面上得v3’、v4’兩點(diǎn),其中 V3,=a+av3- (av3.η) η, V4,=a+av4- (av4.η) n,從而 V3,,V4,的局部 χ-y 坐標(biāo)分別為:v3,(av3,.x, av3,.y), v4’(av4,.x, av4,.y)。
[0073]步驟S310、分別以所述四邊形網(wǎng)格單元的四個(gè)頂點(diǎn)的各頂點(diǎn)屬性值,及所述四邊形網(wǎng)格單元的四個(gè)插值點(diǎn)的各插值點(diǎn)的屬性值作為P值,以所述四個(gè)頂點(diǎn)的局部x-y坐標(biāo)和所述四個(gè)插值點(diǎn)的局部x-y坐標(biāo)作為X值和y值,帶入二元二次方程Pzkd+k1x+k2y+k3x2+k4xy+k5y2,得到包含8個(gè)方程,6個(gè)未知系數(shù)1?, k1; k2, k3, k4和k5的方程組;
[0074]可選的,本發(fā)明實(shí)施例可四個(gè)網(wǎng)格頂點(diǎn)和四個(gè)插值點(diǎn)的屬性值構(gòu)建最小二乘擬合方程組,設(shè)Pa為頂點(diǎn)a的屬性值,Pb為頂點(diǎn)b的屬性值,P。為頂點(diǎn)c的屬性值,Pd為頂點(diǎn)d的屬性值,P1為插值點(diǎn)V1的屬性值,P2為插值點(diǎn)V2的屬性值,P3為插值點(diǎn)V3的屬性值,P4為插值點(diǎn)V4的屬性值;可將pa,Pb,P。,pd,P1, P2, P3和P4這8個(gè)屬性值作為函數(shù)值,將四個(gè)網(wǎng)格頂點(diǎn)和四個(gè)插值點(diǎn)的局部x-y坐標(biāo)作為X和I值帶入到二元二次方程Pzkd+lk1x+k2y+ky+k3xy+k5y2,得到一個(gè)包含8個(gè)方程、6個(gè)未知的系數(shù)(1?-k5)的方程組,此方程組是一個(gè)超定方程組。
[0075]步驟S320、計(jì)算所述方程組的最小二乘解,確定1?, k1; k2, k3, k4和k5的數(shù)值;
[0076]在得到Iv k1; k2,k3,k4和k5的數(shù)值后,則可確定二元二次函數(shù)k0+k1x+k2y+k3x2+k4xy+k5y2 ;
[0077]步驟S330、將所述四邊形網(wǎng)格單元的中心點(diǎn)的局部x-y坐標(biāo)帶入二元二次函數(shù)k0+k1x+k2y+k3x2+k4xy+k5y2,求解出所述中心點(diǎn)的屬性值。
[0078]可選的,將網(wǎng)格中線點(diǎn)V。投影到局部x-y坐標(biāo)平面上,得V?!?=a+avc-(avc.η)η,從而中心點(diǎn)的局部x-y坐標(biāo)為V?!?av?!?x, av?!?y),將此坐標(biāo)帶入到二元二次函數(shù)k0+k1x+k2y+k3x2+k4xy+k5y2中即可得中心點(diǎn)的屬性值Pv。。
[0079]本發(fā)明實(shí)施例采用二元二次函數(shù)以最小二乘的方式擬合當(dāng)前網(wǎng)格單元內(nèi)的數(shù)據(jù)點(diǎn),由于二元二次函數(shù)有6個(gè)待定系數(shù),而當(dāng)前網(wǎng)格單元共可提供8個(gè)點(diǎn)(四個(gè)網(wǎng)格頂點(diǎn),四個(gè)插值點(diǎn)),因此,已知條件足夠進(jìn)行最小二乘擬合,另一方面,二元二次函數(shù)可以很好的描述鞍面的形狀,因此,采用二元二次最小二乘擬合是確定中心點(diǎn)最合理的方式。
[0080]可選的,在計(jì)算出網(wǎng)格單元的等值線線段后,本發(fā)明實(shí)施例可將所計(jì)算的等值線線段的等值線數(shù)據(jù)存入到數(shù)據(jù)容器列表中,所述數(shù)據(jù)容器列表的一個(gè)容器存儲有同一等值線線段的等值線數(shù)據(jù);[0081]即本發(fā)明實(shí)施例無需對每個(gè)網(wǎng)格單元中計(jì)算出的等值線進(jìn)行排序和連接,而是直接將隸屬于同一個(gè)值的等值線的數(shù)據(jù)存入到一個(gè)容器類型的數(shù)據(jù)結(jié)構(gòu)當(dāng)中;可選的,可將所得到的全部等值線的數(shù)據(jù)存貯在一個(gè)容器列表中,列表的每一個(gè)元素是一個(gè)容器,其中存儲具有當(dāng)前值的等值線數(shù)據(jù)。
[0082]可選的,在進(jìn)行等值線顯示時(shí),調(diào)取所述容器存儲的同一等值線線段的等值線數(shù)據(jù),進(jìn)行畫線繪制,實(shí)現(xiàn)等值線的渲染;
[0083]可選的,可在顯示等值線的時(shí)候,從這些容器中取出等值線數(shù)據(jù),然后使用OpenGL的畫線功能進(jìn)行繪制,實(shí)現(xiàn)等值線的快速渲染。
[0084]下面對本發(fā)明實(shí)施例提供的一種較為優(yōu)選的大規(guī)?;旌暇W(wǎng)格等值線的計(jì)算方法進(jìn)行描述,圖6為本發(fā)明實(shí)施例提供的大規(guī)?;旌暇W(wǎng)格等值線的計(jì)算方法的另一流程圖,參照圖6,該方法可以包括:
[0085]步驟S400、根據(jù)網(wǎng)格單元的各頂點(diǎn)的屬性值以及當(dāng)前等值線的值,為網(wǎng)格單元中的屬性值大于當(dāng)前等值線的值的頂點(diǎn)賦予正號,為網(wǎng)格單元中的屬性值小于當(dāng)前等值線的值的頂點(diǎn)賦予負(fù)號,為網(wǎng)格單元中的退化頂點(diǎn)賦予負(fù)號;
[0086]步驟S410、判斷網(wǎng)格單元的類型,若網(wǎng)絡(luò)單元為三角形網(wǎng)格,執(zhí)行步驟S420,若網(wǎng)格單元為四邊形網(wǎng)格,執(zhí)行步驟S430 ;
[0087]步驟S420、若三角形網(wǎng)格單元中全部頂點(diǎn)的正負(fù)標(biāo)志都是同號,則繼續(xù)檢測下一個(gè)網(wǎng)格單元;若三角形網(wǎng)格單元中的頂點(diǎn)的正負(fù)標(biāo)志不一致,則在頂點(diǎn)正負(fù)標(biāo)志互異的邊上計(jì)算與當(dāng)前等值線的值相匹配的兩個(gè)插值點(diǎn),將連接所述兩個(gè)插值點(diǎn)的線段確定為所述三角形網(wǎng)格單元的等值線線段;
[0088]步驟S430、若四邊形網(wǎng)格單元中全部頂點(diǎn)的正負(fù)標(biāo)志都是同號,則繼續(xù)檢測下一個(gè)網(wǎng)格單元,否則,執(zhí)行步驟S440 ;
[0089]步驟S440、依次檢查當(dāng)前四邊形網(wǎng)格單元的相鄰的兩個(gè)頂點(diǎn),若所檢查的兩個(gè)頂點(diǎn)的正負(fù)標(biāo)志均為正或均為負(fù),則檢查下一對相鄰的兩個(gè)頂點(diǎn),若所檢查的兩個(gè)頂點(diǎn)的正負(fù)標(biāo)志互異,計(jì)算兩個(gè)頂點(diǎn)的正負(fù)標(biāo)志互異的邊上與當(dāng)前等值線的值相匹配的插值點(diǎn);
[0090]步驟S450、若所計(jì)算的插值點(diǎn)的個(gè)數(shù)為兩個(gè),將連接所述兩個(gè)插值點(diǎn)的線段確定為所述四邊形網(wǎng)格單元的等值線線段;
[0091]步驟S460、若所計(jì)算的插值點(diǎn)的個(gè)數(shù)為四個(gè),則根據(jù)所述四邊形網(wǎng)格單元的中心點(diǎn)的屬性值,各頂點(diǎn)的屬性值與當(dāng)前等值線的值的大小關(guān)系,確定連接相鄰兩條邊上的插值點(diǎn)的兩個(gè)線段,將所述兩個(gè)線段確定為所述四邊形網(wǎng)格單元的等值線線段。
[0092]步驟S470、在計(jì)算出網(wǎng)格單元的等值線線段后,將所計(jì)算的等值線線段的等值線數(shù)據(jù)存入到數(shù)據(jù)容器列表中,所述數(shù)據(jù)容器列表的一個(gè)容器存儲有同一等值線線段的等值線數(shù)據(jù);
[0093]步驟S480、在進(jìn)行等值線顯示時(shí),調(diào)取所述容器存儲的同一等值線線段的等值線數(shù)據(jù),進(jìn)行畫線繪制,實(shí)現(xiàn)等值線的渲染。
[0094]本發(fā)明實(shí)施例提供的大規(guī)?;旌暇W(wǎng)格等值線的計(jì)算方法,減小了進(jìn)行等值線計(jì)算的計(jì)算量,算法較為精簡,具有很好的適用性;同時(shí)采用二元二次函數(shù)可以很好的描述鞍面的形狀,準(zhǔn)確的對二義性網(wǎng)格單元進(jìn)行處理;其次,現(xiàn)有等值線算法對退化頂點(diǎn)的處理并不準(zhǔn)確,通常的退化情況(即等值線恰好穿過某個(gè)網(wǎng)格頂點(diǎn))的處理策略是對退化點(diǎn)的屬性值加一個(gè)小的擾動(dòng)使其不再退化,這相當(dāng)于改動(dòng)了原始數(shù)據(jù),影響計(jì)算結(jié)果的準(zhǔn)確性;而本發(fā)明實(shí)施例對于網(wǎng)格單元的頂點(diǎn)為退化頂點(diǎn)的處理情況,與屬性值小于當(dāng)前等值線的值的頂點(diǎn)的處理情況一致,可為退化頂點(diǎn)賦予第二值,這使得當(dāng)網(wǎng)格頂點(diǎn)退化時(shí),所計(jì)算出來的插值點(diǎn)恰好是退化的網(wǎng)格頂點(diǎn),因此,無需特殊處理則可以自然地對等值線進(jìn)行顯示。
[0095]下面對本發(fā)明實(shí)施例提供的大規(guī)?;旌暇W(wǎng)格等值線的計(jì)算系統(tǒng)進(jìn)行描述,下文描述的大規(guī)模混合網(wǎng)格等值線的計(jì)算系統(tǒng)與上文描述的大規(guī)?;旌暇W(wǎng)格等值線的計(jì)算方法對應(yīng),兩者可相互參照。
[0096]圖7為本發(fā)明實(shí)施例提供的大規(guī)?;旌暇W(wǎng)格等值線的計(jì)算系統(tǒng)的結(jié)構(gòu)框圖,參照圖7,該系統(tǒng)可以包括:
[0097]大小關(guān)系確定模塊100,用于依次遍歷各個(gè)網(wǎng)格單元,根據(jù)各網(wǎng)格單元的各頂點(diǎn)的屬性值以及當(dāng)前等值線的值,確定各網(wǎng)格單元的各頂點(diǎn)的屬性值與當(dāng)前等值線的值的大小關(guān)系;
[0098]等值線線段計(jì)算模塊200,用于對于各個(gè)網(wǎng)格單元,根據(jù)網(wǎng)格單元的類型以及網(wǎng)格單元的各頂點(diǎn)的屬性值與當(dāng)前等值線的值的大小關(guān)系,計(jì)算網(wǎng)格單元的等值線線段。
[0099]圖8為本發(fā)明實(shí)施例提供的大小關(guān)系確定模塊100的結(jié)構(gòu)框圖,參照圖8,大小關(guān)系確定模塊100可以包括:
[0100]第一賦值模塊110,用于根據(jù)各網(wǎng)格單元的各頂點(diǎn)的屬性值以及當(dāng)前等值線的值,為屬性值大于當(dāng)前等值線的值的頂點(diǎn)賦予第一值;
[0101]第二賦值模塊120,用于為屬性值小于當(dāng)前等值線的值的頂點(diǎn)賦予第二值;同時(shí)在網(wǎng)格單元的頂點(diǎn)為退化頂點(diǎn)時(shí),為所述退化頂點(diǎn)賦予第二值;
[0102]第一值和第二值可選為互異的值,如第一值可采用正號( + ),第二值可采用負(fù)號(-),即第一賦值模塊110可在頂點(diǎn)的屬性值大于當(dāng)前等值線的值時(shí),為頂點(diǎn)賦予正號標(biāo)志;第二賦值模塊120可在頂點(diǎn)的屬性值小于當(dāng)前等值線的值時(shí),及在網(wǎng)格單元的頂點(diǎn)為退化頂點(diǎn)時(shí),為頂點(diǎn)賦予負(fù)號標(biāo)志。
[0103]圖9為本發(fā)明實(shí)施例提供的等值線線段計(jì)算模塊200的結(jié)構(gòu)框圖,參照圖9,等值線線段計(jì)算模塊200可以包括:
[0104]三角形網(wǎng)格單元等值線計(jì)算單元210,用于在網(wǎng)格單元的類型為三角形網(wǎng)格單元,且所述三角形網(wǎng)格單元中的頂點(diǎn)屬性值與當(dāng)前等值線的值的大小關(guān)系不一致時(shí),在頂點(diǎn)屬性值與當(dāng)前等值線的值的大小關(guān)系互異的兩條邊上,計(jì)算與當(dāng)前等值線的值相匹配的兩個(gè)插值點(diǎn),將連接所述兩個(gè)插值點(diǎn)的線段確定為所述三角形網(wǎng)格單元的等值線線段;
[0105]四邊形網(wǎng)格單元等值線計(jì)算單元220,用于在網(wǎng)格單元的類型為四邊形網(wǎng)格單元時(shí),確定所述四邊形網(wǎng)格單元中頂點(diǎn)屬性值與當(dāng)前等值線的值的大小關(guān)系互異的邊上,與當(dāng)前等值線的值相匹配的插值點(diǎn);在所述插值點(diǎn)的個(gè)數(shù)為兩個(gè)時(shí),將連接所述兩個(gè)插值點(diǎn)的線段確定為所述四邊形網(wǎng)格單元的等值線線段;在所述插值點(diǎn)的個(gè)數(shù)為四個(gè)時(shí),根據(jù)所述四邊形網(wǎng)格單元的中心點(diǎn)的屬性值,各頂點(diǎn)的屬性值與當(dāng)前等值線的值的大小關(guān)系,確定連接相鄰兩條邊上的插值點(diǎn)的兩個(gè)線段,將所述兩個(gè)線段確定為所述四邊形網(wǎng)格單元的等值線線段。
[0106]圖10為本發(fā)明實(shí)施例提供的四邊形網(wǎng)格單元等值線計(jì)算單元220的結(jié)構(gòu)框圖,參照圖10,四邊形網(wǎng)格單元等值線計(jì)算單元220可以包括:[0107]中心點(diǎn)屬性值確定單元221,用于計(jì)算所述四邊形網(wǎng)格單元的四個(gè)頂點(diǎn)的局部χ-y坐標(biāo),及計(jì)算所述四邊形網(wǎng)格單元的四個(gè)插值點(diǎn)的局部χ-y坐標(biāo);分別以所述四邊形網(wǎng)格單元的四個(gè)頂點(diǎn)的各頂點(diǎn)屬性值,及所述四邊形網(wǎng)格單元的四個(gè)插值點(diǎn)的各插值點(diǎn)的屬性值作為P值,以所述四個(gè)頂點(diǎn)的局部χ-y坐標(biāo)和所述四個(gè)插值點(diǎn)的局部χ-y坐標(biāo)作為X值和y值,帶入二元二次方程Pzkd+lx+ly+lxS+lxy+ly2,得到包含8個(gè)方程,6個(gè)未知系數(shù)1?, k1; k2, k3, k4和k5的方程組;計(jì)算所述方程組的最小二乘解,確定1?, k1; k2,k3,k4和k5的數(shù)值;將所述四邊形網(wǎng)格單元的中心點(diǎn)的局部x-y坐標(biāo)帶入二元二次函數(shù)k0+k1x+k2y+k3x2+k4xy+k5y2,求解出所述中心點(diǎn)的屬性值。
[0108]本發(fā)明實(shí)施例提供的大規(guī)?;旌暇W(wǎng)格等值線的計(jì)算方法,減小了進(jìn)行等值線計(jì)算的計(jì)算量,算法較為精簡,具有很好的適用性;同時(shí)采用二元二次函數(shù)可以很好的描述鞍面的形狀,準(zhǔn)確的對二義性網(wǎng)格單元進(jìn)行處理;其次,可使得網(wǎng)格頂點(diǎn)退化時(shí),所計(jì)算出來的插值點(diǎn)恰好是退化的網(wǎng)格頂點(diǎn),無需特殊處理則可以自然對等值線進(jìn)行顯示。
[0109]本說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見即可。對于實(shí)施例公開的裝置而言,由于其與實(shí)施例公開的方法相對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。
[0110]專業(yè)人員還可以進(jìn)一步意識到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
[0111]結(jié)合本文中所公開的實(shí)施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實(shí)施。軟件模塊可以置于隨機(jī)存儲器(RAM)、內(nèi)存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動(dòng)磁盤、CD-ROM、或【技術(shù)領(lǐng)域】內(nèi)所公知的任意其它形式的存儲介 質(zhì)中。
[0112]對所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實(shí)施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。
【權(quán)利要求】
1.一種大規(guī)模混合網(wǎng)格等值線的計(jì)算方法,其特征在于,包括: 依次遍歷各個(gè)網(wǎng)格單元,根據(jù)各網(wǎng)格單元的各頂點(diǎn)的屬性值以及當(dāng)前等值線的值,確定各網(wǎng)格單元的各頂點(diǎn)的屬性值與當(dāng)前等值線的值的大小關(guān)系; 對于各個(gè)網(wǎng)格單元,根據(jù)網(wǎng)格單元的類型以及網(wǎng)格單元的各頂點(diǎn)的屬性值與當(dāng)前等值線的值的大小關(guān)系,計(jì)算網(wǎng)格單元的等值線線段。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)各網(wǎng)格單元的各頂點(diǎn)的屬性值以及當(dāng)前等值線的值,確定各網(wǎng)格單元的各頂點(diǎn)的屬性值與當(dāng)前等值線的值的大小關(guān)系包括: 根據(jù)各網(wǎng)格單元的各頂點(diǎn)的屬性值以及當(dāng)前等值線的值,為屬性值大于當(dāng)前等值線的值的頂點(diǎn)賦予第一值,為屬性值小于當(dāng)前等值線的值的頂點(diǎn)賦予第二值;同時(shí)在網(wǎng)格單元的頂點(diǎn)為退化頂點(diǎn)時(shí),為所述退化頂點(diǎn)賦予第二值。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述根據(jù)網(wǎng)格單元的類型以及網(wǎng)格單元的各頂點(diǎn)的屬性值與當(dāng)前等值線的值的大小關(guān)系,計(jì)算網(wǎng)格單元的等值線線段包括: 若網(wǎng)格單元的類型為三角形網(wǎng)格單元,并且所述三角形網(wǎng)格單元中的頂點(diǎn)屬性值與當(dāng)前等值線的值的大小關(guān)系不一致,則在頂點(diǎn)屬性值與當(dāng)前等值線的值的大小關(guān)系互異的兩條邊上,計(jì)算與當(dāng)前等值線的值相匹配的兩個(gè)插值點(diǎn),將連接所述兩個(gè)插值點(diǎn)的線段確定為所述三角形網(wǎng)格單元的等值線線段。
4.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述根據(jù)網(wǎng)格單元的類型以及網(wǎng)格單元的各頂點(diǎn)的屬性值與當(dāng)前等值線的值的大小關(guān)系,計(jì)算網(wǎng)格單元的等值線線段包括: 若網(wǎng)格單元的類型為四邊形網(wǎng)格單元,確定所述四邊形網(wǎng)格單元中頂點(diǎn)屬性值與當(dāng)前等值線的值的大小關(guān)系互異的邊上,與當(dāng)前等值線的值相匹配的插值點(diǎn); 若所述插值點(diǎn)的個(gè)數(shù)為兩個(gè),將連接所述兩個(gè)插值點(diǎn)的線段確定為所述四邊形網(wǎng)格單元的等值線線段; 若所述插值點(diǎn)的個(gè)數(shù)為四個(gè),根據(jù)所述四邊形網(wǎng)格單元的中心點(diǎn)的屬性值,各頂點(diǎn)的屬性值與當(dāng)前等值線的值的大小關(guān)系,確定連接相鄰兩條邊上的插值點(diǎn)的兩個(gè)線段,將所述兩個(gè)線段確定為所述四邊形網(wǎng)格單元的等值線線段。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)所述四邊形網(wǎng)格單元的中心點(diǎn)的屬性值與當(dāng)前等值線的值的大小關(guān)系,確定連接相鄰兩條邊上的插值點(diǎn)的兩個(gè)線段包括: 設(shè)所述四邊形網(wǎng)格單元的四個(gè)頂點(diǎn)為a,b,c和d,V1為ab邊上的插值點(diǎn),V2為be邊上的插值點(diǎn),V3為Cd邊上的插值點(diǎn),V4為ad邊上的插值點(diǎn),Pa為頂點(diǎn)a的屬性值,Pb為頂點(diǎn)b的屬性值,P。為頂點(diǎn)c的屬性值,Pd為頂點(diǎn)d的屬性值,當(dāng)前等值線的值為P.,V。為所述四邊形網(wǎng)格單元的中心點(diǎn),Vc點(diǎn)的屬性值為Pv。;
若 Pa > PcurjPb < PcurjPc > Pcur-d < P。?,且 Pv。> Peur,則確定連接 V1 和 V2 的線段,及連接V3和v4的線段; 若 Pa > P.,Pb < P.,Pc > P.,Pd < Pcur,且 Pvc < Pcur,則確定連接 V1 和 V4 的線段,及連接V2和V3的線段。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述四邊形網(wǎng)格單元的中心點(diǎn)的屬性值的確定過程包括:計(jì)算所述四邊形網(wǎng)格單元的四個(gè)頂點(diǎn)的局部χ-y坐標(biāo),及計(jì)算所述四邊形網(wǎng)格單元的四個(gè)插值點(diǎn)的局部χ-y坐標(biāo); 分別以所述四邊形網(wǎng)格單元的四個(gè)頂點(diǎn)的各頂點(diǎn)屬性值,及所述四邊形網(wǎng)格單元的四個(gè)插值點(diǎn)的各插值點(diǎn)的屬性值作為P值,以所述四個(gè)頂點(diǎn)的局部χ-y坐標(biāo)和所述四個(gè)插值點(diǎn)的局部x-y坐標(biāo)作為X值和I值,帶入二元二次方程Pzkd+l-x+l-y+ky+l-xy+l-y2,得到包含8個(gè)方程,6個(gè)未知系數(shù)h,k1; k2,k3,k4和k5的方程組; 計(jì)算所述方程組的最小二乘解,確定1?, k1; k2, k3, k4和k5的數(shù)值; 將所述四邊形網(wǎng)格單元的中心點(diǎn)的局部x-y坐標(biāo)帶入二元二次函數(shù)k0+k1x+k2y+k3x2+k4xy+k5y2,求解出所述中心點(diǎn)的屬性值。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 將所計(jì)算的等值線線段的等值線數(shù)據(jù)存入到數(shù)據(jù)容器列表中,所述數(shù)據(jù)容器列表的一個(gè)容器存儲有同一等值線線段的等值線數(shù)據(jù); 在進(jìn)行等值線顯示時(shí),調(diào)取所述容器存儲的同一等值線線段的等值線數(shù)據(jù),進(jìn)行畫線繪制,實(shí)現(xiàn)等值線的渲染。
8.一種大規(guī)?;旌暇W(wǎng)格等值線的計(jì)算系統(tǒng),其特征在于,包括: 大小關(guān)系確定模塊,用于依次遍歷各個(gè)網(wǎng)格單元,根據(jù)各網(wǎng)格單元的各頂點(diǎn)的屬性值以及當(dāng)前等值線的值,確定各網(wǎng)格單元的各頂點(diǎn)的屬性值與當(dāng)前等值線的值的大小關(guān)系; 等值線線段計(jì)算模塊,用于對于各個(gè)網(wǎng)格單元,根據(jù)網(wǎng)格單元的類型以及網(wǎng)格單元的各頂點(diǎn)的屬性值與當(dāng)前等值線的值的大小關(guān)系,計(jì)算網(wǎng)格單元的等值線線段。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述等值線線段計(jì)算模塊包括: 三角形網(wǎng)格單元等值線計(jì)算單元,用于在網(wǎng)格單元的類型為三角形網(wǎng)格單元,且所述三角形網(wǎng)格單元中的頂點(diǎn)屬性值與當(dāng)前等值線的值的大小關(guān)系不一致時(shí),在頂點(diǎn)屬性值與當(dāng)前等值線的值的大小關(guān)系互異的兩條邊上,計(jì)算與當(dāng)前等值線的值相匹配的兩個(gè)插值點(diǎn),將連接所述兩個(gè)插值點(diǎn)的線段確定為所述三角形網(wǎng)格單元的等值線線段; 四邊形網(wǎng)格單元等值線計(jì)算單元,用于在網(wǎng)格單元的類型為四邊形網(wǎng)格單元時(shí),確定所述四邊形網(wǎng)格單元中頂點(diǎn)屬性值與當(dāng)前等值線的值的大小關(guān)系互異的邊上,與當(dāng)前等值線的值相匹配的插值點(diǎn);在所述插值點(diǎn)的個(gè)數(shù)為兩個(gè)時(shí),將連接所述兩個(gè)插值點(diǎn)的線段確定為所述四邊形網(wǎng)格單元的等值線線段;在所述插值點(diǎn)的個(gè)數(shù)為四個(gè)時(shí),根據(jù)所述四邊形網(wǎng)格單元的中心點(diǎn)的屬性值,各頂點(diǎn)的屬性值與當(dāng)前等值線的值的大小關(guān)系,確定連接相鄰兩條邊上的插值點(diǎn)的兩個(gè)線段,將所述兩個(gè)線段確定為所述四邊形網(wǎng)格單元的等值線線段。
10.根據(jù)權(quán)利要求9所述的大規(guī)?;旌暇W(wǎng)格等值線的計(jì)算系統(tǒng),其特征在于,所述四邊形網(wǎng)格單元等值線計(jì)算單元包括: 中心點(diǎn)屬性值確定單元,用于計(jì)算所述四邊形網(wǎng)格單元的四個(gè)頂點(diǎn)的局部χ-y坐標(biāo),及計(jì)算所述四邊形網(wǎng)格單元的四個(gè)插值點(diǎn)的局部χ-y坐標(biāo);分別以所述四邊形網(wǎng)格單元的四個(gè)頂點(diǎn)的各頂點(diǎn)屬性值,及所述四邊形網(wǎng)格單元的四個(gè)插值點(diǎn)的各插值點(diǎn)的屬性值作為P值,以所述四個(gè)頂點(diǎn)的局部χ-y坐標(biāo)和所述四個(gè)插值點(diǎn)的局部χ-y坐標(biāo)作為X值和y值,帶入二元二次方程Pzkd+l-x+l-y+k-+l-xy+k;-2,得到包含8個(gè)方程,6個(gè)未知系數(shù)1?, Iipk2,k3, k4和k5的方程組;計(jì)算所述方程組的最小二乘解,確定1?, k1; k2, k3, k4和k5的數(shù)值;將所述四邊形網(wǎng)格單元的中心點(diǎn)的局部x-y坐標(biāo)帶入二元二次函數(shù)kd+k1x+k2y+k3xS+k4xy+k5y2,求解出所述中心點(diǎn)的屬性值。
【文檔編號】G06F19/00GK103440434SQ201310432215
【公開日】2013年12月11日 申請日期:2013年9月22日 優(yōu)先權(quán)日:2013年9月22日
【發(fā)明者】高占恒, 魏曉輝, 胡亮, 車翔玖, 黃大年, 郭曉新, 白森, 白鑫 申請人:吉林大學(xué)