MATLAB® Graphics поддерживает и типы ортогональной и перспективной проекции для отображения 3-D графики. Тот, который вы выбираете, зависит от типа графики, которую вы отображаете:
orthographic
проектирует объем просмотра как прямоугольный параллелепипед (i. e., поле, противоположные стороны которого параллельны). Относительное расстояние от камеры не влияет на размер объектов. Этот тип проекции полезен, когда важно поддержать фактический размер объектов и углов между объектами.
перспектива
проектирует объем просмотра как frustum пирамиды (пирамида, вершина которой была сокращена от параллели к основе). Видящие в перспективе причины расстояния; объекты далее от камеры кажутся меньшими. Этот тип проекции полезен когда это необходимо, чтобы отобразить реалистические представления действительных объектов.
По умолчанию MATLAB отображает объекты с помощью ортогональной проекции. Можно установить тип проекции с помощью команды camproj
.
Эти изображения показывают рисунок самосвала (созданный с patch
) и объемная поверхностная диаграмма математической функции, обеих ортогональных проекций использования.
Если вы измерите ширину передних и задних поверхностей поля, заключающего самосвал, вы будете видеть, что они одного размера. Это изображение выглядит неестественным, потому что оно испытывает недостаток в очевидной перспективе, которую вы видите при рассмотрении действительных объектов с глубиной. С другой стороны, объемная поверхностная диаграмма точно указывает на значения функции в прямоугольном пробеле.
Теперь посмотрите на те же графические объекты с добавленной перспективой. Самосвал выглядит более естественным, потому что фрагменты грузовика, которые более далеки от средства просмотра, кажутся меньшими. Эта проекция подражает способу, которым работает видение человека. Объемная поверхностная диаграмма, с другой стороны, выглядит искаженной.
По умолчанию MATLAB настраивает CameraPosition
, CameraTarget
и свойства CameraViewAngle
указать камеру на центр сцены и включать все графические объекты в оси. Если вы располагаете камеру так, чтобы были графические объекты позади камеры, отображенная сцена может быть затронута и свойством Projection
осей и фигурой свойство Renderer
. Следующее обобщает взаимодействия между типом проекции и методом рендеринга.
Ортогональный | Перспектива | |
---|---|---|
OpenGL® |
|
|
Живописцы | Все объекты отображены независимо от | Не рекомендуемый, если графические объекты находятся позади |
Эта схема иллюстрирует то, что вы видите (серая область) при использовании ортогональной проекции и OpenGL. Что-либо перед камерой видимо.
В перспективной проекции вы видите только, что видимо в конусе угла поля зрения камеры.
Метод рендеринга живописцев меньше подходит для перемещения камеры на 3-D пробеле, потому что MATLAB не отсекает вдоль оси просмотра. Ортогональная проекция в методе живописцев приводит ко всем объектам, содержавшимся в сцене, являющейся видимым независимо от положения камеры.
Те же эффекты, описанные в предыдущем разделе, происходят в твердой копии вывод. Необходимо задать opengl, распечатывающий явным образом, чтобы получить результаты, отображенные на экране (используйте-opengl
опцию с командой print
).