虛擬現(xiàn)實課件_第6章(教師-王洪群).ppt_第1頁
虛擬現(xiàn)實課件_第6章(教師-王洪群).ppt_第2頁
虛擬現(xiàn)實課件_第6章(教師-王洪群).ppt_第3頁
虛擬現(xiàn)實課件_第6章(教師-王洪群).ppt_第4頁
虛擬現(xiàn)實課件_第6章(教師-王洪群).ppt_第5頁
免費預覽已結(jié)束,剩余18頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、1、虛擬現(xiàn)實技術、講師:王洪群、whq_、2、第6章VR編程、工具包和場景圖、world工具包、JAVA 3D、通用觸覺開放軟件工具包、PeopleShop、3、模擬對象基本圖形語言:支持OpenGL、world工具包、Java 3D、VRML、通用套件、GHOST、PeopleShop、跟蹤器、傳感器手套、HMD、表等各種IO設備獨有的、和軍事模擬用、4、場景圖:圖形編程和觸覺編程中的創(chuàng)作任務之一是制作場景圖。 這是虛擬世界中所有對象(可見或不可見)和世界視圖的層次結(jié)構。 在應用階段,CPU執(zhí)行場景圖的各部分(子樹)和虛擬相機觀察體的交叉測試,包圍體和觀察體交叉時,其中包含的所有對象都被傳送

2、到管線。 中的組合圖層性質(zhì)變更選項。 葉節(jié)點表示可見對象及其屬性(幾何體、外觀和行為),并且是外部節(jié)點。 內(nèi)部節(jié)點:通常表示變換。 用于確定子對象和根對象以及其他對象在空間中的位置關系。 另外,在場景圖中,球的葉節(jié)點(包含其幾何體屬性和顏色屬性)是內(nèi)部節(jié)點的子節(jié)點,能夠通過變更內(nèi)部節(jié)點的值來反映球的跳躍效果。 抓住虛擬球后,它將成為手掌對象的子節(jié)點。 掌上的父節(jié)點表示基于用戶佩戴的跟蹤器數(shù)據(jù)實現(xiàn)各種轉(zhuǎn)換。 5,WorldToolKit(WTK ),Geometries (幾何學),Nodes (節(jié)點),Viewpionts (視點),WTK工具包的類,WTK的一個場景地圖的例子,視點,同一場景

3、的多個視圖,6,world toolkit 幾何原語* /幾何原語();幾何原語: WTgeometry_begin (); 自定義幾何*/WTpoly_addvertex (); WTgeometry_save (); wtgeometrynode _ load (加載); 文件名,文本加載。 引入紋理*/WTtexture_setfilter (); /*操作紋理*/WTpoly_settexturestyle (); /*紋理的透明度處理和融合*/,7,WorldToolKit(WTK ),WTK構筑場景圖的編程示例:/*-加載手模型幾何體-*/palm /*根節(jié)點*/thumb dis

4、tal=wtmovnode _ load () 索引參數(shù)=wtmovnode _ load (參數(shù)、索引參數(shù). nff、1.0 ); 索引中間=wtmovnode _ load (索引代理、索引代理. nff、1.0 ); 構建場景圖-*/WTmovnode_attach(Palm、ThumbProximal ); /*拇指與手掌連接*/wtmovnode _ attach (手機代理,手機距離); /*拇指根部和拇指末端的連接*/WTmovnode_attach(Palm,索引代理); 掌和食指的根部*/wtmovnode _ attach (索引代理,索引中間); /*食指的根部和食指的中

5、央*/,8,WorldToolKit(WTK ),WTK構筑的虛擬手的場景圖,9, 世界工具包(WTK )、WTK的模擬進程:初始化: WTuniversenew ()加載:進入wtuniverseload (文件名)模擬循環(huán): WTuniversego () 中止整個程序: wtuniversestop ball=wtspaceball _ new (serial2):/*將軌跡球Space ball附加到串行端口*/,視點對象:在宇宙中隨時只有一個活動視點,函數(shù)wtt、10、世界工具包(WTK )、WTK傳感器的控制示例:主() wtsensor * polhemus、*ball; wt節(jié)

