terrainHeight

Возвращает высоту местности в сценариях БПЛА

    Описание

    пример

    heights = terrainHeight(scene,x,y) возвращает высоты местности заданных xy -положений для данных местности для uavScenario объект.

    heights = terrainHeight(___,Name,Value) задает дополнительные опции, используя аргументы имя-значение. Заключайте каждую Name в кавычках.

    Примеры

    свернуть все

    В этом примере показано, как добавить рельеф местности и пользовательский mesh создания к сценарию БПЛА.

    Добавление поверхности местности

    Добавьте поверхность местности на основе данных о повышении местности из n39_w106_3arc_v2.dt1 DTED- файла.

    addCustomTerrain("CustomTerrain","n39_w106_3arc_v2.dt1");
    scenario = uavScenario("ReferenceLocation", [39.5 -105.5 0]);
    addMesh(scenario,"terrain", {"CustomTerrain", [-200 200], [-200 200]}, [0.6 0.6 0.6]);
    show3D(scenario);

    Figure contains an axes. The axes contains an object of type patch.

    Добавление созданий

    Добавьте пару пользовательских сеток здания с помощью вершин и многоугольников в сценарий. Используйте terrainHeight функция для получения высоты земли для каждой основы сборки.

    buildingCenters = [-50, -50; 100 100];
    
    buildingHeights = [30 100];
    buildingBoundary = [-25 -25; -25 50; 50 50; 50 -25];
    for idx = 1:size(buildingCenters,1)
        buildingVertices = buildingBoundary+buildingCenters(idx,:);
        buildingBase = min(terrainHeight(scenario,buildingVertices(:,1),buildingVertices(:,2)));
        addMesh(scenario,"polygon", {buildingVertices, buildingBase+[0 buildingHeights(idx)]}, [0.3922 0.8314 0.0745]);
    end
    
    show3D(scenario);
    view([0 15])

    Figure contains an axes. The axes contains 3 objects of type patch.

    Удаление пользовательской местности

    Удалите импортированный пользовательский рельеф.

    removeCustomTerrain("CustomTerrain")

    Входные параметры

    свернуть все

    Сценарий БПЛА, заданный как uavScenario объект.

    x - положения в сценарии, заданные как вектор или матрица скалярных значений в метрах. Если задано в виде матрицы, y входные и heights выходы также являются матрицей того же размера.

    Пример: [1 2 0.5 -0.97]

    Типы данных: double

    y - положения в сценарии, заданные как вектор или матрица скалярных значений в метрах. Если задано в виде матрицы, x входные и heights выходы также являются матрицей того же размера.

    Пример: [1 2 0.5 -0.97]

    Типы данных: double

    Аргументы в виде пар имя-значение

    Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

    Пример: h = terrainHeight(scene,x,y,"UseLatLon",true) использует широту и долготу для x и y входы.

    Включите координаты широты и долготы, заданные как true или false.

    • Если задано как trueкоординаты x и y интерпретируются как долгота и широта, соответственно.

    • Если задано как falseкоординаты x и y интерпретируются как Декартовы координаты.

    Опорная система координат, заданная как имя инерционной системы координат, заданное в InertialFrames свойство uavScenario scene объекта. Вы можете добавить новые инерционные системы координат к сценарию, используя addInertialFrame функция объекта.

    Выходные аргументы

    свернуть все

    Высоты местности в каждом положении, возвращенные как вектор или матрица скалярных значений в метрах. Если возвращен как матрица, x и y входы также являются матрицей того же размера.

    Пример: [1 2 0.5 -0.97]

    Типы данных: double

    Введенный в R2021a