Вершины и грани сети относительно конкретного субъекта
Отображение актёров в управляющем сценарии с использованием их представлений сетки вместо их кубовидных представлений.
Создайте сценарий движения и добавьте к нему 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')

Создайте график птичьего глаза, на котором будут отображаться сетки. Также создайте сетчатый плоттер и плоттер границ полос движения. Затем выполните цикл моделирования.
Получение границ дороги, на которой находится транспортное средство.
Получение вершин, граней и цветов сетки актера с позициями относительно транспортного средства.
Постройте границы дорог и актерские сети на сюжете птичьего глаза.
Приостановите сценарий, чтобы предоставить время для обновления графиков. График погони обновляется при каждом продвижении сценария.
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


ac - АктерActor объект | Vehicle объектАктер, принадлежащий drivingScenario объект, указанный как Actor или Vehicle объект. Для создания этих объектов используйте actor и vehicle соответственно.
vertices - вершины сетки каждого субъекта;Вершины сетки каждого актера, возвращаемые как массив ячеек N-элементов, где N - число актёров.
Каждый элемент в vertices должна быть V-by-3 вещественной матрицей, содержащей вершины актера, где:
V - число вершин.
Каждая строка определяет 3-D (x, y, z) положение вершины. Положения вершин соотносятся с положением входного элементаac. Единицы в метрах.
faces - Грани сетки каждого субъектаГрани сетки каждого субъекта, возвращаемые в виде массива ячеек N-элементов, где N - количество субъектов.
Каждый элемент в faces должна быть F-by-3 целочисленной матрицей, содержащей грани актера, где:
F - количество граней.
Каждая строка определяет треугольник идентификаторов вершин, составляющих грань. Идентификаторы вершин соответствуют номерам строк в vertices.
Предположим, что первая грань i-й элемент faces имеет эти идентификаторы вершин.
faces{i}(1,:)ans =
1 2 3В i-й элемент vertices, строки 1, 2 и 3 содержат положения (x, y, z) вершин, составляющих эту грань.
vertices{i}(1:3,:)ans =
3.7000 0.9000 0.8574
3.7000 -0.9000 0.8574
3.7000 -0.9000 0.3149colors - Цвет граней сети для каждого субъектаЦвет граней сети для каждого субъекта, возвращаемый в виде N-by-3 матрицы RGB-триплетов. N - число действующих лиц и равно числу элементов в vertices и faces.
iтретий ряд colors - значение цвета RGB граней в i-й элемент faces. Функция применяет одинаковый цвет ко всем граням сети субъекта.
Триплет RGB - это трехэлементный вектор строки, элементы которого задают интенсивности красной, зеленой и синей составляющих цвета. Интенсивности должны находиться в диапазоне [0, 1]. Например, [0.4 0.6 0.7].
В сценариях управления сетка представляет собой 3-D представление объекта на основе треугольника. Сетчатые представления объектов более детализированы, чем кубовидные (окнообразные) представления объектов по умолчанию. Сетки полезны для создания синтетических данных облака точек из сценария управления.
В этой таблице показано различие между кубовидным представлением и сетчатым представлением транспортного средства в сценарии вождения.
| Cuboid | Сетка |
|---|---|
|
|
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.