Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Класс Vector3D представляет точку или расположение в трехмерном пространстве с использованием декартовых координат x, y и z. Как в двухмерной системе координат, свойство
x
представляет горизонтальную ось, а свойство
y
— вертикальную. В трехмерном пространстве свойство
z
представляет глубину. Значение свойства
x
увеличивается при перемещении объекта влево. Значение свойства
y
увеличивается при перемещении объекта вниз. Значение свойства
z
увеличивается при перемещении объекта вдаль от точки обзора. При использовании перспективной проекции и масштабирования объекта размер объекта увеличивается при приближении к экрану и уменьшается при удалении от него. Как в левосторонней трехмерной системе координат, положительная ось z направлена в противоположную от наблюдателя сторону и значение свойства
z
увеличивается при удалении объекта от наблюдателя. Исходной точкой (0,0,0) в глобальном пространстве является верхний левый угол рабочей области.
Класс Vector3D может также представлять направление, стрелку от исходной точки координатной системы с координатами (0,0,0) до конечной точки; или компоненты плавающей запятой цветовой модели RGB (Red, Green, Blue — красный, зеленый, синий).
Кватернион добавляет четвертый элемент, свойство w
, которое предоставляет дополнительную информацию об ориентации. Например, свойство w
может задавать угол вращения объекта Vector3D. Комбинация угла вращения и координат x, y и z может задавать ориентацию экранного объекта. Ниже представлены элементы Vector3D в виде матрицы:
length:Number
[только для чтения]
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Длина, значение, текущего объекта VectorD от исходной точки (0,0,,0) до координат x, y и z объекта. Свойство w
игнорируется. Длина или величина единичного вектора равна единице.
Реализация public function get length():Number
См. также
lengthSquared:Number
[только для чтения]
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Квадрат длины текущего объекта Vector3D, вычисленный с использованием свойств x
, y
и z
. Свойство w
игнорируется. По возможности используйте метод lengthSquared()
вместо более медленного метода Math.sqrt()
в методе Vector3D.length()
.
Реализация public function get lengthSquared():Number
См. также
public var w:Number
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Четвертый элемент объекта Vector3D (в дополнение к свойствам x
, y
и z
) может содержать такие данные, как угол вращения. Значение по умолчанию 0.
Запись кватерниона включает в себя угол в качестве четвертого элемента вычисления трехмерного вращения. Свойство w
можно использовать для определения угла вращения объекта Vector3D. Комбинация угла вращения и координат (x,y,z) задает ориентацию экранного объекта.
Более того, свойство w
можно использовать в качестве коэффициента деформации перспективы для спроецированного трехмерного положения или в качестве значения преобразования перспективы в представлении трехмерной координаты, спроецированной в двухмерное пространство. Например, можно создать матрицу проекции при помощи свойства Matrix3D.rawData
, которая, после применения к объекту Vector3D, производит значение преобразования для четвертого элемента объекта Vector3D (свойства w
). В результате последующего деления других элементов объекта Vector3D на значение преобразования получается спроецированный объект Vector3D. При помощи метода Vector3D.project()
можно разделить первые три элемента объекта Vector3D на его четвертый элемент.
См. также
public var x:Number
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Первый элемент объекта Vector3D, например координата x точки в трехмерном пространстве. Значение по умолчанию 0.
public var y:Number
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Второй элемент объекта Vector3D, например координата y точки в трехмерном пространстве. Значение по умолчанию 0.
public var z:Number
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Третий элемент объекта Vector3D, например координата z точки в трехмерном пространстве. Значение по умолчанию 0.
public function Vector3D(x:Number = 0., y:Number = 0., z:Number = 0., w:Number = 0.)
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Создает экземпляр объекта Vector3D. Если в конструкторе параметр не указан, объект Vector3D создается с элементами (0,0,0,0).
Параметры | x:Number (default = 0. ) — Первый элемент, например координата x.
|
|
| y:Number (default = 0. ) — Второй элемент, например координата y.
|
|
| z:Number (default = 0. ) — Третий элемент, например координата z.
|
|
| w:Number (default = 0. ) — Необязательный элемент для дополнительных данных, например угол поворота.
|
public function add(a:Vector3D):Vector3D
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Добавляет значения элементов x, y и z текущего объекта Vector3D к значениям элементов x, y и z другого объекта Vector3D. Метод add()
не изменяет текущий объект Vector3D. Вместо этого он возвращает новый объект Vector3D с новыми значениями.
В результате сложения двух векторов получается результирующий вектор. Одним из способов визуализации результата является рисование вектора из начальной или конечной точки первого вектора до конечной или начальной точки второго вектора. Полученным в результате вектором будет являться расстояние между начальной точкой первого вектора и конечной точкой второго вектора.

