999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

用軌跡球實現地物化資料三維立體圖的旋轉

2012-01-11 08:14:52袁小龍段新力彭仲秋黃顯義李永華
物探化探計算技術 2012年5期

袁小龍,段新力,畢 武,彭仲秋,黃顯義,李永華

(1.新疆地礦局 物化探大隊,新疆 昌吉 830011;2.烏魯木齊金維圖文信息科技有限公司,新疆 烏魯木齊 830091)

用軌跡球實現地物化資料三維立體圖的旋轉

袁小龍1,2,段新力1,2,畢 武1,2,彭仲秋1,2,黃顯義1,2,李永華1,2

(1.新疆地礦局 物化探大隊,新疆 昌吉 830011;2.烏魯木齊金維圖文信息科技有限公司,新疆 烏魯木齊 830091)

為了從各個角度觀察屏幕上的三維場景,可以通過鼠標的拖動來實現。通常的做法是使場景繞X、Y、Z旋轉,但這樣操作不方便,旋轉效果不理想。有一種更好的方法是:為三維場景建立一個外接球,旋轉外接球的同時旋轉了球體內的三維場景,這種技術叫軌跡球技術。這里介紹了軌跡球技術的數學原理、計算方法,并用軌跡球技術在OpenGL環境下實現了地物化資料三維立體圖的旋轉,操作起來方便直觀,人機交互體驗良好。

軌跡球;虛擬球;三維旋轉;四元數

0 前言

隨著計算機硬件、軟件技術水平的發展,地物化數據圖形表現形式越來越豐富。用三維圖形顯示地物化資料數據,形象直觀,易于理解。為了從各個角度觀察場景,可以通過旋轉不同的坐標軸來實現。但旋轉坐標軸操作復雜,不易理解,用戶使用不方便,作者在本文提出了使用軌跡球來解決這個問題。軌跡球技術是由Ken Shoemake提出的,假設場景中所有物體都包含在一個球體中,撥動這個球體,使其繞球心旋轉,這樣球體內的物體跟著旋轉,就可以達到旋轉物體的目的。在計算機操作中,屏幕上創建一個包含所有物體的軌跡球,通過鼠標在二維屏幕上的移動,模擬旋轉球體,可人機交互良好地實現三維場景的旋轉。

1 軌跡球坐標系的建立

(1)屏幕上的設備坐標稱為屏幕坐標,如下頁圖1(a)所示,矩形左上角坐標為(0,0),右下角坐標為 (w,h),w為視圖的寬度,h為視圖的高度,屏幕坐標以像素為單位,X方向朝右為正,Y方向朝下為正。

(2)定義正方形坐標系,如下頁圖1(b)所示,正方形左下角坐標為(-1,-1),右上角坐標為(1,1),中心點坐標為(0,0),X 方向從左向右增大,Y方向從下向上增大。

(3)將屏幕坐標 (screenX,screenY)轉換到正方形坐標(square X,squareY)系內。在X方向,將坐標從范圍(0,width)轉換到(-1,1),坐標變換為線性變換,令

當screenX=0時,square X=-1;當screenX=width時,square X =1。將以上參數代入公式(1),得將a、b值代入公式(1),得到X 方向坐標轉換函數公式(2)。同理,可計算出Y方向坐標轉換函數公式(3)。

這樣轉換后的坐標X范圍為[-1,1],Y范圍為[-1,1],屏幕中心點坐標為(0,0)。

(4)做正方形的內切圓,如圖1(c)所示。內切圓以它的任意一條直徑為軸,旋轉180°,形成一個球體,如圖1(d)所示。設球體的中心為(0,0,0),半徑為1,我們把這個球體稱為軌跡球,軌跡球上的坐標系稱為軌跡球坐標系。

(5)將正方形坐標 (x,y)轉為軌跡球坐標(u,v,w)。首先,把正方形內的點分成兩部份,一部份在其內切圓內,另一部份在其內切圓之外。鼠標點擊的位置 (x,y)落在內切圓內,即時,以(x,y)為基點,做垂直于屏幕的射線,與軌跡球的外半球(屏幕上能看到的半球)相交于P點,如圖1(e)所示。在拖動鼠標時,相當于以P點為基點拖動球體,鼠標點擊的位置P(x,y)落在內切圓之外,即時,如圖1(f)所示。基點P在軌跡球之外,無法拖動球體,必須重新找一個在軌跡球上的基點,在uov平面內,連接OP,OP交內切圓于P’點,以P’點為基點拽動軌跡球。設θ為OP與OU的夾角,可得:

因軌跡球半徑為1,可得:

綜合鼠標點擊位置落在內切圓內和內切圓外兩種情況,可得公式(4)。

2 旋轉向量的計算

(1)旋轉軸及旋轉角度的確定。如圖2(a)所示,鼠標從P1點移動到P2點,得到兩個矢量,旋轉所張成平面的法向量,通過計算的叉乘,可得到旋轉軸

旋轉角度為OP1與OP2之間的夾角θ,在圖2(a)中,M為正方形左邊的中點,N為正方形右邊的中點,鼠標從M點拖動到N點時,軌跡球繞V軸旋轉了180°,同樣操作,如果要使軌跡球繞V軸旋轉360°,則旋轉角度得取θ的二倍。在實際使用過程中,旋轉角度α取θ的二倍更符合用戶習慣。

(2)多次旋轉累加。如果鼠標進行了多次拖動,則需要將多次拖動的效果累加起來。如圖2(b)所示,第一次拖動的旋轉量為,第二次拖動的旋轉量為

(3)旋轉矩陣的計算。四元數 Quat4(x,y,z,w)用來存儲旋轉軸和旋轉角度,設 (a,b,c)為旋轉軸向量,θ為旋轉角度,根據四元數旋轉公式:

如果鼠標進行了兩次以上的拖動操作,則需將多次旋轉效果進行累加。設Q1(w1,x1,y1,z1),Q2(w2,x2,y2,z2)為兩次旋轉的四元數,將兩次旋轉效果累加按公式(5)計算。

注意:Q=Q1*Q2中,先進行的是右邊項Q2的旋轉,再進行左邊項Q1的旋轉。將最終累加的四元數轉換成旋轉矩陣M[2],在OpenGL中乘以這個旋轉矩陣M,實現軌跡球的旋轉。旋轉矩陣M按公式(6)計算。

3 軌跡球旋轉地物化三維立體圖實例

用OpenGL函數建立三維地質體模型,在鼠標移動的響應函數中,通過軌跡球計算出旋轉矩陣,當前模型視圖矩陣乘以旋轉矩陣,實現旋轉操作。

(1)實例1:對布格重力網格數據做切割法場分離,切割出五層(一層為一個網格距)的區域場和剩余場,把布格重力和五層剩余異常放在一起顯示,如圖3所示。用軌跡球旋轉操作,可以輕松地旋轉到用戶想要的任意位置。

圖3 用軌跡球旋轉重力三維圖Fig.3 Rotating 3Dgraphics of gravity by using arcball

(2)實例2:在鉆孔數據上,通過平行輪廓線截面法創建礦體模型,用軌跡球旋轉操作可以從各個角度觀察礦體及鉆孔。如圖4所示。

4 結束語

作者在本文討論了軌跡球坐標系的建立,旋轉軸及旋轉角度的計算,用四元數表達旋轉向量,多次旋轉效果的累加,以及四元數轉換成旋轉矩陣。在OpenGL環境下編程實現了三維地質模型體繞任意軸旋轉,并給出了兩個實例,用戶可以用二維設備(鼠標)輕松、直觀地旋轉三維場景。

圖4 用軌跡球旋轉礦體及鉆孔Fig.4 Rotating 3Dgraphics of drill hole and ore body by using arcball

[1] MICHAEL CHEN,S.JOY MOUNTFORD.A study in Interactive 3-D Rotation Using 2-D Control Devices[J].Computer Graphics,1988,22(4),121.

