国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于線性四叉樹的lod模型生成方法

      文檔序號:9647097閱讀:701來源:國知局
      一種基于線性四叉樹的lod模型生成方法
      【技術(shù)領(lǐng)域】
      [0001] 本發(fā)明屬于計算機圖形圖像學(xué)技術(shù)領(lǐng)域,特別涉及一種基于線性四叉樹的L0D模 型生成方法。
      【背景技術(shù)】
      [0002] 大規(guī)模地形場景的繪制以及三維真實感繪制技術(shù)一直是國內(nèi)外計算機圖形學(xué)領(lǐng) 域關(guān)注的熱點。在目前的渲染方法中,渲染的速度由地形模型中紋理面數(shù)量的多少決定,并 且為渲染提供的光、質(zhì)等渲染因子也受到模型中紋理面數(shù)量的限制,在此兩種因素的影響 下對地形的繪制效果和植染質(zhì)感的影響進一步加深。而L0D(LevelofDetail,細節(jié)層次 模型)技術(shù)正式為了解決此類問題而提出,L0D簡化技術(shù)在場景中的應(yīng)用主要可分為兩類: 一類是直接利用滿足誤差條件的頂點生成網(wǎng)格的細節(jié)層次模型;另一類是從DEM(Digital ElevationModel高程數(shù)據(jù)模型)柵格數(shù)據(jù)出發(fā)按四叉分割或者二叉分割的方式生成規(guī)整 的三角形網(wǎng)格的基于規(guī)則網(wǎng)格的細節(jié)層次模型?,F(xiàn)階段對基于規(guī)則網(wǎng)格的L0D算法絕大部 分是從這兩個算法發(fā)展演變而來。
      [0003] 在大規(guī)模地形場景的渲染過程中,當(dāng)視點距某一物體較近時,物體繪制所使用的 像素較多,當(dāng)視點距某一物體較遠時,物體繪制所使用的像素較少?;诖朔N情況,在地形 的繪制過程中就沒有必要使用大量的多邊形片面去精確表示所占像素較少的物體細節(jié)。多 細節(jié)層次技術(shù)可以更好的實現(xiàn)三維復(fù)雜模型的實時動態(tài)顯示效果,通過將三維物體通過用 不同精度的模型進行表示,并在此過程中根據(jù)視點位置的變化而選擇不同精度的模型繪制 成像,此種技術(shù)可以大大提高渲染的速度和效率。判斷通過三維可視化技術(shù)所繪制的場景 是否能夠達到實時變化的效果主要著重于兩點:一是所采用的計算機本身硬件的性能高 低;二是繪制物體的幾何目標(biāo)是否簡單,這將直接決定實時可視化中的計算量。在目前的技 術(shù)條件下受限于對計算機硬件依賴度比較大的計算機圖形制作系統(tǒng)的制圖能力還比較有 限,在這種情況的影響下,對場景繪制渲染成像的過程中每幀所能繪制的原始幾何模型即 三角形數(shù)量也變得十分有限。綜上所述情況,實時復(fù)雜場景特別是大規(guī)模地形繪制的關(guān)鍵 所在就是探索如何有效的降低幾何模型的復(fù)雜度。

      【發(fā)明內(nèi)容】

      [0004] 針對現(xiàn)有技術(shù)存在的問題,本發(fā)明提供一種基于線性四叉樹的L0D模型生成方 法。
      [0005] 本發(fā)明的技術(shù)方案是:
      [0006] -種基于線性四叉樹的L0D模型生成方法,包括以下步驟:
      [0007] 步驟1、對待繪制地形進行線性四叉樹分割,每一個線性四叉樹節(jié)點代表一個分割 的地形塊即地形節(jié)點,其中距視點近的地形區(qū)域分辨率較高且分割層級越大,而遠離視點 的地形區(qū)域分辨率較低,分割層級越?。?br>[0008] 步驟2、待繪制地形的數(shù)據(jù)存儲在二維數(shù)組中,線性四叉樹中每一個節(jié)點信息通過 索引從該二維數(shù)組中讀?。煌瑫r建立一個和所述二維數(shù)組大小相同的標(biāo)志數(shù)組,此標(biāo)志數(shù) 組指示線性四叉樹節(jié)點的狀態(tài),如果一個線性四叉樹節(jié)點需要被繼續(xù)分割,則把相應(yīng)的位 置標(biāo)記為1,否則標(biāo)記為0;
      [0009] 步驟3、對線性四叉樹的葉結(jié)點信息進行存儲:將葉結(jié)點位置通過基于十進制的 Morton編碼表示形成十進制矩陣,葉結(jié)點的大小用該葉結(jié)點的深度表示;
      [0010] 步驟4、引入希爾伯特填充曲線來組織地形節(jié)點,使線性四叉樹中的地形節(jié)點按照 由頂向下、分辨率低到高的順序存儲進一個一維數(shù)組中;
      [0011] 步驟5、在考慮靜態(tài)誤差和動態(tài)誤差的基礎(chǔ)上建立地形節(jié)點評價機制:若當(dāng)前地 形節(jié)點的投影誤差大于設(shè)定的屏幕誤差閾值,則當(dāng)前地形節(jié)點需要進一步分割,返回步驟 1 ;否則,當(dāng)前地形節(jié)點滿足投影誤差要求,停止分割;
      [0012] 步驟6、對不同分割層級的相鄰地形節(jié)點進行裂縫消除,得到基于線性四叉樹的 L0D模型。
      [0013] 步驟3所述對線性四叉樹的葉結(jié)點信息進行存儲,具體如下:
      [0014] 步驟3-1、將葉結(jié)點位置通過基于十進制的Morton編碼表示形成十進制矩陣;
      [0015] 步驟3-2、將十進制矩陣的行號和列號分別轉(zhuǎn)換成偽碼;
      [0016] 步驟3-3、計算地形Morton編碼;
      [0017] 步驟3-4、使用Morton編碼進行統(tǒng)一編碼,每個葉結(jié)點都具有唯一識別的索引,將 二維的地形數(shù)據(jù)轉(zhuǎn)化成一維,進而基于Morton編碼生成線性四叉樹。
      [0018] 所述步驟3-4的具體步驟如下:
      [0019] 步驟3-4-1、依次檢查分割后的四個地形塊的灰度值,若有一個地形塊的灰度值與 其他不同,將這四個地形塊的灰度值暫時賦以一個標(biāo)志值,否則,直接移動到下四個地形塊 檢查;
      [0020] 步驟3-4-2、第一輪完成以后再依次檢查四個地形塊的灰度值,直至最后,分割的 所有地形塊的左上角的灰度值都相同,然后將帶有標(biāo)志的灰度值依次序統(tǒng)一保存,即生成 線性四叉樹,并記錄葉結(jié)點的地址碼和對應(yīng)的灰度值,遍歷地形節(jié)點的計算量僅與地形區(qū) 域大小呈線性關(guān)系,葉結(jié)點的地址碼即灰度值數(shù)組的序號。
      [0021] 所述地形節(jié)點評價機制的建立方法如下:
      [0022] 步驟5-1、根據(jù)人眼的可見角度、投影平面的高度、世界坐標(biāo)系的單位長度與屏幕 坐標(biāo)系的單位長度之比值、地形節(jié)點的幾何誤差、地形塊的中心點到視點的距離確定地形 節(jié)點的投影誤差;
      [0023] 步驟5-2、利用地形節(jié)點的投影向量與視線方向的夾角對地形節(jié)點的投影誤差進 行修正;
      [0024] 步驟5-3、根據(jù)地形節(jié)點的投影誤差的修正值,確定線性四叉樹分割準(zhǔn)則即地形節(jié) 點評價機制:若當(dāng)前地形節(jié)點的投影誤差大于設(shè)定的屏幕誤差閾值,則當(dāng)前地形節(jié)點需要 進一步分割,返回步驟1 ;否則,當(dāng)前地形節(jié)點滿足投影誤差要求,停止分割。
      [0025] 有益效果:
      [0026] 本發(fā)明不僅是對以往的經(jīng)典L0D模型生成方法的一個有效改進和優(yōu)化,在利用樹 型結(jié)構(gòu)存儲數(shù)據(jù)節(jié)點方面提出一個高效的可避免重復(fù)存儲的便利方式,并且利用視點相關(guān) 評價系統(tǒng)進行節(jié)點分割,能夠有效實現(xiàn)地形的簡化,此外還給出一個高效可行的裂縫消除 方法,能快速的消除細化分割所產(chǎn)生的裂縫。
      [0027] 采用L0D場景簡化技術(shù),對虛擬場景地形進行大幅優(yōu)化,并將其應(yīng)用到3D漫游系 統(tǒng)中,能夠有效解決虛擬大規(guī)模場景渲染中的三角形數(shù)目問題,并加快地形場景的繪制速 度,從而提高場景漫游的逼真程度。
      [0028] 線性四叉樹相對于傳統(tǒng)四叉樹存儲模型只存儲最后葉結(jié)點信息,包括葉結(jié)點的位 置、大小和灰度。葉結(jié)點位置通過使用Morton編碼表示,目前最常用的是基于四進制的 Morton編碼,但由于大部分編程語言并不支持四進制編碼,所以在實際使用時還需要進一 步轉(zhuǎn)化為十進制編碼,這無形之中就影響了算法的運行效率,因此在此提出一種基于十進 制的Morton編碼,此種編碼規(guī)則可以保證在各種開發(fā)語言平臺上順利運行,保證算法的整 體運行效率。
      [0029] 在分析誤差因素的基礎(chǔ)上建立決策評價機制。誤差因素考慮靜態(tài)誤差和動態(tài)誤差 兩個方面。通過合理選取四叉樹中的節(jié)點集合可以實現(xiàn)地形多分辨率的正確表達,節(jié)點評 價體系是地形多分辨率表達的天平,用以確定在實時動態(tài)顯示過程中應(yīng)該采用哪一級的分 辨率標(biāo)準(zhǔn)。
      [0030] 在運用樹型數(shù)據(jù)結(jié)構(gòu)對地形進行多分辨率表示時,由于相鄰數(shù)據(jù)節(jié)點的分割層級 不同,就會產(chǎn)生裂縫問題。在此采用去點法來解決裂縫問題,通過遍歷分析相鄰地形塊間的 層級等級將細節(jié)層級高的一側(cè)的分割點去掉,消除分割層級的差異從而消除裂縫問題。
      [0031] 本發(fā)明是應(yīng)用在計算機圖形圖像學(xué)領(lǐng)域中的地形簡化方面,利用線性四叉樹存儲 模型并結(jié)合使用二維填充曲線來組織地形節(jié)點,在充分考慮誤差因素的基礎(chǔ)上建立節(jié)點評 價機制消除地形裂縫問題,能明顯的提高地形繪制效率。
      【附圖說明】
      [0032] 圖1為本發(fā)明【具體實施方式】的對待繪制地形進行線性四叉樹分割過程示意圖;
      [0033] 圖2為本發(fā)明【具體實施方式】的地形標(biāo)記數(shù)組示意圖;
      [0034] 圖3為本發(fā)明【具體實施方式】的基于十進制的Morton碼四叉樹分解;
      [0035] 圖4為本發(fā)明【具體實施方式】的Hilbert填充曲線填充示意圖,其中(a)為第一步 遍歷,(b)為第二步遍歷,(c)為第三步遍歷;
      [0036] 圖5為本發(fā)明【具體實施方式】的透視原理示意圖;
      [0037] 圖6為本發(fā)明【具體實施方式】的裂縫產(chǎn)生原因示意圖;
      [0038] 圖7為本發(fā)明【具體實施方式】的裂縫消除原理示意圖;
      [0039] 圖8為本發(fā)明【具體實施方式】的基于線性四叉樹的L0D模型生成方法流程圖;
      [0040] 圖9為本發(fā)明【具體實施方式】的對線性四叉樹的葉結(jié)點信息進行存儲流程圖;
      [0041] 圖10為本發(fā)明【具體實施方式】的地形節(jié)點評價機制的建立流程圖。
      【具體實施方式】
      [0042] 下面結(jié)合附圖對本發(fā)明的【具體實施方式】做詳細說明。
      [0043] 一種基于線性四叉樹的L0D模型生成方法,如圖8所示,包括以下步驟:
      [0044] 步驟1、對待繪制地形進行線性四叉樹分割,每一個線性四叉樹節(jié)點代表一個分割 的地形塊即地形節(jié)點,其中距視點近的地形區(qū)域分辨率較高且分割層級越大,而遠離視點 的地形區(qū)域分辨率較低,分割層級越小;
      [0045] 從整個完整的地形出發(fā),遞歸的把地形不斷的分割成相等的四個區(qū)域,分割的深 度越大,則得到的分辨率越高。即分割深度每提高一層,采樣密度提高一倍。由于四叉樹分 割是個嚴(yán)格遞歸的過程,父節(jié)點完全包含子節(jié)點。分割的過程是一個不斷精細的過程,直至 最后一步時,視點所處的地形塊被分割的最精細,顯示質(zhì)量也最好,而遠離視點的部分分割 的較粗糙。通過這種方法,在不損失圖像質(zhì)量的前提下,渲染的三角形數(shù)量明顯減少。對待 繪制地形進行線性四叉樹分割過程如圖1所示。
      [0046] 步驟2、待繪制地形的數(shù)據(jù)存儲在二維數(shù)組中,線性四叉樹中每一個節(jié)點信息通過 索引從該二維數(shù)組中讀??;同時建立一個和所述二維數(shù)組大小相同的標(biāo)志數(shù)組即地形標(biāo)記 數(shù)組,此標(biāo)志數(shù)組指示線性四叉樹節(jié)點的狀態(tài),如果一個線性四叉樹節(jié)點需要被繼續(xù)分割, 則把相應(yīng)的位置標(biāo)記為1,否則標(biāo)記為〇,如圖2所示。
      [0047] 在圖2中,黑點表示節(jié)點需要繼續(xù)分割,空心點表示不需要繼續(xù)分割。地形大小盡 量滿足(2n+l)X(2n+l),這樣可以保證最多可分割成2nX2nf網(wǎng)格。
      [0048] 步驟3、對線性四叉樹的葉結(jié)點信息進行存儲:將葉結(jié)點位置通過基于十進制的 Morton編碼表示形成十進制矩陣,葉結(jié)點的大小用該葉結(jié)點的深度表示;
      [0049] 如圖9所示,具體步驟如下:
      [0050] 步
      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1