MATLAB ® Graphics поддерживает как ортогональный, так и перспективный типы проекций для отображения 3-D графики. Выбранный тип зависит от типа отображаемой графики:
orthographic
проецирует объем просмотра в виде прямоугольного параллелепипеда (т.е. прямоугольника, противоположные стороны которого параллельны). Относительное расстояние от камеры не влияет на размер объектов. Этот тип проекции полезен, когда важно поддерживать фактический размер объектов и углы между объектами.
perspective
проецирует объем просмотра как усеченную часть пирамиды (пирамиды, вершина которой отрезана параллельно основанию). Расстояние вызывает срезание; объекты, расположенные дальше от камеры, становятся меньше. Этот тип проекции полезен при отображении реалистичных видов реальных объектов.
По умолчанию MATLAB отображает объекты с помощью ортогональной проекции. Тип проекции можно задать с помощью camproj команда.
На этих рисунках показан чертеж самосвала (создан с помощью patch) и график поверхности математической функции с использованием ортогональной проекции.

Если измерить ширину передней и задней сторон коробки, охватывающей самосвал, вы увидите, что они одного размера. Эта картина выглядит неестественной, потому что ей не хватает видимой перспективы, которую вы видите при взгляде на реальные объекты с глубиной. С другой стороны, график поверхности точно показывает значения функции в прямоугольном пространстве.
Теперь посмотрите на те же графические объекты с добавленной перспективой. Самосвал выглядит более естественным, потому что части грузовика, которые находятся дальше от зрителя, выглядят меньше. Эта проекция имитирует то, как работает человеческое зрение. График поверхности, с другой стороны, выглядит искаженным.

По умолчанию MATLAB корректирует CameraPosition, CameraTarget, и CameraViewAngle свойства для указания камеры в центре сцены и включения всех графических объектов в оси. Если камера расположена так, что за камерой находятся графические объекты, на отображаемую сцену могут влиять обе оси Projection свойство и цифра Renderer собственность. Ниже приведено краткое описание взаимодействия между типом проекции и методом визуализации.
Орфографический | Перспектива | |
|---|---|---|
| OpenGL ® |
|
|
| Живописцы | Все объекты отображаются независимо от | Не рекомендуется, если графические объекты находятся за |
Эта диаграмма иллюстрирует то, что вы видите (серую область) при использовании ортогональной проекции и OpenGL. Все, что перед камерой, видно.

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

Метод визуализации для живописцев менее подходит для перемещения камеры в 3-D пространстве, поскольку MATLAB не выполняет обрезку вдоль оси просмотра. Ортогональная проекция в методе художника позволяет видеть все объекты, содержащиеся в сцене, независимо от положения камеры.

Те же эффекты, что и в предыдущем разделе, имеют место при выводе в печатном виде. Для получения результатов, отображаемых на экране, необходимо явно указать opengl printing (используйте -opengl опция с print команда).