主要内容

addMesh

添加新的静态网格无人机的场景

自从R2020b

    描述

    例子

    addMesh (场景,类型,几何,颜色)添加一个静态网格,或从一个OSM文件,进口网格无人机的场景场景通过指定网格类型、几何形状和颜色。

    例子

    addMesh (___,名称=值)使用名称-值参数指定附加选项。

    例子

    信息= addMesh (___Verbose = true)返回信息,当进口OSM或地形文件,该文件导入。

    例子

    全部折叠

    创建一个无人机的场景。

    现场= uavScenario (“UpdateRate”,100,“StopTime”1);

    添加网格的地面和建筑物。

    addMesh(场景,“多边形”{[-50 0;50 0;50 50;-50 50],[3 0]}[0.3 0.3 0.3]);addMesh(场景,“气缸”,{[10 5 5],[0 10]},[0 1 1]);

    想象的场景。

    show3D(现场);

    图包含一个坐标轴对象。坐标轴对象包含东(m), ylabel北(m)包含2块类型的对象。

    创建一个无人机场景集中在纽约,并添加一个地形网格基于全球多分辨率地形高程数据(GMTED2010)数据集。

    现场= uavScenario (ReferenceLocation = 40.707088 - -74.012146 [0]);xlimits = (-1000 - 1000);ylimits = (-1000 - 1000);颜色= (0.6 0.6 0.6);terrainInfo = addMesh(场景,“地形”,{“gmted2010”xlimits ylimits},颜色、Verbose = true)
    terrainInfo =结构体字段:TerrainName:“gmted2010”LatitudeRange: 90年[-90]LongitudeRange: (-180 180)
    show3D(现场);

    添加建筑通过导入它们从一个OSM文件包含曼哈顿的建筑,manhattan.osm[1]

    xlimits = (-800 - 800);ylimits = (-800 - 800);颜色= (0 0 1);osmInfo = addMesh(场景,“建筑”,{“manhattan.osm”xlimits ylimits,“汽车”},颜色,Verbose = true)
    osmInfo =结构体字段:OSMFileName:“/ mathworks /猛击/ sbs / 25 / rprasad.Bdoc23a.j2033780.Aug12 / matlab工具箱/共享/ openstreetmapdata /曼哈顿。osm“LatitudeRange: [40.7010 - 40.7182] LongitudeRange: [-74.0188 - -74.0003] TotalNumBuildings: 836 NumImportedBuildings: 657
    show3D(现场);

    [1]是下载的文件https://www.openstreetmap.org,它提供了访问世界各地的众包地图数据。数据开放数据共享开放数据库许可下的(ODbL),https://opendatacommons.org/licenses/odbl/

    输入参数

    全部折叠

    无人机的场景中,指定为一个uavScenario对象。

    网格类型,指定为“气缸”,“表面”,“地形”,“多边形”,“建筑”,或“自定义”。指定网格的几何参数使用几何输入。

    数据类型:字符串|字符

    网格几何,指定为一个单元阵列的几何参数。根据类型输入,几何参数有不同的形式:

    类型输入参数 几何参数 描述
    “气缸” {[centerx centery,半径]、[zmin zmax]} centerxcentery的x - y坐标缸的中心,分别。半径在米圆柱体的半径。zminzmax的最小和最大z轴坐标缸米,分别。
    “表面” {meshGridX, meshGridY, z} meshGridX,meshGridYz都是相同大小的二维矩阵,定义了吗xyz点的表面网格。
    “地形” {terrainName, XLimits, YLimits} 您必须首先调用addCustomTerrain函数加载地形数据并指定一个地形的名字。指定最小值和最大值xy限制为两个独立的双元素向量在当地坐标,或经度坐标“UseLatLon”名称-值对是真正的。的xy必须指定坐标ENU表示参考系。
    “多边形” {cornerPoints, [zmin, zmax]} zminzmax是多边形的最小和最大z轴坐标的米,分别。cornerPoints包含多边形的角点,指定为一个N2矩阵,N是角点的数量。第一列包含x坐标和第二列包含坐标以米为单位。
    “建筑” {osmFile, xBound, yBound,高度}
    • osmFile——OSM文件在当前文件夹的文件名或MATLAB路径,或全部或相对路径OSM文件,指定为一个特征向量或字符串标量。

    • xBound- - - - - -x设在进口OSM建筑的边界,指定为米双元素行向量。

    • yBound- - - - - -y设在进口OSM建筑的边界,指定为米双元素行向量。

    • 高度——所有进口的基础建筑的高度,指定为一个标量或“汽车”。如果指定为“汽车”,基础高度的建筑是由场景中地形的高度。如果现场没有地形,这个值0

    “自定义” {顶点,面临} 顶点是一个n3矩阵网格点的局部坐标。是一个n3的整数矩阵指数表明三角网格的面孔。

    网颜色,指定为一个RGB值。

    例子:(1 0 0)

    名称-值参数

    指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

    R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

    例子:addMesh(现场,“缸”,{[46 42 5],[0 20]},[0 1 0],UseLatLon = true)

    启用纬度和经度坐标,指定为真正的

    • 当指定为真正的的x和y坐标几何输入分别解释为经度和纬度。顶点为自定义网格使用east-north-up参考系(ENU表示)。

    • 当指定为的x和y坐标几何输入是解释为笛卡尔坐标。

    参考系的几何输入,指定为一个惯性坐标系中定义的名称InertialFrames财产的uavScenario对象场景。您可以添加新的惯性系场景中使用addInertialFrame对象的功能。

    的场景只接受帧z设在旋转的“ENU表示”框架。

    地形和建筑物进口的参考系“ENU表示”

    详细模式为OSM建筑或地形文件导入,指定为一个逻辑真正的(1)或(0)。当你指定这个参数真正的,addMesh返回关于该文件并导入过程的信息。返回的信息取决于类型的文件。

    如果您指定一个输出参数,详细模式返回导入信息结构,信息。否则,详细模式输出导入命令窗口中的信息。

    输出参数

    全部折叠

    文件导入信息,作为一个结构返回。取决于所包含的字段类型的文件:

    文件类型 字段
    OSM建筑
    • OSMFileName——OSM文件名称作为字符串标量

    • LatitudeRange——纬度范围双元素行向量

    • LongitudeRange——经度范围双元素行向量

    • TotalNumBuildings——建筑总数OSM文件作为一个整数

    • NumImportedBuildings——数量的进口建筑OSM文件作为一个整数

    地形
    • TerrainName——地形文件名字符串标量

    • LatitudeRange——纬度范围双元素行向量

    • LongitudeRange——经度范围双元素行向量

    返回输出参数,您必须指定详细的名称-值参数为真正的

    提示

    • OSM文件可以加载缓慢,当大量的建筑中指定的文件中。如果你经历长时间加载,请考虑减少建筑物的数量来加载更快。

    版本历史

    介绍了R2020b