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®.