国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

球面紋理映射方法綜述

2020-03-15 10:15朱庭麗
現(xiàn)代計(jì)算機(jī) 2020年4期
關(guān)鍵詞:球面半球紋理

朱庭麗

(四川大學(xué)計(jì)算機(jī)學(xué)院,成都 610065)

0 引言

在計(jì)算機(jī)圖形學(xué)的發(fā)展過(guò)程中,針對(duì)紋理映射的研究一直是重點(diǎn)與難點(diǎn)之一。紋理映射是實(shí)現(xiàn)圖形學(xué)中圖形真實(shí)感表達(dá)的重要技術(shù),它可以通過(guò)計(jì)算出每個(gè)像素點(diǎn)對(duì)應(yīng)場(chǎng)景的顏色,表達(dá)出完整真實(shí)的場(chǎng)景。在虛擬現(xiàn)實(shí)、三維游戲等場(chǎng)景都體現(xiàn)出重要的應(yīng)用。Catmull首次提出紋理映射的思想,為了獲得物體表面生成的紋理細(xì)節(jié),首先需要在三維物體表面進(jìn)行二維參數(shù)化,再在參數(shù)化的結(jié)果和紋理平面之間建立映射關(guān)系[1]。但是在實(shí)際場(chǎng)景中對(duì)物體表面重新進(jìn)行參數(shù)化十分困難,因?yàn)檫@些物體都是由非參數(shù)化面片拼接形成的多面體。所以一般采用基于中介曲面的兩步紋理映射方法來(lái)實(shí)現(xiàn)紋理映射。兩步紋理映射的方法是將二維紋理平面先根據(jù)中介三維物體的形狀,投影映射到中介物體表面上,這一步映射稱之為S型映射。再根據(jù)目標(biāo)物體的幾何形狀,從中介物體曲面上映射到目標(biāo)物體上,這一步映射稱之為O型映射[2]。S型映射對(duì)應(yīng)的常用物體中介曲面有球面、柱面和立方體。球面紋理映射法對(duì)應(yīng)的中介物體曲面是球面,在二維空間的紋理坐標(biāo)和三維空間的球面之間形成一種映射關(guān)系。根據(jù)球面的映射范圍,可分為整球面紋理映射和半球面紋理映射。根據(jù)映射的方法可以把球面紋理映射分為基于法向量坐標(biāo)變換、立體投影、透視變換、面積等比的映射方法。

1 基于整球面的紋理映射

1.1 基于法向量的整球面紋理映射

圖1 基于法向量的球面映射關(guān)系

基于整球面的紋理映射是在二維矩形紋理平面上建立與之對(duì)應(yīng)的球面紋理,映射范圍是整個(gè)球面。為了實(shí)現(xiàn)映射結(jié)果,需要將矩形的長(zhǎng)度映射為球面的緯線,寬度映射為球面的經(jīng)線;其中最簡(jiǎn)單的方式是通過(guò)光照原理計(jì)算每個(gè)頂點(diǎn)的法向量,根據(jù)每個(gè)點(diǎn)平面角度生成紋理坐標(biāo)。紋理坐標(biāo)和球面坐標(biāo)映射關(guān)系如圖1所示。圖中分別表示了二維紋理坐標(biāo)和球面法向量坐標(biāo),紋理坐標(biāo)的范圍是 u∈(0,t),v∈(0,t),球面法向量坐標(biāo)的范圍是 x∈(-t,t),y∈(-t,t)。球面和矩形紋理平面使用反正弦函數(shù)y=sin-1x來(lái)實(shí)現(xiàn)兩個(gè)區(qū)間之間的映射關(guān)系。由于映射函數(shù)的定義域?yàn)椋?1,1),值域(-π/2,π/2),因此映射關(guān)系表示為:

其中紋理坐標(biāo)用矩形虛線坐標(biāo)表示,坐標(biāo)軸分別用u和v表示。球面的法向量用中心的虛線坐標(biāo)表示,坐標(biāo)軸分別用x和y表示。t表示最后得到t*t大小的二維平面圖的邊長(zhǎng)。由公式(1)和公式(2)可得逆映射關(guān)系為:

1.2 基于等面積的整球面紋理映射

