ViewingAngle
Вводный угол камеры lense
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
Обязательный | Выражение MuPAD® |
Объекты | Значения по умолчанию ViewingAngle |
---|---|
plot::Camera |
ViewingAngle
задает угол обзора камеры. Это также известно как “вводный угол” lense камеры и определяется его фокусным расстоянием.
Небольшие углы обзора соответствуют телеку lense, большим вводным углам к широкому углу lense. Углы близко к π соответствуют (экстремальному) глазу рыбы lense.
Значения для ViewingAngle
должны быть даны в радианах. Углы должны быть больше, чем и меньшими, чем π. Другие значения заменяются некоторым маленьким положительным углом или углом немного меньше, чем π, соответственно.
Обратите внимание на то, что при использовании широкого угла lense, сцена может заполнить только часть области рисунка. С телеком lense, только части сцены могут быть видимы.
При использовании объекта камеры с данным Position
необходимо узнать экспериментально, какой угол обзора подходит, чтобы заставить сцену заполнить разумный фрагмент области рисунка.
ViewingAngle
не имеет никакого эффекта, когда атрибут OrthogonalProjection
= TRUE
установлен для камеры.
На самом деле, когда параллельная проекция без перспективного искажения желаема, не нужно располагать камеру далеко от сцены и использовать экстремальный телек lense (т.е., очень маленькие значения ViewingAngle
). Это может привести к проблемам с алгоритмом невидимой линии 3D средства отображения. Используйте OrthogonalProjection
= TRUE
вместо этого.
ViewingAngle
может быть анимирован. Увеличение или уменьшение значений ViewingAngle
соответствуют “уменьшению масштаб” или “увеличиванию масштаб”, соответственно.
При создании объекта камеры третьим аргументом является ViewingAngle
:
camera:= plot::Camera([5, 5, 5], [0, 0, 0], PI/4): camera::ViewingAngle
Мы анимируем ViewingAngle
. С начальным значением сцены является полностью видимым (а скорее маленьким). При увеличивании масштаб путем уменьшения угла обзора только части сцены видимы:
f := plot::Function3d(sin(x^3 - y^2), x = -2..2, y = -2..2, Submesh = [2, 2]): camera:= plot::Camera([5, 5, 5], [0, 0, 0], (1 - a)*PI/3 + a*PI/10, a = 0..1, Frames = 200): plot(f, camera)
delete f, camera: