資源每日更新
回復「遊戲」: 獲取精選排行榜VR遊戲
回復「視頻」: 獲取360°全景VR視頻
回復「電影」: 獲取優質VR分屏電影
回復「投票」: 參與線下VR體驗館調查
投稿:神秘人
這幾天鑽在mathtools裡,發現沒有這個工具箱的討論,所以我想盡我所能介紹一下虛擬實境工具箱在matlab中的應用。
(如需轉載,請聯繫小館)
先介紹一下虛擬實境,所謂虛擬實境(vitual reality),是指採用各種技術,來營造一個能使人有置身於真正的現實世界中的感覺的環境。也就是要能使人產生和置身於現實世界中相同的視覺,聽覺,觸覺,嗅覺,味覺等。目前的研究還主要集中在前面三項,主要是第一項,它具有五大特徵:
(1)立體感的視覺效果(2)存在感(3)多感知性(4)閉環交互方式(5)動態顯示
matlab的虛擬實境工具箱就是讓我們在matlab下虛擬實境,為什麼非得在matlab下用呢?這是因為可以利用matlab和simulink的強大功能來操作三維實體的位置、角度等等。
說了這麼多,還是舉個小例子吧。我們來做一個三維的小球運動的虛擬實境:
第一步當然是先做準備了:安裝三維實體的製作器和瀏覽器
matlab自帶了三維實體製作器和瀏覽器,安裝步驟如下:
在workspace下打 vrinstall -install viewer %安裝瀏覽器,matlab會提示你是選擇OpenGl加速還是Direct3d加速,按o或d選擇選擇完後,會出現blaxxun Contact viewer的安裝程序,將它裝上就可
再打vrinstall -install editor %安裝製作器,用vrinstall -install會將兩者都裝上
可以用命令vrinstall -check檢查是否安裝成功
第二步:製作一個包含小球的三維模型
打開<matlab root>/toolbox/vr/vrealm/program/vrbuild2.exe %<matlab root>為matlab安裝的路徑
然後ctrl+N(點file菜單下的new也可以,表示新建一個三維實體),選中左邊的New world,然後點擊工具欄上圖標為一個球的按鈕,即添加了一個小球(你也可以添加其他的),將左邊的transform改成ball(名字而已),此時你可以看到它下面有一些center、rotation、scale、scaleOrientation、translation等等,這些就是matlab下可以控制的(下一步將介紹)。此時你可以修改這個小球的大小,位置,顏色等。還可以添加一些其他的三維實體,像燈光、fog、背景、視角等等。這兒就不介紹了,隨便你們怎麼玩吧。此時點擊保存,這兒我保存為ball.wrl,wrl文件是vrml格式(vrml格式其實就是跟html一樣,一種固定格式,只是面對的對象不同,你可以用文本編輯器看看它的格式)
第三步:終於可以用matlab虛擬實境了,^_^
這裡主要介紹在simulink虛擬實境,打開simulink,新建一個model,在其中加入一個VR Sink模塊(在Virtual Reality ToolBox下)雙擊它,在左邊的source file旁點擊browse,選中我們第二步做的ball.wrl,然後點擊右下角的apply按鈕,看看,右邊的root下是不是多了一個ball,將它展開,選中translation(平移,這裡我們主要在simulink控制他),再點ok,可以看到VR Sink多了一個輸入口,旁寫著ball.translation,呵呵,沒錯,就是我們剛才選中的translation,你可以在屬性窗口中多選中幾個,就可以多控制幾個。translation是平移坐標,分x,y,z,即在x、y、z軸上的平移。在model中加一個mux(simulink--signal routing下,改Number of input為3)、Ramp(x軸上平移)、Sine Wave(y軸上按sin函數移動),constant(z軸不動)(後三個模塊都在simulink---source下),將Ramp、Sine Wave、Constant三個模塊分別接上mux的三個輸入(由上而下),mux的輸出接VR Sink的輸入了。嗯,整個系統搭接完成,可以運行了,好緊張阿.雙擊VR Sink模塊,在左邊的source files旁邊點擊view(這將你小球實體顯示了出來,6.5下是一個瀏覽器,6.1是一個網頁),然後在新建的model下點擊運行,看看,我們的小球是不是正在跳舞呢,^O^,你可以自己設計小球的運動曲線,只需修改
輸入就可以了。
virual reality ToolBox下VR source(虛擬實境源,將虛擬實境的一些輸出給simulink),還有Joystick input(遊戲杆輸入)等等模塊,大家都可以試試,這兒就不介紹了(其實是大多數我並不太懂,^_^)
在matlab的workspace下也有一系列的命令:可以用help vr看看那些命令可用,再help 具體的命令就可了
還可以打vrdemos,看看演示,好多例子的,比我剛才那個小球強多了,呵呵
我覺得matlab的virtual reality ToolBox還是很有發展前途的,因為我們可以將simulink下的仿真用三維實體表示出來,比如說我們控制一個機器人,就可以不再是得到機器人的位置曲線等等,還可以直接畫出三維的機器人,然後看他究竟是怎麼動的。
BY VR館