Параметры
| a:Vector3D — Объект Vector3D, добавляемый к текущему объекту Vector3D.
|
Возвращает | Vector3D — Объект Vector3D, получающийся в результате добавления текущего объекта Vector3D к другому объекту Vector3D.
|
См. также
public static function angleBetween(a:Vector3D, b:Vector3D):Number
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Возвращает угол (в радианах) между двумя векторами. Возвращаемый угол представляет собой наименьший радиан вращения первого объекта Vector3D до его выравнивания со вторым объектом Vector3D.
Метод angleBetween()
является статическим. Его можно использовать как метод класса Vector3D напрямую.
Для перевода градусов в радианы можно использовать следующую формулу:
радиан = Math.PI/180 * градус
Параметры
Возвращает | Number — Угол между двумя объектами Vector3D.
|
public function clone():Vector3D
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Возвращает новый объект Vector3D, который является точной копией текущего объекта Vector3D.
Возвращает | Vector3D — Новый объект Vector3D, который является копией текущего объекта Vector3D.
|
public function crossProduct(a:Vector3D):Vector3D
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Возвращает новый объект Vector3D, который расположен перпендикулярно (под прямым углом) к текущему и второму объекту Vector3D. Если возвращен объект Vector3D с координатами (0,0,0), два объекта Vector3D расположены перпендикулярно друг к другу.