矩形紋理映射到球面南北極點(diǎn)處時(shí),會(huì)出現(xiàn)紋理匯聚現(xiàn)象。為了減少紋理形變,Sloan和Bier提出了三個(gè)判斷準(zhǔn)則,克服在球面紋理映射中的紋理形變:

①點(diǎn)的連續(xù)性:紋理平面上連續(xù)的點(diǎn)映射之后仍連續(xù);

②面積的等比性:紋理平面上待映射面積為a,映射之后球面對(duì)應(yīng)區(qū)域面積為k*a,k為常數(shù);

③長(zhǎng)寬比的不變性:紋理平面上長(zhǎng)寬比為1:2的矩形面片和球面上對(duì)應(yīng)映射的近似矩形面片仍然保持1:2 的長(zhǎng)寬比[3]。

基于上述判斷準(zhǔn)則之一的面積等比性,Hall提出了一種基于等面積的映射算法,在該算法中球面的經(jīng)度坐標(biāo)與紋理橫坐標(biāo)u呈正比,而球面緯度的坐標(biāo)的正弦與紋理縱坐標(biāo)v呈線性關(guān)系[4]。在球面坐標(biāo)系中,假設(shè)點(diǎn) P(x,y,z)為空間中一點(diǎn),M為點(diǎn) P 在 XOY 面上的投影點(diǎn),P的位置也可以用(r,α,β)來(lái)表示,其中r為點(diǎn)P到球面坐標(biāo)系原點(diǎn)O之間的距離;α為矢量OP與Z軸正向的夾角;β為從正Z軸來(lái)看自X軸按逆時(shí)針?lè)较蜣D(zhuǎn)到OM所轉(zhuǎn)過(guò)的角。該映射關(guān)系表示如圖2所示。

圖2 基于立體投影的半球面映射

該映射關(guān)系用公式表示為:

公式中取球面半徑為1,以u(píng)為常數(shù)的垂直線和球面坐標(biāo)系上經(jīng)度坐標(biāo)為α的經(jīng)線相互映射,以v為常數(shù)的水平線和球面坐標(biāo)系上的緯度坐標(biāo)為β的緯線相互映射。映射前的面積和映射后的面積相等,滿足克服紋理形變的判斷準(zhǔn)則中的面積等比性。

1.3 基于透視變換的整球面紋理映射[5]

二維屏幕上的對(duì)應(yīng)點(diǎn)可以通過(guò)在球面上進(jìn)行三維坐標(biāo)透視投影變換獲得,建立球面坐標(biāo)和二維紋理平面之間的映射關(guān)系。通過(guò)每個(gè)像素點(diǎn)保存的信息,在二維空間中通過(guò)逆映射矩陣可以求得三維球面的對(duì)應(yīng)點(diǎn),如圖3所示。

圖3 基于透視變換的球面映射

基于透視變換的球面紋理映射算法如下:

①首先在球面進(jìn)行逼近精度的三角化操作;

②根據(jù)透視原理、球面模型映射區(qū)域和紋理坐標(biāo)系,確定透視投影中心;

③確定組成整個(gè)球面的每個(gè)三角形面片頂點(diǎn)對(duì)應(yīng)在紋理空間中的的坐標(biāo)值[6];

④確定模型繪制球面。

利用透視變換可以快速得到球面在二維紋理空間上的對(duì)應(yīng)關(guān)系。

在上述紋理映射中,二維紋理在邊界處的邊長(zhǎng)會(huì)映射為球面的南北極點(diǎn),在極點(diǎn)處會(huì)產(chǎn)生紋理匯聚現(xiàn)象,難以避免紋理形變。為了克服這一情況,Sloan和Bier建議中介面投影面使用半球面來(lái)代替整個(gè)球面,實(shí)現(xiàn)紋理映射變換。

2基于半球面的紋理映射

2.1 基于立體投影的半球面紋理映射

半球面紋理映射,是將兩個(gè)圓形平面紋理分別映射到球面的上下兩個(gè)半球面,由于映射的范圍從原先的整個(gè)球面變成半個(gè)球面,紋理形變也適當(dāng)?shù)臏p小了。Sloan和Bier提出了一種基于立體投影的半球面紋理映射算法。該算法是通過(guò)立體投影來(lái)確定二維紋理平面與半球面之間的關(guān)系的。如圖4所示。

圖4 基于立體投影的半球面映射

