套件 | flash.geom |
類別 | public final class Orientation3D |
繼承 | Orientation3D Object |
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10, AIR 1.5 |
decompose
和 recompose
方法會使用其中一種列舉類型來識別矩陣的旋轉組件。
相關 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 軸旋轉時有奇點之類的問題或平衡環鎖死 (Gimbal Lock),尤拉角度有時會導致動畫錯誤。例如,由於使用尤拉角度時,每個座標軸會獨立處理,所以在繞著兩個以上的軸旋轉可能會發生平衡環鎖死。這些軸可能會變得重疊,而導致意外結果。
顯示物件的軸旋轉屬性會執行尤拉角度旋轉。
相關 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, 03:47 PM Z