加载中…
个人资料
了凡春秋
了凡春秋
  • 博客等级:
  • 博客积分:0
  • 博客访问:19,468
  • 关注人气:2,078
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Matlab虚拟现实工具箱简单使用

(2011-06-09 14:10:36)
标签:

虚拟现实

4a

工具箱

direct3d

小球

分类: Matlab

网上看到一个介绍Matlab虚拟现实工具箱使用的例子,手把手的教,讲的挺好的,接触一下!

记得武林外传里老邢的一句话很经典:有时候,抓贼就是这么简单!想想也是,有时候学知识就是这么简单,尝试一把,什么都会了。

原文网址http://www.ilovematlab.cn/viewthread.php?tid=9073&highlight=虚拟现实+工具箱,这里做了修改扩展。

 

    先介绍一下虚拟现实,所谓虚拟现实(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检查是否安装成功;安装过程似乎比较长啊,尤其是装viewer的时候。

>>  vrinstall -install
Installing blaxxun Contact viewer ...
Do you want to use OpenGL or Direct3D acceleration? (o/d) d
Starting viewer installation ...
Done.
Starting editor installation ...
Done.

>> vrinstall -check
    External VRML viewer:    installed
    VRML editor:    installed

可以在matlab的Preferences中查看使用的VRML editor ,还可以做出修改,如下

image

 

第二步:制作一个包含小球的三维模型
打开<matlab root>\toolbox\vr\vrealm\program\vrbuild2.exe  %<matlab root>为matlab安装的路径,我的matlab是最新的2011版本,此文件路径为toolbox\sl3d\vrealm\program\vrbuild2.exe

image
然后ctrl+N(点file菜单下的new也可以,表示新建一个三维实体),选中左边的New world,然后点击工具栏上图标为一个球的按钮,即添加了一个小球(你也可以添加其他的)

image

将左边的transform改成ball(名字而已),此时你可以看到它下面有一些center、rotation、scale、scaleOrientation、translation等等,这些就是matlab下可以控制的(下一步将介绍)。此时你可以修改这个小球的大小,位置,颜色等。还可以添加一些其他的三维实体,像灯光、fog、背景、视角等等。这儿就不介绍了,随便你们怎么玩吧。

image

此时点击保存,这儿我保存为ball.wrl,wrl文件是vrml格式(vrml格式其实就是跟html一样,一种固定格式,只是面对的对象不同,你可以用文本编辑器看看它的格式)

image

另外还可以在3D World Editor中查看.wrl模型,

image

打开并显示VRML模型

image

 

第三步:终于可以用matlab虚拟现实了,^_^,爽阿
这里主要介绍在simulink虚拟现实,打开simulink,新建一个model,在其中加入一个VR Sink模块

image

双击它,在左边的source file旁点击browse,选中我们第二步做的ball.wrl,然后点击右下角的apply按钮,看看,右边的root下是不是多了一个ball

image

将它展开,选中translation(平移,这里我们主要在simulink控制他),再点ok,可以看到VR Sink多了一个输入口,旁写着ball.translation

image

呵呵,没错,就是我们刚才选中的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---sources下),将Ramp、Sine Wave、Constant三个模块分别接上mux的三个输入(由上而下),mux的输出接VR Sink的输入了。嗯,整个系统搭接完成,可以运行了,好紧张阿.

image

双击VR Sink模块,在左边的source files旁边点击view(这将你小球实体显示了出来,6.5下是一个浏览器,6.1是一个网页),Matlab2010则自动打开如下窗口

image

然后在新建的model下点击运行,看看,我们的小球是不是正在跳舞呢,^O^,你可以自己设计小球的运动曲线,只需修改输入就可以了。

imageimage

imageimage

virual reality ToolBox下VR source(虚拟现实源,将虚拟现实的一些输出给simulink),还有Joystick input(游戏杆输入)等等模块,大家都可以试试,这儿就不介绍了(其实是大多数我并不太懂,^_^)
在matlab的workspace下也有一系列的命令:可以用help vr看看那些命令可用,再help 具体的命令就可以了;还可以打vrdemos,看看演示,好多例子的,比我刚才那个小球强多了,呵呵

我觉得matlab的virtual reality ToolBox还是很有发展前途的,因为我们可以将simulink下的仿真用三维实体表示出来,比如说我们控制一个机器人,就可以不再是得到机器人的位置曲线等等,还可以直接画出三维的机器人,然后看他究竟是怎么动的,^_^,好爽!

virtual reality ToolBox就简单的介绍到这儿,希望能够抛砖引玉。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有