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