view

Линия зрения камеры

Описание

пример

view(az,el) устанавливает азимут и углы возвышения линии зрения камеры для текущих систем координат.

пример

view(v) устанавливает линию визирования согласно v, который является массивом с двумя или тремя элементами:

  • Двухэлементный массив - значения являются азимутом и углами возвышения соответственно.

  • Трехэлементный массив - значения являются x -, y - и z - координатами вектора, который начинается в центре окна графика и указывает на камеру. MATLAB® вычисляет азимут и углы возвышения с помощью единичного вектора, указывающего в том же направлении.

пример

view(dim) использует линию зрения по умолчанию для 2-D или 3-D графиков. Задайте dim как 2 для представления 2-D по умолчанию или 3 для представления 3-D по умолчанию.

пример

view(ax,___) задает целевые оси при изменении линии визирования.

пример

[caz,cel] = view(___) возвращает азимут и углы возвышения следующим caz и cel, соответственно. Задайте входные параметры из любого из предыдущих синтаксисов, чтобы получить углы для новой линии зрения. Или не задайте входных параметров, чтобы получить углы для текущей линии зрения.

Примеры

свернуть все

Используйте peaks функция для получения координат x -, y - и z поверхности. Затем постройте график поверхности и отметьте каждую ось.

[X,Y,Z] = peaks;
surf(X,Y,Z)
xlabel('X')
ylabel('Y')
zlabel('Z')

Figure contains an axes. The axes contains an object of type surface.

Просмотрите график с помощью азимута 90 степени и повышение 0 степени. Новая линия визирования расположена вдоль оси X.

view(90,0)

Figure contains an axes. The axes contains an object of type surface.

Используйте peaks функция для получения координат x -, y - и z поверхности. Затем постройте график поверхности и отметьте каждую ось.

[X,Y,Z] = peaks;
surf(X,Y,Z)
xlabel('X')
ylabel('Y')
zlabel('Z')

Figure contains an axes. The axes contains an object of type surface.

Отображение графика на 2-D виде.

view(2)

Figure contains an axes. The axes contains an object of type surface.

Создайте множество x, y - и z - и используйте их для построения графика поверхности. Затем пометьте каждую ось.

[X,Y] = meshgrid(-5:.5:5);
Z = Y.*sin(X) - X.*cos(Y);
surf(X,Y,Z)
xlabel('X')
ylabel('Y')
zlabel('Z')

Figure contains an axes. The axes contains an object of type surface.

Получите азимут и углы возвышения для этого графика.

[caz,cel] = view
caz = -37.5000
cel = 30

Измените вид путем определения v в качестве координат x - y и z вектора и возвращает новые азимут и углы возвышения. Новые углы основаны на единичном векторе, указывающем в том же направлении, что и v.

v = [-5 -2 5];
[caz,cel] = view(v)

Figure contains an axes. The axes contains an object of type surface.

caz = -68.1986
cel = 42.8760

Начиная с R2019b, можно отобразить плиточное размещение графиков с помощью tiledlayout и nexttile функций. Вызовите tiledlayout функция для создания мозаичного графика размещения 1 на 2. Вызовите nexttile функция для создания объектов осей ax1 и ax2. Используйте их, чтобы создать отдельные, но идентичные линейные графики.

t = 0:pi/20:10*pi;
xt1 = sin(t);
yt1 = cos(t);
tiledlayout(1,2)

% Left plot
ax1 = nexttile;
plot3(ax1,xt1,yt1,t)
xlabel('X')
ylabel('Y')
zlabel('Z')

% Right plot
ax2 = nexttile;
plot3(ax2,xt1,yt1,t)
xlabel('X')
ylabel('Y')
zlabel('Z')

Figure contains 2 axes. Axes 1 contains an object of type line. Axes 2 contains an object of type line.

Измените вид правого графика на вид сбоку вдоль оси X.

view(ax2,[90 0]);

Figure contains 2 axes. Axes 1 contains an object of type line. Axes 2 contains an object of type line.

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

свернуть все

Азимут, заданный в виде угла в степенях от отрицательной y -оси. Увеличение этого угла соответствует повороту против часовой стрелки вокруг оси z при просмотре плоскости x - y сверху.

Значение по умолчанию зависит от того, находится ли график в 2-D или 3-D виде. Для 2-D графиков значение по умолчанию 0. Для 3-D графиков значение по умолчанию -37.5.

Пример: view(45,25) устанавливает азимут равным 45 Степени и повышение для 25 степени.

Повышение, заданный минимальный угол в степенях между линией визирования и плоскостью x - y. Увеличение повышения с -90 на 90 степени соответствуют повороту от отрицательной оси z -оси к положительной оси z -оси.

Значение по умолчанию зависит от того, находится ли график в 2-D или 3-D виде. Для 2-D графиков значение по умолчанию 90. Для 3-D графиков значение по умолчанию 30.

Пример: view(45,25) устанавливает азимут равным 45 Степени и повышение для 25 степени.

Вектор линии видимости, заданный как один из следующих:

  • Двухэлементный массив, содержащий азимут и углы возвышения соответственно.

  • Трехэлементный массив, содержащий x -, y - и z - координаты вектора, который берёт начало из центра графика и указывает на камеру. MATLAB вычисляет азимут и повышение из единичного вектора, указывающего в том же направлении. Таким образом, величина v не влияет на линию зрения.

Пример: view([45 25]) устанавливает азимут равным 45 Степени и повышение для 25 степени.

Пример: view([20 25 5]) устанавливает линию зрения на вектор, который указывает в том же направлении, что и вектор [20 25 5].

Размерности, заданные как 2 или 3. Этот аргумент устанавливает азимут и повышение на значения по умолчанию, которые MATLAB использует для 2-D или 3-D графика.

Значение dimАзимутПовышение
2
090
3
-37.530

Целевые оси, заданные как Axes объект.

Подробнее о

свернуть все

Линия зрения

Линия зрения начинается в центре графика и указывает на камеру. MATLAB задает эту линию с помощью двух углов, azimuth и elevation. Эти углы измеряются в 3-D системе координат, источник которой находится в центре графика.

  • Азимут - угол поворота вокруг оси z, измеренный от оси отрицательного y -. Увеличение этого угла соответствует повороту против часовой стрелки вокруг оси z при просмотре плоскости x - y сверху.

  • Повышение - Минимальный угол между линией визирования и x - y плоскостью. Увеличение повышения с -90 на 90 степени соответствуют повороту от отрицательной оси z -оси к положительной оси z -оси.

Совет

view функция управляет направлением линии визирования, но не управляет положением, с которого начинается линия, и положением камеры. Для дополнительного управления используйте такие функции камеры, как campos, camtarget, camup, camva, camroll, и camproj.

Представлено до R2006a