[转]matlab的Virtual Reality(虚拟现实)工具箱的应用简介

http://www.ilovematlab.cn/thread-9073-1-1.html

matlab的Virtual Reality(虚拟现实)工具箱的应用简介

这几天在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下的 仿真用三维实体表示出来,比如说我们控制一个机器人,就可以不再是得到机器人的位置曲线等等,还可以直接画出三维的机器人,然后看他究竟是怎么动的,^_^,好爽!
   virtual reality ToolBox就简单的介绍到这儿,希望能够抛砖引玉

你可能感兴趣的:([转]matlab的Virtual Reality(虚拟现实)工具箱的应用简介)