三維地形交互式編輯.doc_第1頁(yè)
三維地形交互式編輯.doc_第2頁(yè)
三維地形交互式編輯.doc_第3頁(yè)
三維地形交互式編輯.doc_第4頁(yè)
三維地形交互式編輯.doc_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

三維地形交互式編輯1中點(diǎn)移位細(xì)分1.1細(xì)分方法海拔柵格數(shù)據(jù)是具有細(xì)節(jié)特征和統(tǒng)計(jì)自相似特性的分形曲面。細(xì)節(jié)特征通過(guò)隨機(jī)來(lái)獲得,而表面屬性控制由細(xì)分方法和遞歸插值算法來(lái)把握。海拔柵格一般用于地表網(wǎng)格、云彩和巖石等紋理圖像生成,凹凸紋理計(jì)算和幾何紋理生成等多個(gè)用途。隨機(jī)表面的細(xì)分方法可以用于任意網(wǎng)格,但一般主要以三角網(wǎng)和四邊形網(wǎng)為主,四邊形網(wǎng)在很多應(yīng)用中較為方便。三角高度網(wǎng)格和四邊形高度網(wǎng)格1三角網(wǎng)的隨機(jī)中點(diǎn)移位方法對(duì)正常三角形(三條邊的比值位于一定范圍內(nèi))和狹長(zhǎng)三角形,或者對(duì)于較長(zhǎng)邊或邊上細(xì)分方法和三角形中心點(diǎn)分割算法。使用邊遍歷算法,先處理所有邊的細(xì)分,之后按照三角形遍歷并根據(jù)該三角形的細(xì)分點(diǎn)確定連線方式?;谶叺募?xì)分方法基于內(nèi)點(diǎn)的細(xì)分方法只使用內(nèi)點(diǎn)的細(xì)分會(huì)產(chǎn)生狹長(zhǎng)三角形。2四邊形網(wǎng)的隨機(jī)中點(diǎn)移位方法對(duì)于狹長(zhǎng)四邊形,可以使用邊分割方法將其分成兩個(gè)四邊形。也可以使用先用 square 數(shù)據(jù)生成 diamond 數(shù)據(jù),之后再用 diamond 數(shù)據(jù)生成 square 數(shù)據(jù)。 建立在等距四邊形網(wǎng)格上的隨機(jī)中點(diǎn)移位海拔柵格。 建立在任意尺寸上的四邊形網(wǎng)格的隨機(jī)非中點(diǎn)移位海拔柵格。非中點(diǎn)移位是使用目標(biāo)網(wǎng)格間距控制細(xì)分的自適應(yīng)遞歸控制算法。原則上可以按單步或兩步進(jìn)行任意中間位置的分割,并按照雙線性插值求取平均高度和隨機(jī)數(shù)范圍。3任意網(wǎng)格的隨機(jī)中點(diǎn)移位方法凹多邊形和帶有空洞的多邊形依據(jù)頂點(diǎn)劃分為凸多邊形或三角形。對(duì)凸多邊形的幾何中心點(diǎn)按照平均法向進(jìn)行限定隨機(jī)移位。接著在多邊形邊界上選擇邊創(chuàng)建分點(diǎn),此時(shí)要相應(yīng)地處理鄰接的另一個(gè)多邊形并使用該點(diǎn)為邊上分點(diǎn)?;蚴褂枚噙呅蔚默F(xiàn)有頂點(diǎn),則不需要考慮相鄰多邊形。使用最多的是任意三角剖分或四邊形剖分表面或?qū)嶓w,被劃分的邊必須雙側(cè)翼(無(wú)向前或向后翼)和長(zhǎng)邊,中點(diǎn)位于邊的中點(diǎn),平局高程是線的平均法向上含兩翼各點(diǎn)的均值,并在該向量上進(jìn)行隨機(jī)位移處理。不規(guī)則石頭可以用此方法建模。4具備自拼接特性的規(guī)范四邊形網(wǎng)的隨機(jī)中點(diǎn)移位方法規(guī)范四邊形網(wǎng)是具有形如的四邊形網(wǎng)格??紤]到計(jì)算速度和非重復(fù)的表面規(guī)模,一般可選用256256柵格。為了能較好的進(jìn)行自拼貼,右側(cè)和下側(cè)邊界的坐標(biāo)分量為256整數(shù)倍的坐標(biāo)分量值將回繞到0坐標(biāo)分量值。1.2種子網(wǎng)格的產(chǎn)生1由跨距span構(gòu)造M0N0陣列初值,可選用行列序或?qū)有虬才烹S機(jī)數(shù)使用的順序格局,并且一般要求span是和的公因子。隨機(jī)種子網(wǎng)格各點(diǎn)的隨機(jī)值大小和式樣受隨機(jī)數(shù)種子srand以及隨機(jī)數(shù)范圍lrand和hrand限定。由于計(jì)算機(jī)所使用的隨機(jī)數(shù)都是偽隨機(jī)數(shù),因此可以使用不同的隨機(jī)數(shù)模型,如:隨機(jī)數(shù)種子模型1:模型2:,此時(shí)使用的參數(shù)和隨機(jī)值均為整數(shù)。模型3:混沌映射模型。假設(shè)隨機(jī)數(shù)范圍為(0,1),則每點(diǎn)的高程。2由任意圖像的小尺寸灰度圖(可經(jīng)采樣、馬賽克或變換處理)轉(zhuǎn)換為高度柵格。該方法的好處是可以選擇性使用圖像的某種特征作為高度網(wǎng)格的基本式樣。3由重疊IFS或可加入某種隨機(jī)性所產(chǎn)生的低分辨率分形集作為初始種子網(wǎng)格。4由隨機(jī)生長(zhǎng)方法獲取(在0平面上由一個(gè)或多個(gè)種子點(diǎn),按指定的生長(zhǎng)法則產(chǎn)生)。此時(shí)為任意網(wǎng)格(低分辨率或高分辨率),為了能進(jìn)行自適應(yīng)細(xì)分,需要建立光柵格式。5由經(jīng)顏色表轉(zhuǎn)義的混沌圖形的灰度圖像轉(zhuǎn)化為高程圖給出。6由隨機(jī)幾何圖形與顏色疊加方法合成。7用連續(xù)隨機(jī)疊加的方法。8用數(shù)學(xué)曲面法(包括樣條曲面)。種子網(wǎng)格可以與目標(biāo)網(wǎng)格具有相同的尺寸??梢詫?duì)種子?xùn)鸥駭?shù)據(jù)進(jìn)行編輯,也可以對(duì)目標(biāo)柵格數(shù)據(jù)進(jìn)行編輯。通過(guò)對(duì)種子?xùn)鸥竦木庉?,可以把握地形?shù)據(jù)的基本式樣。1.3細(xì)分模型細(xì)分一般是在種子網(wǎng)格的基礎(chǔ)上進(jìn)行,也可以回退到高層(廢棄部分?jǐn)?shù)據(jù))。1隨機(jī)中點(diǎn)移位方法將隨機(jī)數(shù)范圍與粗糙度因子相結(jié)合:,其中k是細(xì)分層次。對(duì)細(xì)分的結(jié)果按照將目標(biāo)網(wǎng)格數(shù)據(jù)調(diào)整到之間。可選擇平滑處理,使表面接近常規(guī)的丘陵地形式樣。也可選擇增加目標(biāo)網(wǎng)格最低限制,可形成大面積平整區(qū)域的地形特征。2表面插值或光滑細(xì)分方法使用三線性、三立方插值,切角等方法在種子網(wǎng)格的基礎(chǔ)上形成平滑表面。1.4高度變換1高程映射方法:區(qū)間(-128, 127)上的連續(xù)映射上的自映射:上的自映射上的自映射三角函數(shù)上的自映射:上的自映射:上的自映射:2離散自映射(即上的一個(gè)置換,也可以映射到的一個(gè)子集上)3顏色表轉(zhuǎn)換(即將高程值作為顏色索引,并通過(guò)顏色表將對(duì)應(yīng)的顏色轉(zhuǎn)換為灰度值,即高度)4其它方法(如油畫處理、矩陣變換等)2海拔柵格的編輯方法移位面編輯(細(xì)化后的曲面):按粗網(wǎng)格、均衡曲線、隨機(jī)表格數(shù)據(jù)、細(xì)分算法和插值方法控制的曲面。移位面的作用是為表面構(gòu)造細(xì)致的幾何紋理?;A(chǔ)面編輯(032767):使用不同大小的指數(shù)面頂曲面按微量堆積和挖掘的方法進(jìn)行編輯(初值為0)。基礎(chǔ)面的作用是構(gòu)造任意形狀地形(如巖洞等)的粗網(wǎng)格面。將移位面和基礎(chǔ)面進(jìn)行疊加而得到最終的柵格。圖形編輯工具:頂點(diǎn)編輯、點(diǎn)模式、點(diǎn)大小、均衡曲線、清空基礎(chǔ)面、重新生成移位面(重建隨機(jī)表格,可選擇保留粗網(wǎng)格)、改變目標(biāo)柵格尺寸(用插值保留編輯數(shù)據(jù))、改變顯示類型(山、云、石紋)、推拉工具等。上下閥值限定、上下閥值翻轉(zhuǎn)、中間定向翻轉(zhuǎn),多邊形區(qū)域上的參數(shù)修改、光順、銳化,提升和沉降多邊形(開(kāi)或閉的直線或曲線),含力學(xué)模型的堆積(如噴砂)和挖掘,風(fēng)蝕和水洗方法,打磨石、侵蝕刷(依據(jù)尺寸和強(qiáng)度),對(duì)于紋理解釋可修改伴隨的顏色表對(duì)柵格的理解做進(jìn)一步調(diào)整,多邊形區(qū)域上的連續(xù)隨機(jī)增加,兩個(gè)地形數(shù)據(jù)的非對(duì)稱個(gè)性化插值,通過(guò)非規(guī)則幾何的運(yùn)動(dòng)掃略方式進(jìn)行的增減操作等。可對(duì)任意的空間三角和四邊形混合網(wǎng)(可封閉為體)進(jìn)行隨機(jī)中點(diǎn)移位處理。網(wǎng)格的控制點(diǎn)為粗網(wǎng)格點(diǎn),網(wǎng)格的平面看成基礎(chǔ)面,隨機(jī)表位于紋理坐標(biāo)對(duì)應(yīng)的表面點(diǎn)(要求具有自拼貼屬性)的合成效果。隨機(jī)表面總是依據(jù)頂點(diǎn)法向進(jìn)行幾何貼圖,頂點(diǎn)法向也可以讓平面真正地鼓起來(lái)。為海拔柵格及空間表面預(yù)定義了多種細(xì)分算法。細(xì)分這種曲化算法可以用于海拔柵格的基礎(chǔ)面編輯。多種隨機(jī)移位細(xì)分方法來(lái)構(gòu)造移位面,可用路徑劃分出不同的區(qū)域并各自使用獨(dú)有的細(xì)化參數(shù)和模型,來(lái)構(gòu)造多種表面的組合面。粗網(wǎng)格點(diǎn)以及細(xì)分一次、二次等的點(diǎn),對(duì)最終柵格的貢獻(xiàn)依賴于均衡曲線。正常情況下,粗網(wǎng)格的隨機(jī)值要重要得多,其變化要影響周邊的四個(gè)粗網(wǎng)格區(qū)域,而最抹一層細(xì)分產(chǎn)生的網(wǎng)格點(diǎn)的變化只影響本身一個(gè)點(diǎn)。用不同顏色區(qū)分粗網(wǎng)格、一階網(wǎng)格、二階網(wǎng)格及其它層細(xì)分網(wǎng)格(用灰色),即網(wǎng)格的頂點(diǎn)編輯允許任意點(diǎn)(關(guān)于層和均衡曲線)的受限修改。2.1整體編輯和局部編輯基于256256自拼接海拔柵格的整體編輯是按照坐標(biāo)回繞方式同等地處理每一個(gè)頂點(diǎn)。局部編輯一般有層次點(diǎn)修改和區(qū)塊(22、44等等)修改,并且一般要按照作用強(qiáng)度模式進(jìn)行改變(與整體編輯相比,方法相同,強(qiáng)度控制方式不同):局部編輯首先通過(guò)選擇模式把鼠標(biāo)光標(biāo)位置的拾取矩形(22或55等)獲取幾何圖形的坐標(biāo)確定編輯區(qū)域(圓或矩形,用二維數(shù)組):typedefstruct _collect intx:10;/ x坐標(biāo)intz:10;/ z坐標(biāo)intw:8;/ 四叉樹的半寬(半徑)intdir:4;/ 四個(gè)方位占2位,每個(gè)方向的兩片各占1位(01,10,11) COLLECT;先獲取光標(biāo)所拾取的三角形,再根據(jù)相機(jī)位置與鼠標(biāo)點(diǎn)的射線方程與三角形的交點(diǎn)在三角面上反算出最近的坐標(biāo)點(diǎn)。2.2編輯算法1光順:矩陣、卷積矩陣、切角、一次(一階)和三次(三階)。2銳化(粗糙化):在局部均值上確定理解的隨機(jī)值,并將此隨機(jī)按一定限定進(jìn)行長(zhǎng)幅修改。3提升與沉降:主要針對(duì)局部均值進(jìn)行修改,非均值部分只做少量縮小。4上下翻轉(zhuǎn):通過(guò)指定平面對(duì)低于或高于該平面的部分進(jìn)行對(duì)稱到另一側(cè)。5圖像編輯方法:如油畫效果等。6高程變換3高程相關(guān)的紋理合成地形使用的紋理可以是使用4片或多片按照高程進(jìn)行紋理合成(稱為高程紋理),亦可以將海拔柵格轉(zhuǎn)換為高度圖并用顏色表控制生成紋理??勺云唇蛹y理是按照NN回繞一線的方式構(gòu)成的。在拼接時(shí)與海拔柵格的處理一樣,先將圖像擴(kuò)展為(N+1)(N+1),多出的一線是讀取的回繞數(shù)據(jù)。這樣,拼接時(shí)就可以將邊框線重疊,形成可縮放的無(wú)縫連接。一般使用可自拼接細(xì)節(jié)圖(通常是小尺寸,如6464)拼接為大尺寸如10251025,再與由高程數(shù)據(jù)處理過(guò)的257257紋理圖像進(jìn)行合成,產(chǎn)生10251025的大紋理(當(dāng)然,可以將高程紋理固定在地表網(wǎng)格上,渲染時(shí)再與細(xì)節(jié)紋理進(jìn)行合成)。3.1按照高程數(shù)據(jù)合成大紋理小紋理按高程數(shù)據(jù)合成大紋理將高程分成四段,使用低位置編號(hào)段進(jìn)行兩兩插值,最后一段不插值區(qū)間重疊線性插值將高程分成三段,使用低位置編號(hào)段進(jìn)行兩兩插值五等分區(qū)間的三次樣條插值四等分區(qū)間的區(qū)間中點(diǎn)三次插值,或邊界重復(fù)的三次樣條插值非等分區(qū)間的區(qū)間線性插值樣條(當(dāng)然可以使用三次樣條)最常用3.2紋理細(xì)節(jié)有多種方式。將自拼接幾何塊固定紋理是較方便的方法。3.3與幾何顏色混合幾何高程一般有固定的顏色漸變序列,與表面紋理混合形成自然的紋理。4四叉樹LOD算法4.1底層網(wǎng)格的三角劃分 關(guān)于中心區(qū)域的展開(kāi)44網(wǎng)格權(quán)值分配矩陣是一個(gè)三次高程曲面圍成的“體積”,與其后的兩種表面三角化方法形成的“體積”較近者為所選三角劃分。+4.2自適應(yīng)層次劃分方法會(huì)打亂原始的四叉樹層次,數(shù)據(jù)結(jié)構(gòu)和算法較復(fù)雜。4.3層次四叉樹方法1多塊拼合粗虛線為實(shí)際計(jì)算的NN柵格數(shù)據(jù),細(xì)實(shí)線為渲染的(N+1) (N+1)柵格數(shù)據(jù),其中的右側(cè)和下邊均使用了回繞數(shù)據(jù)(即自拼貼的后續(xù)柵格的左側(cè)和上邊的數(shù)據(jù),右下角=左上角像素)。2具有自拼貼屬性的幾何或紋理與環(huán)的特征連接表面同構(gòu)用表示幾何或紋理數(shù)據(jù),將其轉(zhuǎn)換為環(huán)面上的分割角,。將繞y軸旋轉(zhuǎn)角:再加上平移,即為所求映射到環(huán)面的三維坐標(biāo)。而該坐標(biāo)點(diǎn)的紋理坐標(biāo)為,頂點(diǎn)法向是上式中的=1時(shí)的三維向量。3預(yù)處理void setup_quadtree(int x, int z, int width)int width2, m, n;n = width * lod_level;m = (x - location0) * (x - location0) + (z - location2) * (z - location2);width2 = width 1;if(width 1) & m n * n) / 此處添加平整度測(cè)試和相機(jī)裁剪inti, j;m = (z - width2) & MASK2) SHIFT2);n = (z + width2) & MASK2) SHIFT2);i = (x - width2) & MASK2);j = (x + width2) & MASK2);quadtree(z SHIFT2) + x = NODE_POINT;quadtreem+i = EDGE_POINT;quadtreem+j = EDGE_POINT;quadtreen+i = EDGE_POINT;quadtreen+j = EDGE_POINT;setup_quadtree(x - width2, z - width2, width2);setup_quadtree(x + width2, z - width2, width2);setup_quadtree(x - width2, z + width2, width2);setup_quadtree(x + width2, z + width2, width2); else quadtree(z SHIFT2) + x = EDGE_POINT;5編輯與瀏覽流程5.1參數(shù)生成目標(biāo)類型(0-地形、1-紋理):DWORDproduct = 0;表面貼圖數(shù)據(jù):Texture tex = w, h, image;地圖子塊編碼和子塊個(gè)數(shù):DWORDidImg, numImg;/ 圖像紋理DWORDidGeo, numGeo; / 幾何紋理一般情況下,地表柵格控制大尺寸地表輪廓(山脈、丘陵或平地),幾何紋理控制地表的細(xì)節(jié)特征,圖像紋理進(jìn)一步細(xì)化地表形成真實(shí)的地表形體。三種數(shù)據(jù)均可以用單個(gè)或多個(gè)同類(也許允許異類)數(shù)據(jù)進(jìn)行拼接。天空盒數(shù)據(jù)用內(nèi)置的模型自動(dòng)生成和擴(kuò)展。天空盒也是地表柵格的生成目標(biāo)之一。地形參數(shù)設(shè)置對(duì)話框:INITPARAM種子網(wǎng)格規(guī)模SEEDS(1,2,4,8,16,32,64,128,256)高程范圍因子heightScale(0,1)表面粗糙度模型:floatcoarse = 0.7F;(使用數(shù)組具有更好的效果控制。使用時(shí),先生成數(shù)值的乘積序列,如果是非中點(diǎn)可按最小加速度曲線計(jì)算該序列的插值)。海平面高度:floatelevation = 0.0;(用來(lái)確定天空盒的底面高度)。高程最低限lowLimit = -128.0F;(-1,1)隨機(jī)數(shù)種子randStart = 0.5F; (0,1)隨機(jī)數(shù)參數(shù): randscale, randShift隨機(jī)數(shù)模型:0-Logistic,1-素?cái)?shù)線性映射,編輯控制參數(shù)設(shè)置對(duì)話框:EDITPARAM操作域尺寸(1,32,64)作用區(qū)模式:指數(shù)、余弦、樣條等作用方式:層次方法、鄰接點(diǎn)選項(xiàng):使用隨機(jī)(隨機(jī)因子)表明:表面細(xì)分、平滑矩陣、卷積矩陣強(qiáng)度:一次濾波、三次濾波高程映射:-128127上的自映射(Logistic映射、三角函數(shù)等),置換,顏色表轉(zhuǎn)換等。瀏覽模式參數(shù)設(shè)置對(duì)話框:VIEWPARAM地形數(shù)據(jù)顯示模式:線框、表面紋理選項(xiàng):波浪,天空盒,霧紋理:(紋理文件名,插值的位置) 4 顯示因子:y因子、(x, z )因子細(xì)節(jié)層次(1,2,3,4,全)視錐角(0, 90)顏色表設(shè)置對(duì)話框:COLORTABLEPARAM編輯連續(xù)彩色曲線(編輯RGB樣條曲線)修改256色顏色表(編輯1616顏色塊表)5.2命令和工具文件:新建、打開(kāi)、保存、另存為、合成(按比例與當(dāng)前數(shù)據(jù)合并)、保存位圖、退出初始化種子(隨機(jī)粗網(wǎng)格、讀入圖像、生長(zhǎng)、點(diǎn)隨機(jī)疊加)編輯:場(chǎng)景狀態(tài)(編輯、瀏覽)數(shù)據(jù)類型(地形、紋理、顏色表(在256*511上背景豎線條表示為顏色的RGB分形曲線)操作形式(點(diǎn)的徒手畫類型、連續(xù)折線類型、多邊形區(qū)域類型)整體編輯:比例、高程變換、最低限、提取種子公共編輯:提升、沉降、光順、折皺、上翻、下翻;其它編輯:路、橋;布局(房、車、樹、草);貼圖(堆放圖片的地表設(shè)計(jì))查看:更換天空盒、更換基礎(chǔ)紋理(一般用四層)、更換細(xì)節(jié)紋理讀入和保存顏色表、設(shè)置連續(xù)顏色表控制、修改單個(gè)顏色經(jīng)顏色表轉(zhuǎn)換數(shù)據(jù)顯示(面、線框)背景模式(背景色、天空盒)細(xì)節(jié)層次(8,16,32,64)瀏覽模式(步行、飛行)幫助:地形編輯操作、地形原理、關(guān)于地形編輯器。工具欄:新建、打開(kāi)、保存、保存圖像;地形、紋理、顏色表;撤消、重做;提升、沉降、光順、折皺、上翻、下翻、瀏覽;背景色、表面/線框、細(xì)節(jié)層次(8,16,32,64)、步行/飛行。5.3渲染一般,觀察點(diǎn)與水平面形成固定夾角(1545度),編輯時(shí)要根據(jù)觀察點(diǎn)及高程線的觀察效果調(diào)整綜合高程(主要是粗網(wǎng)格點(diǎn)的)數(shù)值。主要的瀏覽方式有兩種:約束在表面上的步行方式和保持絕對(duì)海拔高度的飛行方式。改變傾角(即改變了高度)、調(diào)整觀察高度、繞觀察中心的y軸矢量旋轉(zhuǎn)、保持高度的飛行控制(左右旋轉(zhuǎn)和進(jìn)退,無(wú)側(cè)旋)天空盒:用類似于地表拼接的方法生成天空盒紋理,并用移動(dòng)天空盒的方式進(jìn)行瀏覽處理。天空盒所使用的紋理

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論