terrainHeight

Возвращает высоту ландшафта в сценариях UAV

    Описание

    пример

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

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

    Примеры

    свернуть все

    В этом примере показано, как добавить, что ландшафт и пользовательское создание сцепляются к сценарию UAV.

    Добавьте поверхность ландшафта

    Добавьте поверхность ландшафта на основе данных о вертикальном изменении ландшафта из 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")

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

    свернуть все

    Сценарий UAV в виде 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