meshPlotter

Поймайте в сети плоттер для видимого с большого расстояния графика

Описание

пример

mPlotter = meshPlotter(bep) создает MeshPlotter объект, который конфигурирует отображение сеток на видимом с большого расстояния графике. MeshPlotter объект хранится в Plotters свойство входа birdsEyePlot объект, bep. Чтобы отобразить представления mesh объектов, используйте plotMesh функция.

mPlotter = meshPlotter(bep,Name,Value) свойства наборов с помощью одного или нескольких Name,Value парные аргументы. Например, meshPlotter(bep,'FaceAlpha',1) устанавливает поверхности mesh быть полностью непрозрачными.

Примеры

свернуть все

Отобразите агентов в ведущем сценарии при помощи их представлений mesh вместо их представлений кубоида.

Создайте ведущий сценарий и добавьте 25-метровую прямую дорогу к сценарию.

scenario = drivingScenario;
roadcenters = [0 0 0; 25 0 0];
road(scenario,roadcenters);

Добавьте пешехода и транспортное средство к сценарию. Задайте размерности mesh агентов с помощью предварительно созданных сеток.

  • Задайте пешеходную mesh как driving.scenario.pedestrianMesh объект.

  • Задайте mesh транспортного средства как driving.scenario.carMesh объект.

p = actor(scenario,'ClassID',4, ...
            'Length',0.2,'Width',0.4, ...
            'Height',1.7,'Mesh',driving.scenario.pedestrianMesh);

v = vehicle(scenario,'ClassID',1, ...
            'Mesh',driving.scenario.carMesh);

Добавьте траектории для пешехода и транспортного средства.

  • Задайте для пешехода, чтобы пересечь дорогу на уровне 1 метра в секунду.

  • Задайте для транспортного средства, чтобы идти по дороге на уровне 10 метров в секунду.

waypointsP = [15 -3 0; 15 3 0];
speedP = 1;
smoothTrajectory(p,waypointsP,speedP);

wayPointsV = [v.RearOverhang 0 0; (25 - v.Length + v.RearOverhang) 0 0];
speedV = 10;
smoothTrajectory(v,wayPointsV,speedV)

Добавьте эгоцентрический график для транспортного средства. Включите отображение сеток.

chasePlot(v,'Meshes','on')

Создайте видимый с большого расстояния график, в котором можно отобразить сетки. Также создайте плоттер mesh и плоттер контура маршрута. Затем запустите цикл симуляции.

  1. Получите дорожные контуры дороги, транспортное средство включено.

  2. Получите вершины mesh, поверхности и цвета сеток агента, с положениями относительно транспортного средства.

  3. Постройте дорожные контуры и сетки агента на видимом с большого расстояния графике.

  4. Приостановите сценарий, чтобы позволить время для графиков обновиться. График преследования обновляется каждый раз, когда вы совершенствуете сценарий.

bep = birdsEyePlot('XLim',[-25 25],'YLim',[-10 10]);
mPlotter = meshPlotter(bep);
lbPlotter = laneBoundaryPlotter(bep);
legend('off')

while advance(scenario)

   rb = roadBoundaries(v);

   [vertices,faces,colors] = targetMeshes(v);

   plotLaneBoundary(lbPlotter,rb)
   plotMesh(mPlotter,vertices,faces,'Color',colors)

   pause(0.01)
end

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

свернуть все

Видимый с большого расстояния график в виде birdsEyePlot объект.

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

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

Пример: meshPlotter('FaceAlpha',0.5) устанавливает поверхности mesh быть на 50% прозрачными.

Прозрачность mesh стоит в виде разделенной запятой пары, состоящей из 'FaceAlpha' и скаляр в области значений [0, 1]. Значение 0 делает поверхности mesh полностью прозрачными. Значение 1 делает поверхности mesh полностью непрозрачными.

Тег, сопоставленный с плоттером, возражает в виде разделенной запятой пары, состоящей из 'Tag' и вектор символов или строковый скаляр. Значением по умолчанию является 'PlotterN', где N целое число, которое соответствует Nплоттер th сопоставлен с входом birdsEyePlot объект.

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

свернуть все

Поймайте в сети плоттер, возвращенный как MeshPlotter объект. Можно изменить этот объект путем изменения его значений свойств. Имена свойства соответствуют аргументам пары "имя-значение" meshPlotter функция.

mPlotter хранится в Plotters свойство входа birdsEyePlot объект, bep. Чтобы построить сетки, используйте plotMesh функция.

Больше о

свернуть все

Сетки

В ведущих сценариях mesh является основанным на треугольнике 3-D представлением объекта. Сцепитесь представления объектов более подробны, чем кубоид по умолчанию представления, (имеющие форму поля) объектов. Сетки полезны для генерации синтетических данных об облаке точек из ведущего сценария.

Эта таблица показывает различие между представлением кубоида и представлением mesh транспортного средства в ведущем сценарии.

КубоидMesh

A vehicle represented as a cube.

A vehicle represented as a mesh.

Смотрите также

| | | |

Введенный в R2020b