Paket | flash.geom |
Klass | public final class Orientation3D |
Arv | Orientation3D Object |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
decompose
- och recompose
-metoder använder någon av dessa uppräknade typer för att identifiera den roterande komponenten i matrisen.
Relaterade API-element
Konstant | Definieras med | ||
---|---|---|---|
AXIS_ANGLE : String = "axisAngle" [statisk]
Axel-vinkel-orienteringen använder en kombination av en axel och en vinkel för att avgöra orienteringen. | Orientation3D | ||
EULER_ANGLES : String = "eulerAngles" [statisk]
Euler-vinklar, som är standardorientering för metoderna decompose() och recompose() definierar orienteringen med tre separata rotationsvinklar för varje axel. | Orientation3D | ||
QUATERNION : String = "quaternion" [statisk]
Kvaternion-orienteringen använder komplexa nummer. | Orientation3D |
AXIS_ANGLE | Konstant |
public static const AXIS_ANGLE:String = "axisAngle"
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Axel-vinkel-orienteringen använder en kombination av en axel och en vinkel för att avgöra orienteringen. En linje eller en vektor från centrum av en tredimensionell glob till ytan är ett exempel på en axel. Axeln som objektet roteras runt är en enhetsvektor som representerar vilken riktning som helst i det tredimensionella rummet. Vinkeln representerar storleken på rotationen runt vektorn. Riktningen avgör åt vilket håll visningsobjektet är riktat, och rollvinkeln avgör vilket håll som är upp. Med hjälp av Vector3D-objekt och Matrix3D-objekt kan du definiera de olika matrisomformningarna men även definiera viktiga tredimensionella programmeringsvärden som till exempel avståndet till var två objekt kommer att mötas, vilket kan användas för att upptäcka enkla kollisioner mellan tredimensionella objekt.
Metoderna Matrix3D.appendRotation()
och Matrix3D.prependRotation()
använder axel-vinkel-orientering.
Relaterade API-element
EULER_ANGLES | Konstant |
public static const EULER_ANGLES:String = "eulerAngles"
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Euler-vinklar, som är standardorientering för metoderna decompose()
och recompose()
, definierar orienteringen med tre separata rotationsvinklar för varje axel. Vanligen följs en rotation runt x-axeln av en rotation runt y-axeln, som i sin tur följs av en rotation runt z-axeln.
Euler-vinklar kan ibland leda till animationsfel som till exempel problem med singulariteter vid rotation runt x-axeln eller gimbal lock. Exempel: eftersom varje axel hanteras oberoende när Euler-vinklar används kan gimbal lock inträffa vid rotation runt två eller fler axlar. Axlarna kan råka gå ihop, vilket kan ge oväntade resultat.
Visningsobjektets axelrotation-egenskaper utför Euler-vinkelrotationer.
Relaterade API-element
QUATERNION | Konstant |
public static const QUATERNION:String = "quaternion"
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Kvaternion-orienteringen använder komplexa nummer. En kvaternionorientering definieras av de tre axlarna (x, y, z) och en rotationsvinkel (w). Kvaternion garanterar kortast, mest effektiva banan för rotationen. Den skapar också en jämn rotation utan gimbal lock. Ett gimbal lock kan inträffa vid rotation runt två eller fler axlar om axlarna går ihop, vilket kan leda till oväntade resultat.
Metoden Matrix3D.interpolate()
använder kvaternion.
Relaterade API-element
Tue Jun 12 2018, 01:40 PM Z