[2] SHOEMAKE KEN.Animating Rotation with Quaternion Curves[J].Computer Graphics,1985,19(3):245.

[3] SHOEMAKE K,DUFF T.Matrix animation and polar decomposition[C].In:Procee-dings of Graphics Interface'92,1992.

[4] 馬新武,趙國群,王廣春.用虛擬球實現交互式OpengGL 3D圖形的旋轉[J].計算機應用,2001,21(8):169.

[5] 賴朝輝,劉修國,花衛東,等.三維數據場可視化技術在數字礦山中的應用[J].金屬礦山,2008(12):131.

[6] 李超玲,楊東來,李豐丹,等.中國數字地質調查系統的基本構架及核心技術的實現[J].地質通報,2008,27(7):923.

[7] 黃杏元,馬勁松.地理信息系統概論(第三版)[M].北京:高等教育出版社,2008.

[8] 唐圣潔.三維數據場可視化[M].北京:清華大學出版社,2000.

[9] 屈紅剛,潘懋,王勇,等.基于含拓撲剖面的三維地質建模[J].北京大學學報:自然科學版,2006,42(6):717.

TP 317.4

A

10.3969/j.issn.1001-1749.2012.05.22

1001—1749(2012)05—0622—03

2011-11-24 改回日期:2012-06-16

袁小龍(1982- ),男,本科,主要從事物化探軟件開發、數據處理和資料研究工作。

主站蜘蛛池模板: 成人在线亚洲| 91亚洲视频下载| 国产人人射| 亚洲欧美另类视频| 久久久久青草大香线综合精品| 亚洲中文字幕国产av| 国产高清无码麻豆精品| 少妇露出福利视频| 丁香五月激情图片| 国产另类视频| 在线毛片免费| 91av成人日本不卡三区| 国产精品妖精视频| 五月天在线网站| 午夜毛片免费观看视频 | 国产综合欧美| 精品伊人久久大香线蕉网站| 制服丝袜在线视频香蕉| 久久精品国产999大香线焦| 国产精品亚洲va在线观看| 国产亚洲男人的天堂在线观看| 最新国产午夜精品视频成人| 亚洲中文无码h在线观看| 亚洲国产AV无码综合原创| 精品成人一区二区| 亚洲自偷自拍另类小说| www.精品国产| 国产精品亚洲天堂| 国产色伊人| 亚洲欧洲日产国码无码av喷潮| 亚洲无码高清视频在线观看| 国产欧美日韩在线一区| 欧美成人日韩| 欧美成人一级| 亚洲欧美h| 免费一看一级毛片| 在线观看国产精品第一区免费| 无码人中文字幕| 国产91无码福利在线| 成人国产精品视频频| 天天色综合4| 综合网天天| 国产XXXX做受性欧美88| 亚洲人成电影在线播放| 国产午夜无码片在线观看网站 | 久久久久免费精品国产| 91欧美在线| 成人一级黄色毛片| 国产丝袜91| 伊人久久综在合线亚洲2019| 午夜不卡视频| 久久香蕉国产线看精品| 77777亚洲午夜久久多人| 国产美女一级毛片| 免费毛片全部不收费的| 欧美黄网在线| 在线观看的黄网| 人与鲁专区| 亚洲国产综合精品一区| 国产黄在线免费观看| 精品人妻无码区在线视频| 一级看片免费视频| 欧美日韩中文国产va另类| 国产无码精品在线播放| 国产精品美女在线| 国产精品国产三级国产专业不| 91在线精品麻豆欧美在线| 亚洲国产系列| 亚州AV秘 一区二区三区| 国产极品美女在线| 中文字幕无码av专区久久| 亚洲欧美日韩天堂| 国产成人精品亚洲77美色| 亚洲AV成人一区二区三区AV| 乱码国产乱码精品精在线播放| 日本影院一区| 亚洲欧美日韩综合二区三区| 亚洲国产天堂在线观看| 最新国产网站| 高清大学生毛片一级| 国产欧美视频综合二区| 色天天综合久久久久综合片|