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

一種復雜過程與復合對象三維建模的實現方法

2014-01-21 00:52:40張新家
電子設計工程 2014年21期
關鍵詞:定義信息

趙 謙,張新家,萬 苗

(西北工業大學 自動化學院,陜西 西安 710129)

伴隨著計算機技術的不斷發展,虛擬現實技術必然會進入社會的各個領域。虛擬現實是多種技術的綜合,包括三維計算機圖形技術,廣角立體顯示技術,對人肢體的跟蹤技術,以及觸覺/力量反饋、立體聲、網絡傳輸、語音輸入輸出技術等。三維計算機圖形技術為虛擬現實技術提供三維實體建模,環境模擬等基本的技術支撐。現有的建模技術已經能夠逼真模擬現實中的物體并且得到了廣泛的應用。系列電影《生化危機》在人體建模方面的成功就是建模技術成熟的一種客觀寫照。建立完備的模型之后,還要讓模型能夠動起來[1]。Xsens moven慣性動作捕捉系統,能夠實時捕捉人體六自由度的動作數據,為模型的運動提供接近真實的動作效果[2-3]。然而,這些系統不僅將實體建模和動作信息分開考慮,而且將模型孤立了起來。伴隨著虛擬現實技術研究的深入和應用的推廣,越來越復雜的系統必然會在虛擬現實環境下實驗和測試,現有的建模方法在應用到這些多對象復雜聯系的系統中顯然不能得到滿意的效果。針對這類問題,本文做一些探討。

1 過程建模

復雜系統包含的實體對象可能不止一個,而且對象間也存在各類關系。我們將一個系統定義為一個過程。一個過程最基本的三個要素便是實體對象,關系以及行為[5]。所謂實體對象就是過程的參與者;關系是指實體對象之間的約束條件;行為是指實體對象的動態特征。

1.1 過程的定義

我們給過程一個廣泛的定義,凡是滿足下面約束條件的事件,我們都可以定義為一個過程。諸如動態場景,物理碰撞試驗等等都可以定義為一個過程。

1)過程必須要有實體對象參與。一個過程可以沒有關系,但是不能沒有實體對象。

2)關系是實體對象與實體對象之間的聯系。

3)行為本身是實體對象的一個屬性,不能脫離實體對象而存在。

1.2 復雜過程和復合對象

在1.1中我們給過程一個定義,這個定義給出過程一個必要的條件,即一個過程至少有一個實體對象。然而,現實中我們遇到的情況可能要復雜得多。一個復雜系統或復雜過程可能包含多類實體對象,錯綜復雜的關系,多約束的運動特征。一個典型的例子就是虛擬戰場環境[6]。就實體對象而言,它包括地形,作戰工具,參戰人員,建筑等幾類,每類中又包含多種實體對象,比如地形就有山地,河川,草地,森林等多種情況;這些對象之間相互的關系則更為復雜,比如一輛坦克要受到地形的約束,與其他物體碰撞等。顯然對于這種情況,我們如果只是考慮單個對象而不將其放在環境中,仿真效果顯然不能令人滿意。

針對多對象復雜關系的情況,僅僅孤立的建模方法不能滿足要求,還有另外一種情況也不能不考慮。在工程機械仿真應用[7]中,常常會碰到大型的機械或部件,這些器械由一些簡單的零件裝配成,這些零件不僅具備自己的屬性而且零件間可以進行相對運動,如果在仿真時,我們只是一次性完成仿真,那么對于零部件之間的關系就不能表達,這顯然違背了仿真設計的初衷。

特別提出的是,所謂的復雜過程和復合對象只是過程定義框架內的兩種情況(下文會給你這兩種情況的區別),它們都可以定義為一個過程。

1.3 過程建模方法

我們將一個復雜過程依據空間,邏輯等關系,劃分為若干個子過程。當然需要說明的是:第一:無論如何劃分,每個子過程必須滿足上面的約束性條件;第二:劃分過程的可行性。為了描述劃分的可行性,我們使用兩個定性的要求來限制,即獨立性和協調性。所謂獨立性,就是子過程應當具有自身的屬性,在離開上一層過程時可以獨立存在;協調性是指每個子過程應該具備一定的能力,這個能力使得其能夠參與上一層過程的行為。

2 基于過程的關系建模

2.1 子過程之間的聯系

復雜過程總可以劃分為若干個子過程,最終的結果是子過程只包含一個實體對象。實體對象應具備自己的完備屬性,并且能夠以關系的要求與其他實體對象相互聯系。如圖一所示[8]。我們將帶有運動特性的實體對象以關系為媒介組織起來,那么一個復雜過程最終會形成一種“網”的結構,網的每個結點是一個簡單的子過程。這種形式,不僅使得每個“結點”有很強的獨立性,而且在實現時,具有很強的拓展性和靈活性。

圖1 子過程與子過程之間的關系Fig.1 The relationship between subprocesses

2.2 基于過程的關系建模

子過程和子過程之間以關系的形式相互關聯,這個關聯作用的結果以行為的形式表現在實體對象上。我們將研究的對象定義為主體,與之有聯系的對象定義為客體。那么主體在具備基本屬性的前提下,應該擁有記錄與它直接相關的客體的關系以及這些關系對于主體行為作用結果的能力。我們為實體對象建立下面的結構[9]:

object{

對象ID;

頂點信息;

材質信息;

紋理信息;

關系表;

行為信息;

自定義(擴展);

}

對象ID表征了對象的身份。將頂點信息,材質信息和紋理信息稱為對象的繪制信息,關系表稱為動態信息。關系表表征了主體對象與直接相關的客體對象的聯系,這個聯系包含客體對于主體的約束性條件,約束性條件可能是復雜的方程,也可能是一個條件限制。行為信息直接表達了客體對象集合對于主體對象作用的結果,這個結果是客體對象約束性條件的疊加。

需要特別指出的是,行為信息記錄了行為結果,而對于各種約束性條件的控制卻單獨完成。如圖二所示。我們必須考慮主體對象的材質等屬性,因為來自客體的影響施加于主體,受到材質等屬性的制約。一種特殊的情況是,某個主體對象和客體對象為同一實體對象,此時的約束條件是實體對象本身具備的一種“能力”。提供這些能力對于快速實現動態化表達有重要意義,而且對于實現交互式操作也提供了可能[10]。

圖2 行為信息的獲得Fig.2 Acquire the movement information

3 復雜過程的實現

在1.2節中,我們列舉了兩種比較復雜的情況,這兩種情況都可以定義為一個過程,也可以同時出現在一個復雜系統中,然而他們在實現時卻有本質的不同。首先,我們將一個過程劃分為多個子過程,最終的結果是第N層的子過程只包含一個實體對象。這里會出現兩種情況,當N-1層子過程包含多個實體對象時,那么向上整個劃分過程定義為一個復雜過程的過程建模實現;當第N-1層包含多個實體對象,第N層子過程只包含一個實體對象,第N+M層也只有一個實體對象時,那么第N層向下整個劃分過程稱為復合對象的過程建模實現。由此看出,復雜過程實現是針對一個多實體對象的建模實現,而復合對象實現是針對一個多部件對象的“拆卸”的實現過程。

針對復雜過程建模方法的實質是將一個動態的場景,拆分為幾個實體對象的運動,然后將這些實體對象再融入一個畫面中,實現對于動態場景的近似。在計算機圖形學中,場景的動態特性是通過每個靜態場景或幀的微小變化的快速切換近似模擬的。因此在建模時我們關心的并不是實體對象為什么變化,而是在下一幀中圖形的行為信息。這需要一個控制器為我們準備這些變化信息。

通過上面的內容,我們可以總結這個控制器的功能。首先,這個控制器要返回行為信息;其次,能夠訪問關系表中的實體對象本身具備的運動能力和它受到的約束條件;最后,控制器應該具備強大的復雜方程解析能力和快速的運算能力,只有具備這些能力才能保證畫面的流暢。整個過程,我們用圖3表示。

圖3 復雜過程的實現Fig.3 The implementation of complex process

4 復合對象的實現

過程建模方法,應用于復合對象實質上是不斷拆分的過程。復合對象首先是一個完整的實體對象,具備自身的繪制信息,動態信息和行為信息,這樣它才具備獨立性和協調性;然后我們應該賦予其拆分的能力。這個能力允許復合對象的某個子過程能夠相對其它子過程完成一系列動作。我們使用樹來描述。這包含兩層意思,第一,復合對象只記錄它下一層的相關信息,即復合對象的節點只記錄它的孩子節點的關系信息,不記錄它的孩子節點的子節點;第二,這個關系信息只包含組裝的位置關系,相對的動作在子節點中。我們將這個拆分樹放在關系表中,并設立一個開關來管理拆分樹的開啟。我們為拆分樹建立如下結構。

