meshPlotter

Сетчатый плоттер для графика птичьего глаза

Описание

пример

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

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

Примеры

свернуть все

Отображать актёров в сценарии вождения при помощи представлений их сетки вместо кубоидных представлений.

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

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

Добавить пешехода и транспортное средство в сценарий. Задайте размерности сетки актёров, используя предварительно построенные сетки.

  • Укажите пешеходный 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')

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

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

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

  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%.

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

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

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

свернуть все

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

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

Подробнее о

свернуть все

Сетки

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

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

CuboidMesh

A vehicle represented as a cube.

A vehicle represented as a mesh.

Введенный в R2020b