Набор сюжетных покрытий в плоттере покрытия кинотеатра
plotCoverage( определяет конфигурации М датчиков или излучателей, зоны покрытия и лучи которых нанесены на график cPlotter,configurations)CoveragePlotter объект, cPlotter. Посмотрите coveragePlotter о том, как создать CoveragePlotter объект.
plotCoverage( задает цвет каждой пары покрытия и диаграммы балки, используя список индексов и цветов.cPlotter,configurations,indices,colors)
Создайте график кинотеатра и задайте пределы для его осей. Создание плоттера покрытия с помощью DisplayName установить в значение 'Sensor Coverage'.
tp = theaterPlot('XLim',[-40 40],'YLim',[-40 40],'ZLim',[-40 40]); covp = coveragePlotter(tp,'DisplayName','Sensor Coverage');
Настройте конфигурацию датчиков, покрытие которых должно быть нанесено на график.
sensor = struct('Index',1,'ScanLimits',[-45 45],'FieldOfView',[10;40],... 'LookAngle',-10,'Range',30,'Position',zeros(1,3),'Orientation',zeros(1,3));
Постройте график покрытия с помощью plotCoverage функция и визуализация результатов. Темно-синий цвет обозначает текущий луч датчика, а светло-синий - зону покрытия.
plotCoverage(covp,sensor) view(70,30)

Создайте график кинотеатра и плоттер покрытия.
tp = theaterPlot('XLim',[-1e7 1e7],'YLim',[-1e7 1e7],'ZLim',[-2e6 1e6]); covp = coveragePlotter(tp,'DisplayName','Sensor Coverage'); view(25,20)
Моделирование не сканирующего радара и растрового сканирующего радара.
radarIndex = 1; radar =fusionRadarSensor(radarIndex,'No Scanning','RangeLimits',[0 1e8]); RasterIndex = 2; raster = fusionRadarSensor(RasterIndex,'Raster','RangeLimits',[0 1e8]);
Создание целевой платформы.
tgt = struct( ... 'PlatformID', 1, ... 'Position', [0 -50e3 -1e3], ... 'Speed', -1e3);
Моделирование датчиков и визуализация их шаблона сканирования.
time = 0; timestep = 1; stopTime = 90; while time < stopTime time = time+timestep; radar(tgt,time); raster(tgt,time); % Obtain sensor configuration using coverageConfig. radarcov = coverageConfig(radar); ircov = coverageConfig(raster); % Update plotter plotCoverage(covp,[radarcov,ircov],... [radarIndex, RasterIndex],... {'blue','red'}... ); pause(0.03) end

cPlotter - Объект плоттера покрытияCoveragePloter объектОбъект плоттера покрытия, созданный coveragePlotter функция.
configurations - Конфигурации датчиков или эмиттеровКонфигурации датчиков или излучателей, определенные как массив структур. Каждая структура соответствует конфигурации датчика или эмиттера. Поля каждой структуры:
Поля конфигураций
| Область | Описание |
|---|---|
Index | Уникальное целое число для различения датчиков или излучателей. |
LookAngle | Текущие углы визирования датчика или излучателя, указанные как:
|
FieldOfView | Поле зрения датчика или эмиттера, указанное как двухэлементный вектор [azimuth; elevation] в градусах. |
ScanLimits | Минимальный и максимальный углы, которые датчик или излучатель может сканировать со своего
|
Range | Диапазон луча и зона покрытия датчика или излучателя в метрах. |
Position | Исходное положение датчика или эмиттера, указанное как трехэлементный вектор [X, Y, Z] на топорах театрального сюжета. |
Orientation | Преобразование поворота из сценария или глобального кадра в монтажную раму датчика или эмиттера, заданную как матрица вращения, кватернион или три угла Эйлера в последовательности ZYX. |
Совет
Если либо значение Position или значение поля Orientation поле имеет значение NaNсоответствующая зона покрытия и луч не будут нанесены на график.
indices - Индексы датчика или эмиттераИндексы датчика или излучателя, заданные как N-элементный массив неотрицательных целых чисел. Этот аргумент позволяет задать цвет каждой зоны покрытия и пары лучей с соответствующим индексом.
Пример: [1;2;4]
colors - Цвета плоттера покрытияЦвета плоттера покрытия, заданные как вектор N-элементов из векторов символов, скаляров строк, триплетов RGB или шестнадцатеричных цветовых кодов. N - количество элементов в indices массив. Зона покрытия и пара лучей, индексированные i-м элементом в indices печатается с цветом, заданным i-м элементом colors массив.
clearData | clearPlotterData | coveragePlotter | theaterPlot
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.