6、點* root、*scene; /*加載根節(jié)點和場景節(jié)點或視點節(jié)點*/wt universe _ new (wt display _ default,wt window _ default ) root=wt universe _ gew/*加載場景,并選擇根節(jié)點*/scene 1.0 ) polhemus=wt polhemus _ new (將串行端口跟蹤器安裝到串行端口1 */ball=wtspaceball _ new (串行2 ); 視圖點地址(通用地址)或者輪詢點(輪詢點)。 /*將模擬視圖附著到控制模擬視圖的跟蹤器polhemus */wt view point _ addres

7、s or (wt通用_ getview point ()、空間球); wt通用版本(); 開始模擬*/WTuniverse_go (); wt通用_刪除(); 返回0;11、WorldToolKit(WTK )、WTK網(wǎng)絡開發(fā)、2層客戶端/服務器結(jié)構通過World2World擴展庫實現(xiàn),位于UDP互連協(xié)議的上層。 只有鎖定共享對象組的客戶才能更改對象的屬性。 12,JAVA 3D,幾何建模:點3 f my coords=新點0.0f、0.0f、0.0f /*創(chuàng)建定點坐標列表*/。 0.0f /*創(chuàng)建定點法線向量列表*/*創(chuàng)建三角形數(shù)組*/trianglearraymytris=newtrian

8、gleararry (my coords.length,geometry array ) my tris.set coordinates (0,0 設置正規(guī)(0,我的正規(guī)); 組合形狀- * /形狀3 dmyshape=新形狀3 d (mytrape3d )。 有不依賴于平臺的優(yōu)點。 13、JAVA 3D,將外觀:/*文件加載到場景圖表中*/Scene SC=loader.load(Hand.wrl ); 分支組BG=sc.getscenegroup (); /*訪問已裝載模型的指定部分*/Thumb=Bg.getChild(0); 索引=BG.get child (1); 對象的外觀-*/m

9、at=新材料(); 最新版本(r,g,b ) tex LD=新版本(checkered.jpg ) tex=新版本(); 設置材料(mat ); 設置紋理(tex ); 地理位置(appr ); 只有鏈接到、14、JAVA 3D、JAVA 3D場景圖、場景節(jié)點和本地節(jié)點的分支處于活動狀態(tài),并且可以在場景中繪制。 群組節(jié)點,群組節(jié)點:定義連接分支中元素的子圖。 變換組節(jié)點確定葉節(jié)點的位置和方向。 Viewplatform對象:定義虛擬相機在虛擬世界中的位置和方向。 View對象、View對象:在模擬器輸入設備的輸入與圖形和聲音顯示設備的輸出之間建立聯(lián)系。 一個或多個Canvas 3D對象,包括C

10、anvas 3D對象:用于選擇要顯示的屏幕區(qū)域。 PhysicalBody對象:定義用戶的特性。PhysicalEnvironment對象:描述模擬中使用的圖形顯示裝置的類型(CRT、立體頭盔顯示器)、15、JAVA 3D、虛擬手的示例:將幾何信息加載到VRML中并放入組*/的thuu /*創(chuàng)建虛擬機械手層次*/palm.addchild (真實版); 小型專業(yè)機器人(小型數(shù)字); 索引代理人(palm.addchild ); 索引代理. addchild (索引中間); indexmilddle.addchild (索引數(shù)字); 16、JAVA 3D、JAVA 3D強調(diào)了通用性:平臺無關性和

11、高級圖形API的通用性。 可從實際軟元件讀取數(shù)據(jù),也可從虛擬軟元件讀取數(shù)據(jù)。 IputDevice對象、SensorRead對象和View對象在模擬器輸入設備的輸入與圖形和音頻顯示設備的輸出之間建立關系。 描述顯示設備的類型、屏幕區(qū)域、用戶和跟蹤器的位置、用戶特征等。 提供Java 3D場景圖、視圖平臺節(jié)點和虛擬世界的觀察模式。 調(diào)度范圍,用戶指定的包圍對象和行為包圍體。17、JAVA 3D、網(wǎng)絡開發(fā): virtualrealitytransferprotocol (virtualrealitytransferprotocol )簡稱VRTP。 JAVA 3D與WTK的性能比較、通用觸覺開放軟

12、件包、WTK與JAVA 3D套件主要支持圖形反饋和三維聲音反饋。 通用觸覺開放軟件包(generalhapticsopensoftwaretookit,簡稱GHOST ),VR引擎單獨處理繪圖線和觸覺繪圖線。 觸覺周期包含不同的場景地圖。根據(jù)PHANToM司服周期的要求,每秒1000次方便。 GHOST與圖形管線的集成、18、GHOST觸覺場景圖、Abstract node (抽象節(jié)點)、Geometry Nodes (幾何節(jié)點)、Dynamic Property node (動態(tài)屬性節(jié)點)、 觸覺接口設備節(jié)點,效果節(jié)點,操作節(jié)點,操作節(jié)點,數(shù)據(jù)類型(Data Types ) GHOST觸覺場

13、景圖,機器人的GHOST場景圖,20,GHOST代碼示例: include # include # include/*管理觸覺場景和模擬*/GST separator * root=newgstset /*分離節(jié)點*/GST sphere * sphere=newgstsphere; 幾何節(jié)點類型*/Sphere-setRadius(20 ); /*下面是觸點接口類*/GST phantom * phantom=newgstphantom (phantom name ); 根代碼(phantom ); 根添加(sphere ); 按下根(根); Scene-startSevoloop (); 觸覺循環(huán)! 通過調(diào)用scene-getdoneservoloop ()/* scene-stopservoloop (),結(jié)束應用程序*/,21,圖形和PHANToM補償,虛擬相機觀察了錐體。 22,PeopleShop API是一個基于OpenGL或Direct3D的C/C可鏈接對象庫,與WTK、JAVA 3D和VRML不同,PeopleShop允許任務級編程。 使用鼠標,從

溫馨提示

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

評論

0/150

提交評論