• 【Matlab系列】之虚拟现实仿真及其可视化方法


    DATE: 2019-3-3


    1、参考

    https://ww2.mathworks.cn/help/sl3d/f4-29490.html?requestedDomain=zh
    https://www.docin.com/p-1777534396.html

    2、VRML语言基本语法

    参考自:https://blog.csdn.net/cfqcfqcfqcfqcfq/article/details/73870608
    一、VRML是什么

    VRML是虚拟现实造型语言 (VirtualReality Modeling Language) 的简称。

    二、VRML文件的组成部分和文件头

    VRML文本的文件名后缀是 .wrl,这是一种ASCII文本文件。VRML文件可以包括四个主要成分:

    VRML文件头
    原型
    造型和脚本
    路由

    每个文件都有一个文 件头,VRML1.0的文件头和2.0的文件头是不一样的。VRML1.0的文件头是#VRMLV1.0 asciiVRML 2.0的文件头是,我们这里只讨论VRML2.0#VRML V2.0 utf8 在VRML文件中可以加入注解,只要在注解前加入#即可。下面是一个简单的VRML文件,它在三维空间中建立一个立方体。

    #VRMLV2.0 utf8 
    
    Shape { 
    appearance Appearance { } 
    material Material { } 
    } 
    geometry Box { } 
    } 
    

    三、几个基本造型

    所有VRML造型都使用Shape节点创建。

    Shape节点的语法是:

    Shape{ 
    appearance NULL 
    geometry NULL 
    }
    

    其中appearance域的值定义一个节点,该节点定义造型的外观,包括颜色和表面纹理等。当它为NULL值时建立的造型是无纹理的白色有阴影物体。它将在后面介绍。geometry域的值定义一个节点,该节点定义造型的3D构造及几何结构。典型的几何结构有Box,Cone,Cylinder和Sphere,它们都可以作为geometry的值。

    Box节点的语法是
    Box{
    size 2.0 2.0 2.0 #长 高 宽(x y z 三个方向,注:2.02.0 2.0是缺省值,下同)
    }

    Cone节点的语法是Cone{
    bottomRadius 1.0 # 圆锥底部半径
    height 2.0 # 圆锥的高
    side TRUE # 是否创建圆锥的锥面
    bottom TRUE # 是否创建圆锥的底
    }

    Cylinder节点语法Cylinder{
    radius 1.0 # 园柱底的半径
    height 2.0 # 园柱高
    side TRUE # 是否创建园柱曲面
    top TRUE # 是否创建园柱顶
    bottom TRUE # 是否创建园柱底
    }

    Sphere节点语法Sphere{
    radius 1.0 # 球体的半径
    }以上语法中的值,是缺省值,下同。下面是一个简单的VRML文件,它创建一个白色的,无纹理的长、高、宽分别为2.2,1.0和1.5的长方体。

    #VRMLV2.0 utf8
    Shape {
    appearance Appearance {
    material Material { } # 白色无纹理的物体(material是appearance中的一个属性,我们以后接触)
    }
    geometry Box { size 2.2 3.0 1.5 } # 长方体
    }

    3、虚拟现实模型wrl可视化方法

    方法一:
    参考网址: https://wenda.so.com/q/1535522172214075

    myworld = vrworld('vrmount.wrl')   //加载VRWORLD
    open(myworld); // 打开VRWORLD
    set(myworld, 'Description', 'My first virtual world'); //设置VRWORLD相关参数
    view(myworld) // VRWORLD
    
    xx=vrworld('wrl/cross.wrl'); //加载VRWORLD
    vrfigure(xx)//显示VRWORLD
    xx=vrview('wrl/cross.wrl');//直接显示VRWORLD
    

    方法二:
    Record animations of Simulink 3D Animation virtual worlds
    参考网址:https://ww2.mathworks.cn/help/sl3d/share-visualizations.html

    VRView中动画自动转录为avi视频文件的方法:
    VRview中,Recoding–》Capture and Recording Paramters选择Recode to AVI,
    Record mode选择Scheduled,Start time设置为0,Stop time设置为30或者需要设置的值即可。


    THE END !

  • 相关阅读:
    网络知识===wireshark抓包,三次握手分析
    网络知识===关于MAC地址和IP不能互相替代,缺一不可的原因
    网络知识===《图解TCP/IP》学习笔记——网络的构成要素
    python基础===获取知乎标题时候,文件编码失败的总结
    Java——新IO 通道
    Java——新IO 缓冲区与Buffer
    Java——UDP
    Java——TCP
    Java——URLEncoder和URLDecoder
    Linux学习笔记<三>
  • 原文地址:https://www.cnblogs.com/SoaringLee/p/10532141.html
Copyright © 2020-2023  润新知