首先將二維圓形紋理平面放置于平行于半球面的赤道面,外切與半球面的正極點(diǎn),作為投影平面。選擇球面的負(fù)極點(diǎn)作為投影中心。半球面立體投影映射是將圓形紋理平面上的圓弧映射為半球面上的緯線,平面上的徑向線段映射為半球面上的經(jīng)線[7]。映射公式如下:

公 式 中 的 ,p=tanαcosβ,q=tanαsinβ,α∈[0,π],β∈[ ]0,2π。該方法的紋理在靠近赤道部分會(huì)發(fā)生較大形變,無(wú)法滿足克服紋理形變的準(zhǔn)則中的面積等比性和長(zhǎng)寬比不變的性質(zhì)。

2.2 基于面積約束的半球面紋理映射

由于曲面是不可展區(qū)面,因此球面紋理映射無(wú)法同時(shí)滿足上述三個(gè)準(zhǔn)則,不可避免的會(huì)產(chǎn)生紋理映射形變?;诿娣e等比的約束的半球面紋理映射,可同時(shí)滿足點(diǎn)的連續(xù)性,面積等比兩個(gè)準(zhǔn)則,從而減少紋理映射中產(chǎn)生的形變,提高球面紋理映射的質(zhì)量[7]。該方法是將二維圓形紋理平面上的某個(gè)區(qū)域映射到單位半球面上球冠表面上。其中二維圓形紋理平面的半徑r≤1.0。二維紋理平面與球冠之間的映射關(guān)系如圖5所示。

圖5 基于面積等比的半球面映射

首先令Q點(diǎn)的極角和P點(diǎn)的經(jīng)度相等,在映射過(guò)程中保持S1和S2保持一定的比例關(guān)系,即:

其中 k為待定常數(shù),S1=πr2,S2=2π(1-cosβ)。根據(jù)公式(5),(6)可得:

令k=2,可得:

因?yàn)閡=rcosα和v=rsinα,得:

當(dāng)二維圓形紋理平面的半徑r為1時(shí),單位圓覆蓋整個(gè)半球面。該方法通過(guò)約束面積來(lái)構(gòu)造圓形紋理平面到半球面局部區(qū)域的映射關(guān)系。

3 結(jié)語(yǔ)

本文給出了基于整球面和半球面的紋理映射方法,通過(guò)立體投影、透視變換、面積等比的方法建立二維紋理空間和三維球面之間的映射關(guān)系。在進(jìn)行球面紋理映射過(guò)程中往往會(huì)產(chǎn)生一定的紋理形變,如平面紋理為了適應(yīng)曲面紋理,與球面吻合,常常需要對(duì)紋理進(jìn)行一定的形變和從三維到二維的透視變換帶來(lái)的紋理形變,造成紋理走樣,不能反映出真實(shí)場(chǎng)景的現(xiàn)象。事實(shí)上,紋理映射是一個(gè)在屏幕上像素顯示到二維紋理圖案的映射和采樣過(guò)程,當(dāng)采樣頻率無(wú)法滿足香農(nóng)采樣定理時(shí),信號(hào)就會(huì)產(chǎn)生混疊現(xiàn)象,不能準(zhǔn)確地恢復(fù)原始信號(hào)。為了避免信號(hào)的混疊現(xiàn)象,需要進(jìn)行濾波預(yù)處理技術(shù),但是標(biāo)準(zhǔn)卷積核并不具有適應(yīng)性,從而在球面紋理映射中不能有效克服紋理走樣[8]。現(xiàn)如今主要的紋理反走樣技術(shù)有區(qū)域求和表技術(shù)、一種改進(jìn)的區(qū)域求和表技術(shù)、Mip-map技術(shù)[9]都沒(méi)有考慮到卷積核適應(yīng)性的情況。

球面紋理映射技術(shù)雖然較為成熟,但在抗混疊等方面仍存在不少?zèng)]有解決的問(wèn)題,有待于進(jìn)一步的研究與發(fā)展。

猜你喜歡
球面半球紋理
一種改進(jìn)PSO-ARMA半球諧振陀螺溫度誤差建模方法
1例新生兒小腦半球出血并破入腦室手術(shù)案例
肺紋理增多是病嗎?
童夢(mèng)
球面距離的幾種證明方法
TEXTURE ON TEXTURE質(zhì)地上的紋理
消除凹凸紋理有妙招!
奇特國(guó)家趣聞
七月圣誕