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