Pakiet | flash.geom |
Klasa | public class PerspectiveProjection |
Dziedziczenie | PerspectiveProjection Object |
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Rzutowanie to sposób przedstawienia obiektu trójwymiarowego w przestrzeni trójwymiarowej, np. sześcianu na ekranie komputera. W rzutowaniu perspektywicznym do modelowania i rzutowania świata trójwymiarowego i jego obiektów na ekran stosuje się piramidę wyciętą dwiema płaszczyznami. Piramida staje się coraz szersza w miarę oddalania się od punktu obserwacji. Punktem obserwacji może być kamera lub oczy obserwatora zwróconego do ekranu. Rzut perspektywiczny stwarza iluzję trójwymiarowości, głębokości i odległości, zaś obiekty znajdujące się bliżej ekranu wyglądają na większe niż obiekty znajdujące się dalej.
Domyślny obiekt PerspectiveProjection definiuje transformację perspektywiczną obiektu głównego, na podstawie pola widzenia i proporcji (wymiarów) stołu montażowego. Środek rzutowania, znikający punkt, jest ulokowany pośrodku stołu montażowego, co oznacza że trójwymiarowe obiekty wyświetlane znikają w środku stoły w miarę cofania się po osi z. Domyślny punkt obserwacji znajduje się we współrzędnych (0,0), a obserwator patrzy w stronę dodatniej półosi z. Oś Y jest skierowana w dół, do dolnej krawędzi ekranu. Istnieje możliwość dostępu do ustawień rzutowania perspektywicznego obiektu wyświetlanego root
oraz zmiany właściwości pola widzenia i środka rzutowania właściwości perspectiveProjection
za pośrednictwem właściwości DisplayObject.transform
obiektu root
.
Można także wybrać inne ustawienia rzutu perspektywicznego dla obiektu wyświetlanego za pośrednictwem rzutu perspektywicznego obiektu nadrzędnego. Najpierw należy utworzyć obiekt PerspectiveProjection i ustawić jego właściwości fieldOfView
oraz projectionCenter
. Następnie należy przypisać obiekt PerspectiveProjection do nadrzędnego obiektu wyświetlanego za pośrednictwem właściwości DisplayObject.transform
. Określona macierz rzutowania i transformacja będą stosowane do wszystkich trójwymiarowych obiektów podrzędnych tego obiektu wyświetlanego.
Powiązane elementy interfejsu API
Właściwość | Zdefiniowane przez | ||
---|---|---|---|
constructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu. | Object | ||
fieldOfView : Number
Określa kąt widzenia w stopniach z przedziału od 0 do 180 dla trzech wymiarów. | PerspectiveProjection | ||
focalLength : Number
Odległość między obserwatorem lub punktem obserwacji (0,0,0) a obiektem wyświetlanym, ulokowanym na osi z. | PerspectiveProjection | ||
projectionCenter : Point
Punkt dwuwymiarowy reprezentujący środek rzutowania, czyli znikający punkt dla obiektu ekranowego. | PerspectiveProjection |
Metoda | Zdefiniowane przez | ||
---|---|---|---|
Tworzy instancję obiektu PerspectiveProjection. | PerspectiveProjection | ||
Wskazuje, czy dla obiektu zdefiniowano określoną właściwość. | Object | ||
Wskazuje, czy instancja klasy Object należy do łańcucha prototypów obiektu określonego jako parametr. | Object | ||
Wskazuje, czy określona właściwość istnieje i jest przeliczalna. | Object | ||
Ustawia dostępność właściwości dynamicznej używanej w pętlach. | Object | ||
Zwraca ciąg reprezentujący obiekt — sformatowany zgodnie z konwencjami właściwymi dla ustawień regionalnych. | Object | ||
Zwraca podstawowy obiekt Matrix3D obiektu ekranowego. | PerspectiveProjection | ||
Zwraca ciąg reprezentujący określony obiekt. | Object | ||
Zwraca pierwotną wartość dla określonego obiektu. | Object |
fieldOfView | właściwość |
fieldOfView:Number
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Określa kąt widzenia w stopniach z przedziału od 0
do 180
dla trzech wymiarów. Wartość określa stopień transformacji perspektywicznej i zniekształcenia trójwymiarowego obiektu wyświetlanego z niezerową współrzędną z.
Kąt zbliżony do 0
oznacza, że dwuwymiarowe współrzędne ekranowe x i y są w przybliżeniu równe trójwymiarowym współrzędnym x, y i z, a zniekształcenie nie występuje lub jest minimalne. Innymi słowy, przy małym kącie obiekt wyświetlany oddalający się wzdłuż osi Z ma na ekranie prawie niezmieniony rozmiar i przemieszcza się tylko nieznacznie.
Wartość zbliżona do 180
stopni wywołuje efekt obiektywu „rybie oko”: elementy z wartością z
wartością mniejszą od 0
są powiększane, a elementy z wartością z
większą od 0
są zmniejszane. Przy dużej wartości kąta rozmiar obiektu wyświetlanego oddalającego się wzdłuż osi z szybko się zmienia, a obiekt taki przemieszcza się na dużą odległość. Gdy pole widzenia jest ustawione na 0
lub 180
stopni, na ekranie nie będą widoczne żadne obiekty.
Implementacja
public function get fieldOfView():Number
public function set fieldOfView(value:Number):void
focalLength | właściwość |
focalLength:Number
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Odległość między obserwatorem lub punktem obserwacji (0,0,0) a obiektem wyświetlanym, ulokowanym na osi z. W trakcie transformacji perspektywicznej wartość focalLength
jest obliczana dynamicznie na podstawie pola widzenia i proporcji stołu montażowego (stosunku szerokości do wysokości stołu).
Implementacja
public function get focalLength():Number
public function set focalLength(value:Number):void
Powiązane elementy interfejsu API
projectionCenter | właściwość |
projectionCenter:Point
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Punkt dwuwymiarowy reprezentujący środek rzutowania, czyli znikający punkt dla obiektu wyświetlanego.
Właściwość projectionCenter
jest określona względem punktu rejestracji znajdującego się w lewym górnym rogu stołu montażowego, we współrzędnych (0,0). Domyślny środek rzutowania jest ulokowany pośrodku stołu montażowego, co oznacza że trójwymiarowe obiekty wyświetlane znikają na środku stołu w miarę cofania się po osi z.
Implementacja
public function get projectionCenter():Point
public function set projectionCenter(value:Point):void
PerspectiveProjection | () | Konstruktor |
public function PerspectiveProjection()
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Tworzy wystąpienie klasy PerspectiveProjection.
toMatrix3D | () | metoda |
public function toMatrix3D():Matrix3D
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Zwraca podstawowy obiekt Matrix3D obiektu wyświetlanego.
Obiekt wyświetlany, podobnie jak główny obiekt nadrzędny, może mieć obiekt PerspectiveProjection, a nie mieć zdefiniowanej właściwości Matrix3D opisującej transformacje. Do określania transformacji perspektywicznych należy w zasadzie używać albo obiektu PerspectiveProjection, albo Matrix3D. Gdyby podczas korzystania z obiektu PerspectiveProjection potrzebny był obiekt Matrix3D, można skorzystać z metody toMatrix3D()
pobierającej podstawowy obiekt Matrix3D obiektu wyświetlanego. Metody toMatrix3D()
można na przykład użyć z metodą Utils3D.projectVectors()
.
Matrix3D — Podstawowy obiekt Matrix3D.
|
Powiązane elementy interfejsu API
Tue Jun 12 2018, 12:06 PM Z