exponenta event banner

meshPlotter

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

Описание

пример

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

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

Примеры

свернуть все

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

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

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

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

  • Укажите пешеходную сеть как driving.scenario.pedestrianMesh объект.

  • Укажите сетку транспортного средства как 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) устанавливает грани сети прозрачными на 50%.

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

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

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

свернуть все

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

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

Подробнее

свернуть все

Сетки

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

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

CuboidСетка

A vehicle represented as a cube.

A vehicle represented as a mesh.

Представлен в R2020b