Создайте плоттер ориентации
oPlotter = orientationPlotter(tp)
oPlotter = orientationPlotter(tp,Name,Value)
создает плоттер ориентации для использования с театральным графиком 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
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
'HistoryDepth',6
DisplayName
Постройте имя, чтобы отобразиться в легендеПостройте имя, чтобы отобразиться в легенде, заданной как пара, разделенная запятой, состоящая из 'DisplayName'
и вектора символов или представить скаляр в виде строки. Если никакое имя не задано, никакую запись не показывают.
Пример: 'DisplayName','Radar Detections'
'HistoryDepth'
— Количество предыдущей дорожки обновляет к отображению0
(значение по умолчанию) | неотрицательное целое число, меньше чем или равное 100Количество предыдущей дорожки обновляет к отображению, заданному как пара, разделенная запятой, состоящая из 'HistoryDepth'
и неотрицательного целого числа, меньше чем или равного 100. Если установлено в 0, то никакие предыдущие обновления не представляются.
'Marker'
— Символ маркера'o'
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиСимвол маркера, заданный как пара, разделенная запятой, состоящая из 'Marker'
и один из этих символов.
Значение | Описание |
---|---|
'+' | Знак «плюс» |
'o' | Круг (значение по умолчанию) |
'*' | Звездочка |
'.' | Точка |
'x' | Крест |
's' или 'square' | Квадрат |
'd' или 'diamond' | Ромб |
'v' | Нисходящий треугольник |
'^' | Треугольник, направленный вверх |
'>' | Треугольник, указывающий вправо |
'<' | Треугольник, указывающий влево |
'p' или 'pentagram' | Пятиконечная звезда (пентаграмма) |
'h' или 'hexagram' | Шестиконечная звезда (гексаграмма) |
'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'
исчисляется в метрах.
Тег
Пометьте, чтобы сопоставить с плоттером'PlotterN'
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиПометьте, чтобы сопоставить с плоттером, заданным как пара, разделенная запятой, состоящая из 'Tag'
и вектора символов или представить скаляр в виде строки. Значением по умолчанию является 'PlotterN'
, где N является целым числом, которое соответствует N th плоттер, сопоставленный с theaterPlot
.
Теги обеспечивают способ идентифицировать объекты плоттера, например, при поиске использования findPlotter
.
clearData
| clearPlotterData
| plotOrientation
| theaterPlot
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.