Paket | flash.geom |
Klass | public class PerspectiveProjection |
Arv | PerspectiveProjection Object |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Projektion är ett sätt att visa ett tredimensionellt objekt i ett tvådimensionellt rum, som till exempel en kub som visas på en dataskärm. Perspektivprojektion-funktionen använder ett visningsfrustum (en rektangulär pyramid) för att modellera och projicera en tredimensionell värld och dess objekt på en skärm. Detta visningsfrustum blir vidare ju längre det förflyttas från vypunkten. Vypunktens ursprung kan vara en kamera eller betraktarens öga som riktas mot skärmen. Det projicerade perspektivet skapar en illusion av tre dimensioner med djup och distans, där objekt som finns nära skärmen ser större ut än objekt längre från skärmen.
Ett PerspectiveProjection standardobjekt utgör ett ramverk för perspektivomformning av rotobjektet, baserat på synfältet och scenens proportioner (dimensioner). Projektionscentrumet (försvinningspunkten) är satt till mitt på scenen, vilket betyder att det tredimensionella visningsobjektet försvinner mot scenens centrum när det förflyttas bakåt längs z-axeln. Standardvypunkten vid punkt (0,0) blickar längs den positiva z-axeln. Y-axeln pekar mot den nedre kanten av skärmen. Du kan få åtkomst till inställningar för perspektivprojektion av root
-visningsobjektet och ändra egenskaper för synfält och projektionscenter för egenskapen perspectiveProjection
genom att använda root
-objektets DisplayObject.transform
-egenskap.
Du kan även ange en annan inställning för perpektivprojektion för ett visningsobjekt med hjälp av det överordnade objektets perspektivprojektion. Först skapar du ett PerspectiveProjection-objekt och anger dess fieldOfView
- och projectionCenter
-egenskaper. Sedan tilldelar du PerspectiveProjection-objektet till den överordnade visningen med hjälp av egenskapen DisplayObject.transform
. Den angivna projektionsmatrisen och omformningen gäller sedan alla visningsobjektets tredimensionella underordnade objekt.
Relaterade API-element
Egenskap | Definieras med | ||
---|---|---|---|
constructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans. | Object | ||
fieldOfView : Number
Anger en vinkel mellan 0 och 180 grader för synfältet i tre dimensioner. | PerspectiveProjection | ||
focalLength : Number
Avståndet mellan ögat eller vypunktens ursprung (0,0,0) och visningsobjektet som finns på z-axeln. | PerspectiveProjection | ||
projectionCenter : Point
En tvådimensionell punkt utgör projektionens centrum (visningsobjektets försvinningspunkt). | PerspectiveProjection |
Metod | Definieras med | ||
---|---|---|---|
Skapar en instans av ett PerspectiveProjection-objekt. | PerspectiveProjection | ||
Anger om det finns en egenskap angiven för ett objekt. | Object | ||
Anger om en instans av klassen Object finns i prototypkedjan för objektet som anges som parameter. | Object | ||
Anger om den angivna egenskapen finns och är uppräkningsbar. | Object | ||
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder. | Object | ||
Returnerar det här objektets strängrepresentation, formaterad i enlighet med språkspecifika konventioner. | Object | ||
Returnerar visningsobjektets underliggande Matrix3D-objekt. | PerspectiveProjection | ||
Returnerar det angivna objektets strängbeteckning. | Object | ||
Returnerar det angivna objektets primitiva värde. | Object |
fieldOfView | egenskap |
fieldOfView:Number
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Anger en vinkel mellan 0
och 180
grader för synfältet i tre dimensioner. Det här värdet avgör hur kraftig perspektivomformningen och förvrängningen blir i ett tredimensionellt visningsobjekt med en z-koordinat som inte är noll.
Ett gradantal nära 0
innebär att skärmens tvådimensionella x- och y-koordinater är ungefär samma som de tredimensionella x-, y- och z-koordinaterna med liten eller ingen förvrängning. Med andra ord, vid en liten vinkel verkar ett visningsobjekt som förflyttas längs z-axeln ha ungefär samma storlek och förflyttas endast lite.
Ett värde nära 180
grader resulterar i en fisheye-linseffekt: positioner med ett z
-värde mindre än 0
förstoras, medan positioner med ett z
-värde större än 0
förminskas. Om en stor vinkel anges verkar ett visningsobjekt som förflyttas längs z-axeln ändra storlek snabbt och förflyttas mycket snabbt. Om synfältet anges till 0
eller 180
syns ingenting på skärmen.
Implementering
public function get fieldOfView():Number
public function set fieldOfView(value:Number):void
focalLength | egenskap |
focalLength:Number
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Avståndet mellan ögat eller vypunktens ursprung (0,0,0) och visningsobjektet som finns på z-axeln. Under perspektivomformningen beräknas focalLength
dynamiskt med hjälp av synfältets vinkel och scenens proportioner (scenens bredd delad med dess höjd).
Implementering
public function get focalLength():Number
public function set focalLength(value:Number):void
Relaterade API-element
projectionCenter | egenskap |
projectionCenter:Point
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
En tvådimensionell punkt utgör projektionens centrum (visningsobjektets försvinningspunkt).
Egenskapen projectionCenter
ger en förskjutning av standardregistreringspunkten som finns i scenens övre högra hörn, punkten (0,0). Standardcentrum för projektionsomformning är mitt på scenen, vilket betyder att ett tredimensionellt visningsobjekt försvinner mot scenens centrum när det förflyttas bakåt längs z-axeln.
Implementering
public function get projectionCenter():Point
public function set projectionCenter(value:Point):void
PerspectiveProjection | () | Konstruktor |
public function PerspectiveProjection()
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Skapar en instans av ett PerspectiveProjection-objekt.
toMatrix3D | () | metod |
public function toMatrix3D():Matrix3D
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Returnerar visningsobjektets underliggande Matrix3D-objekt.
Ett visningsobjekt, till exempel rotobjektet, kan ha ett PerspectiveProjection-objekt utan att någon Matrix3D-egenskap har definierats för dess omformningar. Du kan använda antingen ett PerspectiveProjection-objekt eller ett Matrix3D-objekt för att specificera perspektivomformningen. Om det, när du använder ett PerspectiveProjection-objekt, visar sig att du istället hade behövt ett Matrix3D-objekt, kan du hämta det underliggande Matrix3D-objektet från visningsobjektet med hjälp av metoden toMatrix3D()
. Till exempel kan metoden toMatrix3D()
användas tillsammans med metoden Utils3D.projectVectors()
.
Matrix3D — Det underliggande Matrix3D-objektet.
|
Relaterade API-element
Tue Jun 12 2018, 01:40 PM Z