Создайте ориентировочный плоттер
создает ориентировочный плоттер для использования с театральным графиком oPlotter
= orientationPlotter(tp
)tp
.
создает ориентировочный плоттер с дополнительными опциями, заданными одной или несколькими oPlotter
= orientationPlotter(tp
,Name,Value
)Name,Value
аргументы в виде пар.
В этом примере показано, как анимировать ориентацию колеблющегося устройства.
Загрузка rpy_9axis.mat
. Данные в rpy_9axis.mat
регистрируют данные акселерометра, гироскопа и датчика магнитометра от устройства, колеблющегося с тангажом (вокруг оси Y), затем рыскание (вокруг оси Z), затем крен (вокруг оси X). Ось X устройства указывала на юг при регистрации.
ld = load('rpy_9axis.mat')
ld = struct with fields:
Fs: 200
sensorData: [1x1 struct]
Установите частоту дискретизации. Извлеките данные акселерометра и гироскопа. Установите коэффициент десятикратного уменьшения равным 2. Использование fuse
создать косвенный фильтр слияния датчика Калмана из данных.
accel = ld.sensorData.Acceleration; gyro = ld.sensorData.AngularVelocity; Fs = ld.Fs; decim = 2; fuse = imufilter('SampleRate',Fs,'DecimationFactor',decim);
Получите информацию о положении сросшихся данных.
pose = fuse(accel,gyro);
Создайте театральный график. Добавьте к графику театра ориентировочный плоттер с 'DisplayName'
установлено на 'Fused Data'
и 'LocalAxesLength'
установлено на 2
.
tp = theaterPlot('XLimit',[-2 2],'YLimit',[-2 2],'ZLimit',[-2 2]); op = orientationPlotter(tp,'DisplayName','Fused Data',... 'LocalAxesLength',2);
Циклически просмотрите информацию о положении, чтобы анимировать изменение ориентации.
for i=1:numel(pose) plotOrientation(op, pose(i)) drawnow end
tp
- Театральный графикtheaterPlot
объектТеатральный график, заданный как theaterPlot
объект.
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
'HistoryDepth',6
'DisplayName'
- Имя графика для отображения в легендеИмя графика для отображения в легенде, заданное как разделенная разделенными запятой парами, состоящая из 'DisplayName'
и вектор символов или строковый скаляр. Если имя не задано, запись не отображается.
Пример: 'DisplayName','Radar Detections'
'HistoryDepth'
- Количество предыдущих обновлений трека для отображения0
(по умолчанию) | неотрицательное целое число, меньше или равное 100Количество предыдущих обновлений дорожки для отображения, заданное как разделенная разделенными запятой парами, состоящая из 'HistoryDepth'
и неотрицательное целое число, меньше или равное 100. Если установлено значение 0, предыдущие обновления не отображаются.
'Marker'
- Символ маркера'o'
(по умолчанию) | символьный вектор | строковый скалярСимвол маркера, заданный как разделенная разделенными запятой парами, состоящая из 'Marker'
и один из этих символов.
Значение | Описание |
---|---|
'o' | Круг |
'+' | Плюс знак |
'*' | Звездочка |
'.' | Точка |
'x' | Крест |
'_' | Горизонтальная линия |
'|' | Вертикальная линия |
'square' или 's' | Квадрат |
'diamond' или 'd' | Алмаз |
'^' | Направленный вверх треугольник |
'v' | Нисходящий треугольник |
'>' | Треугольник , указывающий вправо |
'<' | Треугольник , указывающий влево |
'pentagram' или 'p' | Пятиконечная звезда (пентаграмма) |
'hexagram' или 'h' | Шестиконечная звезда (гексаграмма ) |
'none' | Маркеров нет |
'MarkerSize'
- Размер маркера10
(по умолчанию) | положительное целое числоРазмер маркера, заданный в точках как разделенная запятыми пара, состоящая из 'MarkerSize'
и положительное целое число.
'MarkerEdgeColor'
- Цвет контура маркера'black'
(по умолчанию) | вектор символов | строковый скаляр | триплет RGB | шестнадцатеричный цветовой кодЦвет контура маркера, заданный как разделенная разделенными запятой парами, состоящая из 'MarkerEdgeColor'
и вектор символов, строковый скаляр, триплет RGB или шестнадцатеричный цветовой код. Цвет по умолчанию 'black'
.
'MarkerFaceColor'
- Цвет заливки маркера'none'
(по умолчанию) | вектор символов | строковый скаляр | триплет RGB | шестнадцатеричный цветовой кодЦвет контура маркера, заданный как разделенная разделенными запятой парами, состоящая из 'MarkerFaceColor'
и вектор символов, строковый скаляр, триплет RGB, шестнадцатеричный цветовой код или 'none'
. Значение по умолчанию является 'none'
.
'FontSize'
- Размер шрифта для маркировки дорожек10
(по умолчанию) | положительное целое числоРазмер шрифта для маркировки дорожек, заданный как разделенная разделенными запятой парами, состоящая из 'FontSize'
и положительное целое число, которое представляет размер точки шрифта.
'LabelOffset'
- Зазор между меткой и позиционной точкой[0 0 0]
(по умолчанию) | трехэлементный вектор-строкаЗазор между меткой и позиционной точкой, которую она аннотирует, задается как разделенная разделенными запятой парами, состоящая из 'LabelOffset'
и трехэлементный вектор-строка. Задайте
смещение [x y z] в
метрах.
'LocalAxesLength'
- Длина линии1
(по умолчанию) | положительная скалярная величинаДлина линии, используемой для обозначения каждой из локальных x -, y - и z - осей заданной ориентации, заданная как разделенная разделенными запятой парами, состоящая из 'LocalAxesLength'
и положительная скалярная величина. 'LocalAxesLength'
в метрах.
'Tag'
- Тег для связи с плоттером'PlotterN'
(по умолчанию) | символьный вектор | строковый скалярТег для связи с плоттером, заданный как разделенная разделенными запятой парами, состоящая из 'Tag'
и вектор символов или строковый скаляр. Значение по умолчанию 'PlotterN'
, где N является целым числом, которое соответствует N-му плоттеру, сопоставленному со theaterPlot
.
Теги обеспечивают способ идентифицировать объекты плоттера, например, при поиске с помощью findPlotter
.
clearData
| clearPlotterData
| plotOrientation
| theaterPlot
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.