Pakiet | flash.geom |
Klasa | public final class Orientation3D |
Dziedziczenie | Orientation3D Object |
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
decompose
i recompose
obiektu Matrix3D przyjmują jako argument jedną z tych wartości wyliczeniowych identyfikującą składniki obrotu w macierzy.
Powiązane elementy interfejsu API
Stała | Zdefiniowane przez | ||
---|---|---|---|
AXIS_ANGLE : String = "axisAngle" [statyczny]
Orientacja według osi i kąta jest zdefiniowana przez kombinację osi i kąta. | Orientation3D | ||
EULER_ANGLES : String = "eulerAngles" [statyczny]
Kąty Eulera, domyślna orientacja dla metod decompose() i recompose(), definiują orientację przy użyciu trzech odrębnych kątów obrotu wokół poszczególnych osi. | Orientation3D | ||
QUATERNION : String = "quaternion" [statyczny]
W kwaternionowej definicji orientacji stosowane są liczby zespolone. | Orientation3D |
AXIS_ANGLE | Stała |
public static const AXIS_ANGLE:String = "axisAngle"
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Orientacja według osi i kąta jest zdefiniowana przez kombinację osi i kąta. Przykładem osi jest półprosta lub wektor poprowadzony ze środka sfery do jej powierzchni. Oś, wokół której obracany jest obiekt, to wektor jednostkowy reprezentujący każdy możliwy kierunek w przestrzeni trójwymiarowej. Kąt określa wielkość obrotu wokół wektora. Kierunek określa, w którą stronę jest zwrócony obiekt wyświetlany, a kąt przechyłu określa, która strona jest zwrócona do góry. Obiekty Vector3D i Matrix3D umożliwiają określanie różnych transformacji macierzowych oraz wartości istotnych przy programowaniu scen trójwymiarowych, takich jak odległość do przecięcia dwóch obiektów pozwalająca na wykrywanie prostych kolizji między obiektami trójwymiarowymi.
W metodach Matrix3D.appendRotation()
i Matrix3D.prependRotation()
orientacja zdefiniowana jest przez kąt i oś.
Powiązane elementy interfejsu API
EULER_ANGLES | Stała |
public static const EULER_ANGLES:String = "eulerAngles"
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Kąty Eulera, domyślna orientacja dla metod decompose()
i recompose()
, definiują orientację przy użyciu trzech odrębnych kątów obrotu wokół poszczególnych osi. Zwykle po obrocie wokół osi X następuje obrót wokół osi Y, a następnie obrót wokół osi Z.
Użycie kątów Eulera do definiowania orientacji może niekiedy prowadzić do błędów animacji spowodowanych osobliwościami podczas obrotu wokół osi X lub utratą jednego stopnia swobody (tzw. efekt „gimbal lock”). Na przykład ponieważ w przypadku kątów Eulera każda oś jest traktowana niezależnie od pozostałych, obrót wokół dwóch lub trzech osi może doprowadzić do utraty jednego stopnia swobody. Efekt ten polega na równoległym ustawieniu osi, co prowadzi do nieoczekiwanych rezultatów.
Właściwości obrotu osi obiektu wyświetlanego powodują obroty według kątów Eluera.
Powiązane elementy interfejsu API
QUATERNION | Stała |
public static const QUATERNION:String = "quaternion"
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
W kwaternionowej definicji orientacji stosowane są liczby zespolone. Orientacja kwaternionowa jest reprezentowana przez trzy osie obrotu (x,y,z) oraz kąt obrotu (w). Metoda kwaternionowa gwarantuje najkrótszą, najbardziej efektywną ścieżkę obrotu. Generuje ponadto płynny obrót, przy którym obiekt nie traci stopni swobody. Utrata stopnia swobody może nastąpić, gdy podczas obrotu wokół dwóch lub trzech osi dojdzie do równoległego ustawienia osi. Sytuacja taka prowadzi do nieoczekiwanych wyników.
Orientacja kwaternionowa jest używana w metodzie Matrix3D.interpolate()
Powiązane elementy interfejsu API
Tue Jun 12 2018, 12:06 PM Z