matlab如何建立和连接虚拟世界

 时间:2024-09-26 05:25:20

本示例说明如何使用3D世界编辑器创建简单的虚拟世界。该示例并未显示您可以使用编辑器进行的所有操作。但是,该示例确实向您展示了如何执行一些基本任务以开始使用。本示例假定您已将默认编辑器设置为3DWorld编辑器。有关详细信息,请参见设置默认编辑器。本例介绍的步骤来构建虚拟世界的简化版本,你看,如果你在MATLAB输入这个命令®命令窗口:编辑(vrworld('vrdeform.wrl'))

工具/原料

电脑

matlab软件

方法/步骤

1、定义问题假设您要在虚拟现实中模拟和可视化球体的变形。在您的虚拟世界中,您希望有两个框代表刚性板(B1,B2)和它们之间的弹性球体(S)。所有三个对象均沿x轴居中对齐。框B1和B2以相同的速度向S移动,但方向相反。当它们到达球体S时,它们开始通过减小其x尺寸并拉伸其y和z尺寸来使其变形。这是虚拟世界的外观:

matlab如何建立和连接虚拟世界

2、下表列出了您为此示例创建的对象的位置和尺寸。

matlab如何建立和连接虚拟世界

3、在Simulink的®3D动画™产品包括教程模型vrtut3。这个简化的模型模拟了弹性球体的变形。与刚性块碰撞后,球的x尺寸从1减小到0.4。此外,y和z尺寸会扩大以使变形球体-椭球体的体积保持恒定。模型中的其他块将正确大小的矢量提供给Simulink3DAnimation块。当球体在x方向上变形为原始大小的0.4倍时,模拟将停止。

4、您的第一个任务是打开Simulink模型并将Simulink3D动画块添加到模型中。

5、添加Simulink3D动画块此过程使用Simulink喋碾翡疼模型vrtut3演示如何将Simulink泌驾台佐3D动画块添加到模型中。该模型生成B1的位置,B2的位置和S的尺寸的值(如“定义问题”中所述)。打开Tutorial#3。例。在打开的页面顶部,选择打开此示例。将vrtut3文件保存到您的MATLAB工作文件夹中。在MATLAB中,将当前文件夹更改为您的MATLAB工作文件夹。在MATLAB命令窗口中,输入:vrtut3将打开一个Simulink窗口,其中包含一个包含Simulink3DAnimationVR信号扩展器模块的模型,但没有VRSink模块可将数据从模型写入Simulink3DAnimation。相反,此模型使用范围块临时监视相关信号。在MATLABCommandWindow中,键入vrlib将打开Simulink3D动画库。从“库”窗口中,将VRSink块拖放到Simulink图中。然后,您可以关闭“库浏览器”窗口。您的下一个任务是创建一个将与VRSink块关联的虚拟世界。请参阅打开新的虚拟世界。

6、打开一个新的虚拟世界您必须创建一个虚拟世界才能连接到Simulink模型以可视化信号。此过程将打开一个新的虚拟世界,在其中添加用于可视化模型信号的节点vrtut3。虚拟世界和Simulink模型之间的连接要求该模型包含一个VRSink块,如添加Simulink3D动画块中所述。在空的虚拟世界中启动3D世界编辑器。在MATLABToolstrip的“应用程序”选项卡的“仿真图形和报告”部分中,单击“3D世界编辑器”。3D世界编辑器显示:在左窗格中,只有一个ROOT节点的虚拟场景树在右窗格中,一个空的虚拟世界在底部窗格中,一个用于编辑对象的空白窗格您可以随时保存虚拟世界。将虚拟世界保存在文件所在vrtut3.wrl的相同工作文件夹中vrtut3。不要关闭3D世界编辑器。接下来的两个任务将创建一个虚拟世界以用于vrtut3模型:添加节点建立和连接虚拟世界

