campitch

Установите или запросите угол подачи камеры для географического земного шара

Описание

Установите подачу и режим

пример

campitch(g,pitch) устанавливает угол подачи камеры для заданного географического земного шара. Установка угла подачи наклоняет камеру или вниз. Для получения дополнительной информации о том, как вращения камеры влияют на ваше представление земного шара, смотрите, Как Ориентация Камеры Влияет на Представление Земного шара.

Camera with double-headed arrow in front of lens, pointing up and down

campitch(g,'auto') устанавливает подачу камеры на автоматический режим, позволяя географическому земному шару определить угол подачи на основе отображенных на графике данных. Значения по умолчанию режима к автоматическому, когда вы создаете географический земной шар. Если вы взаимодействуете с земным шаром с помощью мыши, то режим переключается на автоматический.

пример

campitch(g,'manual') устанавливает подачу камеры на ручной режим, указывая, что географический земной шар сохраняет угол подачи, когда отображенные на графике данные изменяются. Если вы изменяете угол подачи с помощью campitch функция, затем режим переключается на руководство.

Запросите подачу

пример

outPitch = campitch(g) возвращает угол подачи камеры.

outPitch = campitch(___) устанавливает угол подачи или режим и затем возвращает угол подачи камеры. Можно возвратить угол подачи с помощью любой комбинации входных параметров от предыдущих синтаксисов.

Примеры

свернуть все

Создайте географический земной шар. Позиционируйте камеру около Горы Килиманджаро путем определения широты, долготы и эллипсоидальной высоты. Установите угол подачи на 0 градусов, так, чтобы камера указала через саммит.

uif = uifigure;
g = geoglobe(uif);
campos(g,-3.1519,37.3561,5500)
campitch(g,0)

Наклоните камеру путем увеличения угла подачи до 15 градусов.

campitch(g,15)

Создайте географический земной шар. Позиционируйте камеру около Горы Вашингтон путем определения широты, долготы и эллипсоидальной высоты. Измените угол рыскания так, чтобы камера стояла перед горой. По умолчанию угол подачи является –90 градусами, так, чтобы камера указала на землю.

uif = uifigure;
g = geoglobe(uif);

campos(g,44.2668,-71.3849,1757)
camheading(g,90)

Анимируйте представление путем инкрементного изменения угла подачи. Когда угол подачи увеличивается, камера изменяется от обращения на землю к обращению на небо. После концов анимации измените угол подачи в 0 градусов.

for pitch = -90:2:90
    campitch(g,pitch)
    drawnow
end
campitch(g,0)

Получите положение и заголовок, подачу и углы вращения камеры. Используйте эту информацию, чтобы управлять представлением различного географического земного шара или автоматизировать навигацию.

Создайте географический земной шар. Перейдите к сфере интересов с помощью мыши или жестов. В данном примере перейдите к области вокруг Гавайев.

uif = uifigure;
g = geoglobe(uif);

Bird's-eye view of Hawaii

Запросите широту, долготу и эллипсоидальную высоту камеры, и присвойте каждого переменной.

[camlat,camlon,camh] = campos(g)
camlat =

   18.1781


camlon =

 -155.9297


camh =

   6.6664e+04

Запросите заголовок, подачу и углы вращения камеры, и присвойте каждого переменной.

heading = camheading(g)
pitch = campitch(g)
roll = camroll(g)
heading =

   16.7613


pitch =

  -24.1507


roll =

  359.9977

Используйте эти значения, чтобы управлять представлением различного географического земного шара. Например, создайте новый географический земной шар и программно установите представление.

uif2 = uifigure;
g2 = geoglobe(uif2);
campos(g2,camlat,camlon,camh)
camheading(g2,heading)
campitch(g2,pitch)
camroll(g2,roll)

Сохраните положение и заголовок, подачу и углы вращения камеры путем устанавливания режимов камеры вручную. Если вы не устанавливаете режимы камеры вручную, то поле зрения камеры сбрасывает, когда вы отображаете новые данные на графике.

Импортируйте демонстрационный маршрут вдоль дорог в Массачусетсе с помощью gpxread функция. Создайте географический земной шар с планом действий и никакими данными о ландшафте. Сохраните основную карту и настройки ландшафта при помощи hold функция. Затем переместитесь к области по ближневосточному Массачусетсу с помощью мыши.

track = gpxread('sample_tracks.gpx','Index',2);
lat = track.Latitude;
lon = track.Longitude;
height = track.Elevation;

uif = uifigure;
g = geoglobe(uif,'Basemap','streets','Terrain','none');
hold(g,'on')

Map of an area around Eastern Massachusetts with labeled cities and roads

Установите режимы камеры вручную и отобразите данные на графике. Обратите внимание на то, что положение камеры не изменяется.

campos(g,'manual')
camheight(g,'manual')
camheading(g,'manual')
campitch(g,'manual')
camroll(g,'manual')
geoplot3(g,lat,lon,height,'LineWidth',3)

The same map with a blue line plotted along several roads

Входные параметры

свернуть все

Географический земной шар в виде GeographicGlobe object.[1]

Передайте угол камеры в виде скалярного значения в области значений [–90, 90] степени. По умолчанию угол подачи является –90 градусами, что означает, что камера указывает непосредственно на поверхность земного шара.

Больше о

свернуть все

Как ориентация камеры влияет на представление земного шара

Значения заголовка камеры, подачи и углов вращения влияют на ваше представление географического земного шара. Mapping Toolbox™ ссылается на эти значения к земному шару с помощью северо-востока вниз (NED) система координат. В результате, когда заголовок, подача и углы вращения камеры являются нулем, камера находится на плоскости, которая параллельна плоскости касательной земного шара в текущей широте и долготе. Для получения дополнительной информации о системах координат NED, смотрите, Выбирают 3-D Систему координат.

A camera positioned far above the Earth. The camera has three axes labeled xNorth, yEast, and zDown.

Измените свое представление географического земного шара путем изменения заголовка, подачи и углов вращения камеры:

  • Заголовок — Вращает камеру о своем z - ось, которая переключает левое или правое представление. Переместите представление направо путем увеличения угла рыскания.

  • Подача — Вращает камеру о своем y - ось, которая наклоняет представление или вниз. Наклоните представление путем увеличения угла подачи.

  • Список — Вращает камеру о своем x - ось, которая вращает камеру вокруг ее линзы. Вращайте представление против часовой стрелки путем увеличения угла вращения.

A camera with three axes labeled x, y, and z. The origin sits at the center of the camera lens.

Советы

  • Когда угол подачи близок –90 (значение по умолчанию) или 90 градусов, камера теряет одну вращательную степень свободы. В результате, когда вы изменяете угол вращения, угол рыскания может измениться вместо этого. Это явление называется gimbal lock. Чтобы избежать эффектов блокировки карданова подвеса, вызовите camheading функция вместо camroll функция.

Введенный в R2020b

[1]  Выравнивание контуров и меток области является представлением функции, обеспеченной по условию поставщики, и не подразумевает подтверждение MathWorks®.