Paket | flash.geom |
Klasse | public class PerspectiveProjection |
Vererbung | PerspectiveProjection Object |
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Die Projektion ist eine Möglichkeit, ein dreidimensionales Objekt in einem zweidimensionalen Raum darzustellen. So lässt sich zum Beispiel ein Würfel auf einen Computerbildschirm projizieren. Die Perspektivenprojektion verwendet ein sogenanntes Sichtfrustum (ein Abschnitt einer rechteckigen Pyramide), um eine dreidimensionale Welt und deren Objekte zu modellieren und auf den Bildschirm zu projizieren. Das Sichtfrustum wird breiter, wenn es sich vom Ursprung des Blickpunkts wegbewegt. Der Ursprung des Blickpunkts kann eine Kamera oder das Auge des Betrachters sein, der auf den Bildschirm blickt. Die projizierte Perspektive erzeugt die Illusion von drei Dimensionen mit Tiefe und Entfernung, wobei Objekte näher am Bildschirm größer erscheinen als weiter vom Bildschirm entfernte Objekte.
Bei einem PerspectiveProjection-Standardobjekt handelt es sich um ein für die perspektivische Transformation des Stammobjekts definiertes Rahmenobjekt. Es basiert auf dem Sichtfeld und dem Seitenverhältnis (Abmessungen) der Bühne. Die Projektionsmitte, der Fluchtpunkt, ist auf die Mitte der Bühne eingestellt, was bedeutet, dass dreidimensionale Anzeigeobjekte zur Mitte der Bühne verschoben werden, wenn sie entlang der z-Achse nach hinten bewegt werden. Der Standardblickpunkt liegt beim Punkt (0,0), mit Blickrichtung nach unten entlang der positiven z-Achse. Die y-Achse weist zum unteren Rand des Bildschirms. Sie können auf die Einstellungen für die Perspektivenprojektion des root
-Anzeigeobjekts zugreifen und die Eigenschaften für das Sichtfeld und die Projektionsmitte der perspectiveProjection
-Eigenschaft ändern, indem Sie die DisplayObject.transform
-Eigenschaft des root
-Objekts verwenden.
Über die Perspektivenprojektion des übergeordneten Elements können Sie auch eine andere Einstellung für die Perspektivenprojektion eines Anzeigeobjekts festlegen. Erstellen Sie zunächst ein PerspectiveProjection-Objekt und stellen Sie dessen fieldOfView
- und projectionCenter
-Eigenschaften ein. Als Nächstes weisen Sie das PerspectiveProjection-Objekt dem übergeordneten Anzeigeobjekt zu, indem Sie die DisplayObject.transform
-Eigenschaft verwenden. Die angegebene Projektionsmatrix und Transformation wird dann auf alle untergeordneten dreidimensionalen Objekte des Anzeigeobjekts angewendet.
Verwandte API-Elemente
Eigenschaft | Definiert von | ||
---|---|---|---|
constructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz. | Object | ||
fieldOfView : Number
Legt einen Winkel als Gradwert zwischen 0 und 180 für das dreidimensionale Blickfeld fest. | PerspectiveProjection | ||
focalLength : Number
Der Abstand zwischen dem Auge oder dem Ursprung des Blickpunkts (0,0,0) und dem auf der z-Achse liegenden Anzeigeobjekt. | PerspectiveProjection | ||
projectionCenter : Point
Ein zweidimensionaler Punkt, der den Mittelpunkt der Projektion, den Fluchtpunkt des Anzeigeobjekts darstellt. | PerspectiveProjection |
Methode | Definiert von | ||
---|---|---|---|
Erstellt eine Instanz eines PerspectiveProjection-Objekts. | PerspectiveProjection | ||
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde. | Object | ||
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde. | Object | ||
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann. | Object | ||
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest. | Object | ||
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas. | Object | ||
Gibt das dem Anzeigeobjekt zugrundeliegende Matrix3D-Objekt zurück. | PerspectiveProjection | ||
Gibt das angegebene Objekt als String zurück. | Object | ||
Gibt den Grundwert des angegebenen Objekts zurück. | Object |
fieldOfView | Eigenschaft |
fieldOfView:Number
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Legt einen Winkel als Gradwert zwischen 0
und 180
für das dreidimensionale Sichtfeld fest. Dieser Wert legt fest, wie stark die perspektivische Transformation und Verzerrung auf ein dreidimensionales Anzeigeobjekt angewendet werden, dessen z-Koordinate nicht null ist.
Ein Wert nahe 0
, bedeutet das, dass die zweidimensionalen x- und y-Koordinaten des Bildschirms nahezu dieselben sind wie die dreidimensionalen x-, y- und z-Koordinaten und wenig oder keine Verzerrung auftritt. Anders ausgedrückt bewegt sich ein Anzeigeobjekt bei einem kleinen Winkel nur wenig entlang der z-Achse nach unten und seine Größe scheint sich kaum zu ändern.
Ein Wert nahe 180
Grad führt zu einem Fischaugenobjektiveffekt: Positionen mit einem z
-Wert kleiner als 0
werden vergrößert, dagegen werden Positionen mit einem z
-Wert größer als 0
verkleinert. Bei einem großen Winkel bewegt sich das Anzeigeobjekt entlang der z-Achse weit nach unten und seine Größe ändert sich rasch. Ist das Sichtfeld auf 0
oder 180
gesetzt, ist auf dem Bildschirm nichts zu sehen.
Implementierung
public function get fieldOfView():Number
public function set fieldOfView(value:Number):void
focalLength | Eigenschaft |
focalLength:Number
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Der Abstand zwischen dem Auge oder dem Ursprung des Blickpunkts (0,0,0) und dem auf der z-Achse liegenden Anzeigeobjekt. Während der perspektivischen Transformation wird focalLength
dynamisch anhand des Sichtfeldwinkels und des Seitenverhältnisses der Bühne (Bühnenbreite dividiert durch Bühnenhöhe) berechnet.
Implementierung
public function get focalLength():Number
public function set focalLength(value:Number):void
Verwandte API-Elemente
projectionCenter | Eigenschaft |
projectionCenter:Point
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Ein zweidimensionaler Punkt, der den Mittelpunkt der Projektion, den Fluchtpunkt des Anzeigeobjekts darstellt.
Die projectionCenter
-Eigenschaft ist ein Versetzungspunkt zum ursprünglichen Registrierungspunkt oben links auf der Bühne (0,0). Standardmäßig ist die Mitte der Projektionstransformation auf die Mitte der Bühne eingestellt, was bedeutet, dass dreidimensionale Anzeigeobjekte zur Mitte der Bühne verschoben werden, wenn sie entlang der z-Achse nach hinten bewegt werden.
Implementierung
public function get projectionCenter():Point
public function set projectionCenter(value:Point):void
PerspectiveProjection | () | Konstruktor |
public function PerspectiveProjection()
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Erstellt eine Instanz eines PerspectiveProjection-Objekts.
toMatrix3D | () | Methode |
public function toMatrix3D():Matrix3D
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Gibt das dem Anzeigeobjekt zugrundeliegende Matrix3D-Objekt zurück.
Ein Anzeigeobjekt kann, wie das Stammobjekt, ein PerspectiveProjection-Objekt haben, ohne dass eine Matrix3D-Eigenschaft für seine Transformationen definiert sein muss. Verwenden Sie entweder ein PerspectiveProjection- oder ein Matrix3D-Objekt, um die Perspektiventransformation festzulegen. Wenn bei Verwendung des PerspectiveProjection-Objekts ein Matrix3D-Objekt benötigt wurde, kann die toMatrix3D()
-Methode das zugrundeliegende Matrix3D-Objekt des Anzeigeobjekts abrufen. Zum Beispiel kann die toMatrix3D()
-Methode mit der Utils3D.projectVectors()
-Methode verwendet werden.
Matrix3D — Das zugrundeliegende Matrix3D-Objekt.
|
Verwandte API-Elemente
Tue Jun 12 2018, 10:04 AM Z