Пакет | flash.geom |
Класс | public final class Orientation3D |
Наследование | Orientation3D Object |
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
decompose
и recompose
объекта Matrix3D используют один из перечисленных типов для определения вращательных составляющих объекта Matrix.
Связанные элементы API
Константа | Определено | ||
---|---|---|---|
AXIS_ANGLE : String = "axisAngle" [статические]
Для определения ориентации межосевых улов используется комбинация оси и угла. | Orientation3D | ||
EULER_ANGLES : String = "eulerAngles" [статические]
По умолчанию для методов decompose() и recompose() используется ориентация типа эйлеровы углы, которая определяет ориентацию с тремя различными углами поворота вокруг каждой оси. | Orientation3D | ||
QUATERNION : String = "quaternion" [статические]
В ориентации кватерниона используются комплексные числа. | Orientation3D |
AXIS_ANGLE | Константа |
public static const AXIS_ANGLE:String = "axisAngle"
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Для определения ориентации межосевых улов используется комбинация оси и угла. Линия или вектор, идущий от центра трехмерного шара к поверхности, является примером оси. Ось, вокруг которой вращается объект, является единичным вектором, который представляет любое возможное направление в трехмерном пространстве. Угол представляет величину поворота относительно вектора. Направление определяет расположение лицевой стороны экранного объекта, а угол поворота — направление лицевой стороны вверх. Объекты Vector3D и Matrix3D можно использовать для определения различных преобразований матрицы, а также для определения важных значений для трехмерного программирования, например расстояние до пересечения двух объектов, которое можно использовать для обнаружения простого столкновения трехмерных объектов.
В методах Matrix3D.appendRotation()
и Matrix3D.prependRotation()
используется ориентация межосевого угла.
Связанные элементы API
EULER_ANGLES | Константа |
public static const EULER_ANGLES:String = "eulerAngles"
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
По умолчанию для методов decompose()
и recompose()
используется ориентация типа эйлеровы углы, которая определяет ориентацию с тремя различными углами поворота вокруг каждой оси. Как правило, за поворотом вокруг оси x следует поворот вокруг оси y, за которым следует поворот вокруг оси z.
Эйлеровы углы могут иногда приводить к ошибкам анимации из за таких проблем, как сингулярность при вращении вокруг оси x или блокировка вращения. Например, так как при работе с эйлеровыми углами каждая ось обрабатывается отдельно, блокировка вращения может произойти при вращении вокруг двух и более осей. Оси оказываются расположенными параллельно друг другу, что приводит к получению непредвиденных результатов.
Свойства вращения оси экранного объекта выполняют вращение по типу эйлеровых углов.
Связанные элементы API
QUATERNION | Константа |
public static const QUATERNION:String = "quaternion"
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
В ориентации кватерниона используются комплексные числа. Ориентация кватерниона представляется тремя осями поворота (x,y,z) и углом поворота (w). Кватернион обеспечивает кратчайший, наиболее эффективный контур вращения. Он также позволяет выполнять сглаживание без эффекта «шарнирного замка». Блокировка вращения может произойти, когда во время вращения вокруг двух или более осей оси оказываются расположенными параллельно друг другу, что приводит к получению непредвиденных результатов.
В методе Matrix3D.interpolate()
используется кватернион.
Связанные элементы API
Tue Jun 12 2018, 11:34 AM Z