Можно использовать нормализованное векторное произведение двух вершин поверхности многоугольника и нормализованного вектора камеры или точки обзора наблюдателя для получения скалярного произведения. Значение скалярного произведения определяет, будет ли поверхность трехмерного объекта невидимой.
Параметры
Возвращает | Vector3D — Новый объект Vector3D, расположенный перпендикулярно к данному объекту Vector3D и объекту Vector3D, заданному в качестве параметра.
|
См. также
public function decrementBy(a:Vector3D):void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Уменьшает значения элементов x, y и z текущего объекта Vector3D на значения элементов x, y и z заданного объекта Vector3D. В отличие от метода Vector3D.subtract()
, метод decrementBy()
изменяет текущий объект Vector3D и не возвращает новый объект Vector3D.
Параметры
| a:Vector3D — Объект Vector3D, содержащий значения, которые нужно вычесть из текущего объекта Vector3D.
|
См. также
public static function distance(pt1:Vector3D, pt2:Vector3D):Number
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Возвращает расстояние между двумя объектами Vector3D. Метод distance()
является статическим. Его можно использовать как метод класса Vector3D напрямую для получения евклидового расстояния между двумя трехмерными точками.
Параметры
| pt1:Vector3D — Объект Vector3D в виде первой трехмерной точки.
|
|
| pt2:Vector3D — Объект Vector3D в виде второй трехмерной точки.
|
Возвращает | Number — Расстояние между двумя объектами Vector3D.
|
public function dotProduct(a:Vector3D):Number
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Если текущий объект Vector3D и объект, заданный в качестве параметра, являются единичными вершинами, данный метод возвращает косинус угла между двумя вершинами. Единичные вершины — это вершины с одинаковым направлением, но с одной длиной. Они удаляют длину вектора как множителя в результате. Метод normalize()
можно использовать для преобразования вектора в единичный вектор.
Метод dotProduct()
используется для вычисления угла между двумя вершинами. Он также используется в вычислении отбора или освещения невидимой поверхности. Отбор невидимой поверхности — это процедура определения поверхностей, которые будут скрыты в точке наблюдения. Нормализованные вершины с камеры или точки наблюдения и векторное произведение вершин поверхности многоугольника можно использовать для получения скалярного произведения. Если скалярное произведение меньше нуля, то поверхность видима камере или наблюдателю. Если две единичные вершины расположены перпендикулярно друг к другу, они являются ортогональными и их скалярное произведение равно нулю. Если две вершины расположены параллельно друг к другу, скалярное произведение равно единице.
Параметры
Возвращает | Number — Скалярная величина, которая была получена в результате скалярного произведения текущего объекта Vector3D и заданного объекта Vector3D.
|
См. также
public function equals(toCompare:Vector3D, allFour:Boolean = false):Boolean
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Определяет равенство двух объектов Vector3D путем сравнения элементов x, y и z текущего объекта Vector3D и заданного объекта Vector3D. Если значения этих элементов одинаковые, два объекта Vector3D равны. Если для второго дополнительного параметра задано значение true
, сравниваются все четыре элемента объектов Vector3D, включая свойство w
.
Параметры
| toCompare:Vector3D — Объект Vector3D, сравниваемый с текущим объектом Vector3D.
|
|
| allFour:Boolean (default = false ) — Необязательный параметр, который определяет необходимость использования свойства w объектов Vector3D при сравнении.
|
Возвращает | Boolean — Возвращается значение true , если заданный объект Vector3D равен текущему объекту Vector3D, и значение false , если не равен.
|
См. также
public function incrementBy(a:Vector3D):void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Увеличивает значение элементов x, y и z текущего объекта Vector3D на значения элементов x, y и z заданного объекта Vector3D. В отличие от метода Vector3D.add()
, метод incrementBy()
изменяет текущий объект Vector3D и не возвращает новый объект Vector3D.
Параметры
| a:Vector3D — Объект Vector3D, добавляемый к текущему объекту Vector3D.
|
См. также
public function nearEquals(toCompare:Vector3D, tolerance:Number, allFour:Boolean = false):Boolean
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Сравнивает элементы текущего объекта Vector3D с элементами заданного объекта Vector3D для определения приблизительного равенства. Два объекта Vector3D приблизительно равны, если значение всех элементов двух вершин равны, или если результат сравнения находится в пределах допустимого отклонения. Разность между двумя элементами должна быть меньше значения, указанного в параметре tolerance
. Если для третьего дополнительного параметра задано значение true
, сравниваются все четыре элемента объектов Vector3D, включая свойство w
. В противном случае при сравнении учитываются только элементы x, y и z.
Параметры
| toCompare:Vector3D — Объект Vector3D, сравниваемый с текущим объектом Vector3D.
|
|
| tolerance:Number — Число, определяющее коэффициент допустимого отклонения. Если разность между значением элемента Vector3D, заданного в параметре toCompare , и значением текущего элемента Vector3D не превышает значение допустимого отклонения, эти два значения считаются приблизительно равными.
|
|
| allFour:Boolean (default = false ) — Необязательный параметр, который определяет необходимость использования свойства w объектов Vector3D при сравнении.
|
Возвращает | Boolean — Возвращается значение true , если заданный объект Vector3D приблизительно равен текущему объекту Vector3D, и значение false , если не равен.
|
См. также
public function negate():void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Задает обращение текущего объекта Vector3D. Инверсный объект считается противоположным исходному объекту. Значения свойств x
, y
и z
текущего объекта Vector3D меняются на значения -x
, -y
и -z
.
public function normalize():Number
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Преобразует объект Vector3D в единичный вектор делением первых трех элементов (x, y и z) на длину вектора. Единичные вершины — это вершины, имеющие направление, но их длина равна единице. Они упрощают вычисления векторов, убирая длину в качестве множителя.
Возвращает | Number — Длина текущего объекта Vector3D.
|
public function project():void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Делит значения свойств x
, y
и z
текущего объекта Vector3D на значение его свойства w
.
Если текущий объект Vector3D является результатом умножения объекта Vector3D на объект проекции Matrix3D, в свойстве w
может содержаться значение преобразования. Затем проецирование может быть выполнено с помощью метода project()
путем деления элементов на значение свойства w
. Свойство Matrix3D.rawData
можно использовать для создания объекта проекции Matrix3D.
public function scaleBy(s:Number):void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Масштабирует текущий объект Vector3D на скаляр (значение). Элементы x, y и z объекта Vector3D умножаются на скалярную величину, заданную в параметре. Например, если вектор масштабируется с коэффициентом, равным десяти, в результате получается вектор, длина которого в десять раз больше. Скалярная величина может также изменить направление вектора. При умножении вектора на отрицательное число направление вектора меняется на обратное.
Параметры
| s:Number — Множитель (скалярная величина), который используется для масштабирования объекта Vector3D.
|
public function subtract(a:Vector3D):Vector3D
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Вычитает значения элементов x, y и z текущего объекта Vector3D из значений элементов x, y и z другого объекта Vector3D. Метод subtract()
не изменяет текущий объект Vector3D. Вместо этого данный метод возвращает новый объект Vector3D с новыми значениями.
Параметры
| a:Vector3D — Объект Vector3D, вычитаемый из текущего объекта Vector3D.
|
Возвращает | Vector3D — Новый объект Vector3D, представляющий собой разницу текущего объекта Vector3D и заданного объекта Vector3D.
|
См. также
public function toString():String
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Возвращает строковое представление текущего объекта Vector3D. В строке содержатся значения свойств x
, y
и z
.
Возвращает | String — Строка, в которой содержатся значения свойств x , y и z .
|
public static const XAXIS:Vector3D
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Ось x, определенная в виде объекта Vector3D с координатами (1,0,0).
public static const YAXIS:Vector3D
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Ось y, определенная в виде объекта Vector3D с координатами (0,1,0).
public static const ZAXIS:Vector3D
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Ось z, определенная в виде объекта Vector3D с координатами (0,0,1).
© 2004-2008 Adobe Systems Incorporated. All rights reserved.
Wed Sep 24 2008, 07:56 AM -07:00