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