tree_node{

obeject;//復合對象或最簡子過程;

int*child[];//指向它的孩子節點;

bool simple_obj;//表征該對象是否能拆分;position_recorder;//創建一個數據結構,這個結構以

//child指針為頭,以它的位置為數據單元;

}

5 舉 例

我們以太陽-地球-月球系統來驗證上邊提出的方法。

在太陽-地球-月球系統中,太陽位于中心位置,并且假定靜止,地球繞太陽公轉,地球的自轉;月球繞地球公轉,月球的自轉。我們將這個系統定義為一個過程,這個過程的第一層可以劃分為3個子過程,第二層出現3種子過程,這3種子過程每個只包含一個實體對象。如圖4所示。

我們使用下邊的數據結構來實現這些過程:

Pro{

ProcessID;//用于表征這個過程的身份;

int*child[];//用于指向他的孩子;

圖4 太陽-地球-月球系統的過程建模實現Fig.4 The implementation of process modeling for sun-earth-moon system

bool simple_pro,simple_obj;//第一個表示該子過程只包含

一個//實體對象,第二個表示該復合對象能否再劃分;

void pro_split();//用于劃分過程;包含兩重意思,一個是對于//多對象的劃分,一個是對復合對象的拆分;

}

對于最終的3種子過程,它們只包含一個實體對象,我們使用3DS來保存繪制信息,使用樹結構來記錄關系表,使用下面的數據結構來實現:

Object{

int ID;

char name;

bool com_true,switch;//第一個表征該對象是否為復合對象,第二//個控制復合對象拆分樹的開啟;

3dsobject;//讀取繪制信息;

relative_tree;//這個樹包含對象能力,對象關系,以及復合對象的//拆分樹;

Cvector location;//以下為行為信息;此條為位置信息;

Cvector scale;//此條為旋轉信息

}

我們來看這個例子的實現過程。其繪制信息都是一個球體,只是它們的大小不同。用下圖來分別表示他們的關系表。

圖5 各個對象的關系表匯總Fig.5 The relationship between objects

3個實體對象的行為信息,體現在每幀中的位置變化,為了獲得這些位置變化,同時獲得圖像刷新的速率(幀速率),我們調用timeGetTime()來提供一個參考值。我們取幀速率為V(一般在25~30),那么更新每幀的時間為1/V。我們取地球的公轉周期為Year,那么每幀地球的角位移為2π/(Year*V)。同理,月球的角位移為 2π/(Month*V)(注意,這個是在地月坐標系中),地球和月球的旋轉矩陣為Re和Rm。獲取了這些位置信息之后,我們調用display()函數來更新行為信息,使用RenderScene()來繪制圖形,程序的框架如下圖所示。

圖6 太陽-地球-月球系統的實現流程Fig.6 The implementation of sun-earth-moon system

使用上面的方法,我們得到的效果如圖7所示。

圖7 太陽-地球-月球系統的實現效果圖Fig.7 The simulated effect

6 結束語

文中提供了一種復雜過程和復合對象三維建模的方法,著重解決了復雜環境下過程實現和對象建模中遇到的問題,并提出了一種有效的解決方法。然而正如圖5所示那樣,實體對象之間的關系表存在比較嚴重的重復,這對于系統消耗來說是一種浪費,有待于進一步的改進。另外,虛擬現實技術是對于視聽觸等多感官的模擬,文中模型只是著眼于視覺的一種考慮,如何為模型提供更多感官接口,提供更強大的集成,有待于進一步的研究。

[1]楊四亦.計算機動畫運動生成的方法和原理[J].電子出版,1995.YANG Si-yi.The method and principle of computer animation motion generated by[J].Electron Publishing,1995.

[2]唐斌.3D角色動作生成技術現狀[J].黑龍江科技信息,2009(19):080.TANG Bin.The actuality of 3D movement generated technology[J].Heilongjiang Science and Technology Information,2009(19):080.

[3]Wachter S,Nagel H H.Tracking of persons in monocular image sequences [C]//Nonrigid and Articulated Motion Workshop, 1997.Proceedings., IEEE.IEEE,1997:2-9.

[4]王建坡.三維實體模型相關技術研究[D].鄭州:解放軍信息工程大學,2011.

