flash.geom
public final class Orientation3D
继承Orientation3D Inheritance Object

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

Orientation3D 类是用于表示 Matrix3D 对象的方向样式的常量值枚举。方向的三个类型分别为欧拉角、轴角和四元数。Matrix3D 对象的 decomposerecompose 方法采用其中的某一个枚举类型来标识矩阵的旋转组件。

另请参见

flash.geom.Matrix3D
flash.geom.Transform
flash.geom.PerspectiveProjection


公共属性
 属性定义方
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
 Inheritedprototype : Object
[静态] 对类或函数对象的原型对象的引用。
Object
公共方法
 方法定义方
 Inherited
指示对象是否已经定义了指定的属性。
Object
 Inherited
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
 Inherited
指示指定的属性是否存在、是否可枚举。
Object
 Inherited
设置循环操作动态属性的可用性。
Object
 Inherited
返回指定对象的字符串表示形式。
Object
 Inherited
返回指定对象的原始值。
Object
公共常量
 常量定义方
  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() 方法均使用轴角方向。

另请参见

EULER_ANGLES常量 
public static const EULER_ANGLES:String = "eulerAngles"

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

欧拉角(decompose()recompose() 方法的默认方向)通过三个不同的对应于每个轴的旋转角来定义方向。通常,先进行绕 x 轴的旋转,然后进行绕 y 轴的旋转,最后进行绕 z 轴的旋转。

由于存在一些问题(如绕 x 轴旋转时出现的奇异性问题或万向节锁定情况),欧拉角有时会导致动画错误。例如,由于使用欧拉角的每个轴均被单独处理,因此在绕两个或更多轴旋转的过程中,会发生万向节锁定情况。这些轴可能会对齐,从而导致意外结果。

显示对象的轴旋转属性会执行欧拉角旋转。

另请参见

QUATERNION常量 
public static const QUATERNION:String = "quaternion"

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

四元数方向使用复数。四元数中的方向由三个旋转轴(x、y、z)和一个旋转角 (w) 确定。四元数可以确保旋转的路径最短且最有效。它还生成平滑的、无万向节锁定的旋转。在绕两个或更多轴旋转的过程中若出现轴对齐,则会发生万向节锁定,从而导致意外结果。

Matrix3D.interpolate() 方法使用四元数。

另请参见