7、添加节点创建盒子定义虚拟世界对象涉及定义节点的层次结构。踊辽嚏囱此示例示出了如何定义Transform节点的下ROOT节点,每个Transform节点包括的层次结构childre荏鱿胫协n,Shape,Appearance,Geometry,和特定的形状(在这种情况下,Box)节点。在左窗格的树中,单击ROOT(最上面的项)。Transform使用以下菜单选择序列添加节点。该Transform节点用于B1框。命名Transform节点:右键单击该Transform节点。选择“编辑名称”菜单项。在Transform节点左侧的编辑框中,键入B1。添加一个Shape节点:展开B1Transform节点。选择children节点。Shape使用以下菜单选择序列添加节点:Appearance为Shape节点添加一个节点:在Shape节点下,选择appearance(SFNode)节点。Appearance使用以下菜单选择序列添加节点。将Material节点添加到该Appearance节点:展开(Appearance)节点并选择该material(SFNode)节点。Material使用以下菜单选择序列添加节点。将Box节点添加到该geometry节点:选择geometry(SFNode)节点的(Shape)节点。Box使用以下菜单选择序列添加节点。展开所有节点后,“3D世界编辑器”现在在虚拟世界显示窗格中显示一个框。通过编辑框的size属性来使其更小:选择节点的size属性Box。在3D世界编辑器底部的对象属性编辑窗格中,0.3在第一栏中输入,1在第二和第三栏中输入。点击应用。盒子变小了。通过更改节点的translation(SFVec3f)属性,将框向右移动B1(Transform)。在对象属性编辑窗格中,将第一列设置为3,将第二列和第三列设置为0。添加第二个类似于第一个框的框。在ROOT节点下,添加一个Transform节点(请参阅步骤2)并命名B2(请参阅步骤3)。复制Shape节点。在B1Transform节点下,右键单击Shape节点中的B1Transform节点,然后选择“复制”菜单项。将复制的Shape节点粘贴到该B2Transform节点中。在B2Transform节点下),右键单击该children节点,然后选择“粘贴节点”>“粘贴”菜单项。随着B1节点的折叠和B2节点的展开,“3D世界编辑器”如下图所示。1通过更改节点的translation属性,将您创建的框移动到左侧B2(Transform)。在对象属性编辑窗格中,将第一列设置为-3,将第二列和第三列设置为0。

matlab如何建立和连接虚拟世界

matlab如何建立和连接虚拟世界

matlab如何建立和连接虚拟世界

matlab如何建立和连接虚拟世界

matlab如何建立和连接虚拟世界

matlab如何建立和连接虚拟世界

matlab如何建立和连接虚拟世界

matlab如何建立和连接虚拟世界

8、创建一个球体您的下一个任务是在两个框之间添加一个球体。本节假定您已完成“添加节点”中描述的任务。为了使树结构窗格更容易地集中在要添加的节点上,请折叠B1(Transform)和B2(Transform)节点。在左窗格的树中,单击“ROOT节点”。添加一个Sphere节点。3D世界编辑器包括用于建立虚拟世界的对象库,其中包括一个Sphere对象。Sphere使用以下菜单选择序列添加库对象。从组件库文件夹列表中,选择Shapes文件夹,然后选择Sphere.wrl文件。选择Transform节点并命名S。在STransform节点完全展开而其他Transform节点折叠的情况下,“3D世界编辑器”如下图所示。要使球形变为蓝色,请在Material节点下选择diffuseColor属性。在对象属性编辑窗格中,将第一列的值更改为0.2,将第二列的值更改为1,将第三列的值更改为1。保存虚拟世界文件。您的下一个任务是将模型输出连接到Simulink模型中的Simulink3DAnimation模块。请参阅链接到Simulink模型。

matlab如何建立和连接虚拟世界

matlab如何建立和连接虚拟世界

matlab如何建立和连接虚拟世界

9、链接到Simulink模型创建虚拟世界和带有VRSink块的Simulink模型后,定义模型信号与虚拟世界之间的关联。

10、注意此过程以模型vrtut3为例。假定您已打开模型并添加了VRSink块,并且已创建了一个名为的虚拟世界vrtut3.wrl。请参阅从添加Simulink3D动画块开始的教程。

11、龅歧仲半打开“VR接收器块参数”对话框。在Simulink编辑器中,双击VRSink块。在“源文件”编辑框旁边,单击“浏览”。选择即枢潋雳vrtut3.wrl,然后单击打开。在“输出”窗格中,选择“自动打开查看器”。此复选框指定在运行模型时启动虚拟世界的查看器。对于Description参数,输入vrtut3。在“VRSink”对话框中,单击“应用”。在树结构窗格中,选择B1平移,B2平移和S比例复选框作为要连接到模型信号的节点。单击确定。将显示VRSink块以及相应的输入。删除三个示波器模块及其关联的输入信号线。将来自两个VR信号扩展器模块的输入线连接SScalinginXYZ到VRSink模块中的相应端口。双击VRSink块。查看器出现。1在查看器中,选择“仿真”>“块参数”选项。您的默认查看器将打开并显示虚拟世界。有关更改默认查看器的更多信息,请参见设置默认查看器。1在“VR接收器块参数”对话框中,单击“查看”按钮。1在Simulink编辑器中,选择Simulation>Run。在默认查看器中,您会看到场景的3D动画。使用查看器控件,您可以从各个角度观察动作。当球体的宽度减小到其原始大小的0.4时,模拟将停止运行。

matlab如何建立和连接虚拟世界

matlab如何建立和连接虚拟世界

matlab如何建立和连接虚拟世界

12、本示例向您展示如何创建和使用简单的虚拟现实模型。使用相同的方法,可以创建更复杂的模型来解决您面临的特定问题。

matlab fig图形属性修改 手把手教你用matlab绘制极坐标下柱状图 如何安装指定版本的numpy Adams2012无法启动 遗传工具箱goat安装使用
热门搜索
如何画漫画人物 今天开始做魔王漫画 海啸图片 樱花通信漫画 李连杰图片