Плоттер облака точек для видимого с большого расстояния графика
создает объект плоттера облака точек, который конфигурирует отображение данных об облаке точек лидара по видимому с большого расстояния графику. Объект плоттера облака точек хранится в pcPlotter
= pointCloudPlotter(bep
)Plotters
свойство входного первоцвета строит объект, bep
. Чтобы отобразить данные об облаке точек лидара на графике, используйте plotPointCloud
функция.
задает опции с помощью одного или нескольких аргументов пары "имя-значение". Например, pcPlotter
= pointCloudPlotter(bep
,Name,Value
)'DisplayName','Point Cloud'
определяет имя отображения, которое появляется в легенде графика птичьего глаза к "Облаку точек".
Сгенерируйте данные об облаке точек лидара для ведущего сценария с несколькими агентами при помощи lidarPointCloudGenerator
Системный объект. Создайте ведущий сценарий при помощи drivingScenario
объект. Это содержит автомобиль, оборудованный датчиком, пешехода и два других транспортных средства.
Создайте и постройте ведущий сценарий с несколькими транспортными средствами
Создайте ведущий сценарий.
scenario = drivingScenario;
Добавьте прямую дорогу к ведущему сценарию. Дорога имеет одну полосу в каждом направлении.
roadCenters = [0 0 0; 70 0 0];
laneSpecification = lanespec([1 1]);
road(scenario,roadCenters,'Lanes',laneSpecification);
Добавьте автомобиль, оборудованный датчиком в ведущий сценарий.
egoVehicle = vehicle(scenario,'ClassID',1,'Mesh',driving.scenario.carMesh); waypoints = [1 -2 0; 35 -2 0]; trajectory(egoVehicle,waypoints,10);
Добавьте грузовик, пешехода и велосипед к ведущему сценарию и постройте сценарий.
truck = vehicle(scenario,'ClassID',2,'Length', 8.2,'Width',2.5,'Height',3.5, ... 'Mesh',driving.scenario.truckMesh); waypoints = [70 1.7 0; 20 1.9 0]; trajectory(truck,waypoints,15); pedestrian = actor(scenario,'ClassID',4,'Length',0.24,'Width',0.45,'Height',1.7, ... 'Mesh',driving.scenario.pedestrianMesh); waypoints = [23 -4 0; 10.4 -4 0]; trajectory(pedestrian,waypoints,1.5); bicycle = actor(scenario,'ClassID',3,'Length',1.7,'Width',0.45,'Height',1.7, ... 'Mesh',driving.scenario.bicycleMesh); waypoints = [12.7 -3.3 0; 49.3 -3.3 0]; trajectory(bicycle,waypoints,5); plot(scenario,'Meshes','on')
Сгенерируйте и отобразите данные об облаке точек лидара на графике
Создайте lidarPointCloudGenerator
Системный объект.
lidar = lidarPointCloudGenerator;
Добавьте профили агента и ID агента автомобиля, оборудованного датчиком от ведущего сценария до Системного объекта.
lidar.ActorProfiles = actorProfiles(scenario); lidar.EgoVehicleActorID = egoVehicle.ActorID;
Отобразите данные об облаке точек на графике.
bep = birdsEyePlot('Xlimits',[0 70],'YLimits',[-30 30]); plotter = pointCloudPlotter(bep); legend('off'); while advance(scenario) tgts = targetPoses(egoVehicle); rdmesh = roadMesh(egoVehicle); [ptCloud,isValidTime] = lidar(tgts,rdmesh,scenario.SimulationTime); if isValidTime plotPointCloud(plotter,ptCloud); end end
bep
— Видимый с большого расстояния графикbirdsEyePlot
объектВидимый с большого расстояния график в виде birdsEyePlot
объект.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'DisplayName','Point Cloud'
определяет имя отображения, которое появляется в легенде графика птичьего глаза к "Облаку точек".'DisplayName'
— Имя плоттера, чтобы отобразиться в легенде''
(значение по умолчанию) | вектор символов | строковый скалярИмя плоттера, чтобы отобразиться в легенде в виде разделенной запятой пары, состоящей из 'DisplayName'
и вектор символов или строковый скаляр. Если вы не задаете имя, видимый с большого расстояния график не отображает запись легенды для плоттера.
Типы данных: char |
string
'PointSize'
— Размер маркера для точек в облаке точек
(значение по умолчанию) | положительное целое числоРазмер маркера для точек в облаке точек в виде разделенной запятой пары, состоящей из 'PointSize'
и положительное целое число в точках.
'Color'
— Укажите цвет заливки'none'
(значение по умолчанию) | триплет RGB | шестнадцатеричный цветовой код | название цвета | короткое название цветаУкажите цвет заливки в виде разделенной запятой пары, состоящей из 'Color'
и триплет RGB, шестнадцатеричный цветовой код, название цвета или короткое название цвета.
Для пользовательского цвета задайте триплет RGB или шестнадцатеричный цветовой код.
Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]
; например, [0.4 0.6 0.7]
.
Шестнадцатеричный цветовой код является вектором символов или строковым скаляром, который запускается с символа хеша (#
) сопровождаемый тремя или шестью шестнадцатеричными цифрами, которые могут лежать в диапазоне от 0
к F
. Значения не являются чувствительными к регистру. Таким образом, цветовые коды '#FF8800'
, '#ff8800'
, '#F80'
, и '#f80'
эквивалентны.
Кроме того, вы можете задать имена некоторых простых цветов. Эта таблица приводит опции именованного цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.
Название цвета | Краткое название | Триплет RGB | Шестнадцатеричный цветовой код | Внешний вид |
---|---|---|---|---|
'red' | 'r' | [1 0 0]
| '#FF0000' | |
'green' | 'g' | [0 1 0]
| '#00FF00' | |
'blue' | 'b' | [0 0 1]
| '#0000FF' | |
'cyan'
| 'c' | [0 1 1]
| '#00FFFF' | |
'magenta' | 'm' | [1 0 1]
| '#FF00FF' | |
'yellow' | 'y' | [1 1 0]
| '#FFFF00' | |
'black' | 'k' | [0 0 0]
| '#000000'
| |
'white' | 'w' | [1 1 1]
| '#FFFFFF' | |
'none' | Не применяется | Не применяется | Не применяется | Нет цвета |
Вот являются триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию использованием MATLAB® во многих типах графиков.
Триплет RGB | Шестнадцатеричный цветовой код | Внешний вид |
---|---|---|
[0 0.4470 0.7410]
| '#0072BD' | |
[0.8500 0.3250 0.0980]
| '#D95319' | |
[0.9290 0.6940 0.1250]
| '#EDB120' | |
[0.4940 0.1840 0.5560]
| '#7E2F8E' | |
[0.4660 0.6740 0.1880]
| '#77AC30' | |
[0.3010 0.7450 0.9330]
| '#4DBEEE' | |
[0.6350 0.0780 0.1840]
| '#A2142F' |
'Tag'
— Тег сопоставлен с объектом плоттера'PlotterN
'
(значение по умолчанию) | вектор символов | строковый скалярТег, сопоставленный с плоттером, возражает в виде разделенной запятой пары, состоящей из 'Tag'
и вектор символов или строковый скаляр. Значением по умолчанию является 'Plotter
, где N
'N
целое число, которое соответствует N
плоттер th сопоставлен с входом birdsEyePlot
объект.
pcPlotter
— Плоттер облака точекpointCloudPlotter
объектПлоттер облака точек, возвращенный как pointCloudPlotter
объект. Можно изменить этот объект путем изменения его значений свойств.
pcPlotter
хранится в Plotters
свойство входа, bep
. Чтобы отобразить данные об облаке точек на графике, используйте plotPointCloud
функция.
birdsEyePlot
| clearData
| clearPlotterData
| findPlotter
| plotPointCloud
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.