[5]張合,劉小紅.面向對象的對象建模技術及其應用研究[J].軟件,2011,32(3):66-68.ZHANG He,LIU Xiao-hong.Researches on object-oriented object modeling technology and its application[J].Software,2011,32(3):66-68.

[6]Smelik R M,Tutenel T,de Kraker K J,et al.A declarative approach to proceduralmodeling ofvirtualworlds[J].Computers&Graphics,2011,35(2):352-363.

[7]張晉西,郭學琴.SolidWorks及COSMOSMotion機械仿真設計[M].北京:清華大學出版社,2007.

[8]劉茗.淺論動畫制作的技巧[J].淮海工學院學報,2001(5):79-82.LIU Ming.A Brief Study on the techniques of animation[J].Journal of huaihai institute of technology,2001(5):79-82.

[9]蔡勇,楊振中.基于 OpenGL的三維建模仿真軟件開發[J].兵工自動化,2004,23(4):9l-92.CAI Yong,YANG Zhen-zhong.Development of 3D modeling and simulation software based on OpenGl[J].Ordnance Industry Automation,2004,23(4):9l-92.

[10]Angel E.Interactive computer graphics[M].Addison-Wesley Longman Publishing Co., Inc.,1999.

猜你喜歡
定義信息
永遠不要用“起點”定義自己
海峽姐妹(2020年9期)2021-01-04 01:35:44
定義“風格”
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
修辭學的重大定義
當代修辭學(2014年3期)2014-01-21 02:30:44
山的定義
公務員文萃(2013年5期)2013-03-11 16:08:37
教你正確用(十七)
海外英語(2006年11期)2006-11-30 05:16:56
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 亚洲天堂高清| 99成人在线观看| jijzzizz老师出水喷水喷出| 美女毛片在线| 亚洲日韩精品无码专区| 欧美另类一区| 免费观看国产小粉嫩喷水| 久久国产精品无码hdav| 亚洲人成色在线观看| 在线精品视频成人网| 亚洲Av综合日韩精品久久久| 在线视频一区二区三区不卡| 亚洲精品欧美日韩在线| 国产成人高清亚洲一区久久| 国产91九色在线播放| 久久成人免费| 亚洲aaa视频| 亚洲最大福利网站| 中文字幕亚洲第一| 99久久精彩视频| 狂欢视频在线观看不卡| 自拍偷拍一区| 一本大道在线一本久道| 婷婷亚洲最大| 亚洲人成网站在线播放2019| 国产美女一级毛片| 国产成人久久777777| 日韩精品一区二区三区大桥未久 | 91青青草视频| 在线观看精品国产入口| 国产成人1024精品下载| 国产性爱网站| 亚洲成a人片| 欧美日韩另类在线| 国产精品福利在线观看无码卡| 色婷婷亚洲综合五月| 欧美啪啪一区| 午夜不卡福利| 亚洲综合精品香蕉久久网| 最近最新中文字幕免费的一页| 精品久久人人爽人人玩人人妻| 免费高清a毛片| 国产精品亚欧美一区二区| 一级毛片中文字幕| 欧美第一页在线| 亚洲欧美精品一中文字幕| 国产精品无码AV中文| 99久久精品国产综合婷婷| 99精品国产高清一区二区| 欧美日本在线观看| 无码AV动漫| 91精品国产91欠久久久久| 丁香五月亚洲综合在线| 亚洲一区免费看| 国产情侣一区二区三区| 国产精品欧美在线观看| 亚洲成人77777| 亚洲成a人片| 四虎永久免费地址在线网站| 欧洲av毛片| 亚洲综合第一区| 在线观看精品自拍视频| 18禁黄无遮挡网站| 国产男女免费视频| 亚洲视频影院| 欧美日韩成人在线观看| 国产综合在线观看视频| 国产免费人成视频网| 精品国产免费第一区二区三区日韩| 一区二区欧美日韩高清免费| 精品视频一区二区观看| 久久国产精品娇妻素人| 精品伊人久久久大香线蕉欧美 | 欧美成人午夜视频免看| 欧美va亚洲va香蕉在线| 亚洲精品第五页| 十八禁美女裸体网站| 2020精品极品国产色在线观看 | 91娇喘视频| 亚洲精品少妇熟女| 波多野结衣亚洲一区| 久久精品电影|