Пакет | flash.geom |
Класс | public class PerspectiveProjection |
Наследование | PerspectiveProjection Object |
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Проекция — это способ представления трехмерного объекта в двухмерном пространстве, например проекция куба на экран компьютера. В перспективной проекции используется конус видимости, прямоугольная пирамида, для моделирования и проецирования трехмерного пространства и его объектов на экране. Конус видимости значительно расширяется по мере удаления от исходного положения точки обзора. Исходным положением точки обзора может являться камера или глаза наблюдателя, смотрящего на экран. Спроецированная перспектива создает иллюзию трехмерного пространства с глубиной и расстоянием, в котором объекты, расположенные ближе к экрану, имеют большие размеры, чем объекты, расположенные на удаленном расстоянии от экрана.
Объект PerspectiveProjection по умолчанию является каркасом, определенным для перспективного преобразования корневого объекта на основе поля обзора и соотношения сторон (размеров) сцены. Центр проекции, точка схода, задан в центре рабочей области, что обозначает, что трехмерные экранные объекты будут исчезать в центре рабочей области при перемещении в обратном направлении по оси z. Точкой просмотра по умолчанию является точка с координатами (0,0) при просмотре сверху вниз вдоль положительной оси z. Ось y направлена вниз экрана. Можно получить доступ к параметрам перспективной проекции экранного объекта root
и изменить свойства поля обзора и центра проекции свойства perspectiveProjection
с помощью свойства DisplayObject.transform
экранного объекта root
.
Можно изменить параметр перспективной проекции экранного объекта также посредством перспективной проекции родительского объекта. Сначала создайте объект PerspectiveProjection и задайте его свойства fieldOfView
и projectionCenter
. Затем назначьте объект PerspectiveProjection родительскому экранному объекту при помощи свойства DisplayObject.transform
. Затем заданные матрица проекции и преобразование будут применены ко всем трехмерным дочерним элементам экранного объекта.
Связанные элементы API
Свойство | Определено | ||
---|---|---|---|
constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | ||
fieldOfView : Number
Указывает угол поля обзора, в градусах со значением между 0 и 180, в трехмерном пространстве. | PerspectiveProjection | ||
focalLength : Number
Расстояние между исходным положением наблюдателя или точкой просмотра (0,0,0) и экранным объектом, расположенным на оси z. | PerspectiveProjection | ||
projectionCenter : Point
Двумерная точка, представляющая центр проекции, точку схода, экранного объекта. | PerspectiveProjection |
Метод | Определено | ||
---|---|---|---|
Создает экземпляр объекта PerspectiveProjection. | PerspectiveProjection | ||
Показывает, определено ли заданное свойство для объекта. | Object | ||
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | ||
Показывает наличие заданного свойства и его перечисляемость. | Object | ||
Задает доступность динамического свойства для операций цикла. | Object | ||
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | ||
Возвращает базовый объект Matrix3D экранного объекта. | PerspectiveProjection | ||
Возвращает строковое представление заданного объекта. | Object | ||
Возвращает элементарное значение заданного объекта. | Object |
fieldOfView | свойство |
fieldOfView:Number
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Указывает угол поля обзора, в градусах со значением между 0
и 180
, в трехмерном пространстве. Это значение определяет степень применения перспективного преобразования и искажения к трехмерному экранному объекту с ненулевой координатой по оси z.
Значение, близкое к 0
градусов, означает, что двухмерные координаты x и y экрана и трехмерные координаты x, y и z примерно одинаковы, а искажение незначительное или отсутствует. Другими словами, при маленьком угле экранный объект, движущийся вниз по оси z, имеет визуально почти тот же размер и незначительное перемещение.
Значение, близкое к 180
градусам, производит эффект объектива типа «рыбий глаз»: точки с координатой по оси z
меньше 0
увеличены, а точки с координатой по оси z
больше 0
уменьшены. При большом значении угла экранный объект, перемещающийся вниз по оси z, быстро изменяется в размерах и перемещается на значительное расстояние. Если для поля обзора задано значение 0
или 180
, изображение отсутствует на экране.
Реализация
public function get fieldOfView():Number
public function set fieldOfView(value:Number):void
focalLength | свойство |
focalLength:Number
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Расстояние между исходным положением наблюдателя или точкой просмотра (0,0,0) и экранным объектом, расположенным на оси z. Во время перспективного преобразования значение focalLength
вычисляется динамически с использованием значений угла поля обзора и соотношения сторон рабочей области (ширина рабочей области, деленная на ее высоту).
Реализация
public function get focalLength():Number
public function set focalLength(value:Number):void
Связанные элементы API
projectionCenter | свойство |
projectionCenter:Point
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Двумерная точка, представляющая центр проекции, точку схода, экранного объекта.
Свойство projectionCenter
является смещением к точке регистрации по умолчанию, расположенной в верхнем левом углу рабочей области, точка с координатами (0,0). Центр преобразования проекции по умолчанию находится в центре рабочей области, что обозначает, что трехмерные экранные объекты будут исчезать в центре рабочей области при перемещении в обратном направлении по оси z.
Реализация
public function get projectionCenter():Point
public function set projectionCenter(value:Point):void
PerspectiveProjection | () | Конструктор |
public function PerspectiveProjection()
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Создает экземпляр объекта PerspectiveProjection.
toMatrix3D | () | метод |
public function toMatrix3D():Matrix3D
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Возвращает базовый объект Matrix3D экранного объекта.
В экранном объекте, например корневом объекте, можно создать объект PerspectiveProjection без необходимости определения свойства Matrix3D для его преобразования. На самом деле, объект PerspectiveProjection или Matrix3D следует использовать для определения перспективного преобразования. Если при использовании объекта PerspectiveProjection требовался объект Matrix3D, метод toMatrix3D()
позволяет получить базовый объект Matrix3D экранного объекта. Например, метод toMatrix3D()
можно использовать вместе с методом Utils3D.projectVectors()
.
Matrix3D — Базовый объект Matrix3D.
|
Связанные элементы API
Tue Jun 12 2018, 11:34 AM Z