Пакет | flash.geom |
Класс | public class PerspectiveProjection |
Наследование | PerspectiveProjection ![]() |
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Проекция — это способ представления трехмерного объекта в двухмерном пространстве, например проекция куба на экран компьютера. В перспективной проекции используется конус видимости, прямоугольная пирамида, для моделирования и проецирования трехмерного пространства и его объектов на экране. Конус видимости значительно расширяется по мере удаления от исходного положения точки обзора. Исходным положением точки обзора может являться камера или глаза наблюдателя, смотрящего на экран. Спроецированная перспектива создает иллюзию трехмерного пространства с глубиной и расстоянием, в котором объекты, расположенные ближе к экрану, имеют большие размеры, чем объекты, расположенные на удаленном расстоянии от экрана.
Объект PerspectiveProjection по умолчанию является каркасом, определенным для перспективного преобразования корневого объекта на основе поля обзора и соотношения сторон (размеров) сцены. Центр проекции, точка схода, задан в центре рабочей области, что обозначает, что трехмерные экранные объекты будут исчезать в центре рабочей области при перемещении в обратном направлении по оси z. Точкой просмотра по умолчанию является точка с координатами (0,0) при просмотре сверху вниз вдоль положительной оси z. Ось y направлена вниз экрана. Можно получить доступ к параметрам перспективной проекции экранного объекта root
и изменить свойства поля обзора и центра проекции свойства perspectiveProjection
с помощью свойства DisplayObject.transform
экранного объекта root
.
Можно изменить параметр перспективной проекции экранного объекта также при посредством перспективной проекции родительского объекта. Сначала создайте объект PerspectiveProjection и задайте его свойства fieldOfView
и projectionCenter
. Затем назначьте объект PerspectiveProjection родительскому экранному объекту при помощи свойства DisplayObject.transform
. Затем заданные матрица проекции и преобразование будут применены ко всем трехмерным дочерним элементам экранного объекта.
См. также
Свойство | Определено | ||
---|---|---|---|
![]() | constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | |
fieldOfView : Number
Указывает угол поля обзора, в градусах со значением между 0 и 180, в трехмерном пространстве. | PerspectiveProjection | ||
focalLength : Number [только для чтения]
Расстояние между исходным положением наблюдателя или точкой просмотра (0,0,0) и экранным объектом, расположенным на оси z. | PerspectiveProjection | ||
projectionCenter : Point
Двумерная точка, представляющая центр проекции, точку схода, экранного объекта. | PerspectiveProjection | ||
![]() | prototype : Object [статические]
Ссылка на модель объекта класса или функции. | Object |
Метод | Определено | ||
---|---|---|---|
Создает экземпляр объекта PerspectiveProjection. | PerspectiveProjection | ||
![]() |
Показывает, определено ли заданное свойство для объекта. | Object | |
![]() |
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | |
![]() |
Показывает наличие заданного свойства и его перечисляемость. | Object | |
![]() |
Задает доступность динамического свойства для операций цикла. | Object | |
Возвращает базовый объект Matrix3D экранного объекта. | PerspectiveProjection | ||
![]() |
Возвращает строковое представление заданного объекта. | Object | |
![]() |
Возвращает элементарное значение заданного объекта. | Object |
fieldOfView | свойство |
fieldOfView:Number
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Указывает угол поля обзора, в градусах со значением между 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 |
Расстояние между исходным положением наблюдателя или точкой просмотра (0,0,0) и экранным объектом, расположенным на оси z. Во время перспективного преобразования значение focalLength
вычисляется динамически с использованием значений угла поля обзора и соотношения сторон рабочей области (ширина рабочей области, деленная на ее высоту).
public function get focalLength():Number
См. также
projectionCenter | свойство |
projectionCenter:Point
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Двумерная точка, представляющая центр проекции, точку схода, экранного объекта.
Свойство 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 |
Создает экземпляр объекта PerspectiveProjection.
toMatrix3D | () | метод |
public function toMatrix3D():Matrix3D
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Возвращает базовый объект Matrix3D экранного объекта.
В экранном объекте, например корневом объекте, можно создать объект PerspectiveProjection без необходимости определения свойства Matrix3D для его преобразования. На самом деле, объект PerspectiveProjection или Matrix3D следует использовать для определения перспективного преобразования. Если при использовании объекта PerspectiveProjection требовался объект Matrix3D, метод toMatrix3D()
позволяет получить базовый объект Matrix3D экранного объекта. Например, метод toMatrix3D()
можно использовать вместе с методом Utils3D.projectVectors()
.
Matrix3D — Базовый объект Matrix3D.
|
См. также