exponenta event banner

посмотреть

Линия видимости камеры

Описание

пример

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 и оси 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 определяет эту линию с помощью двух углов: азимута и отметки. Эти углы измеряются в пределах 3-D системы координат, начало которой находится в центре поля графика.

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

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

Совет

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

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