| 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):voidfocalLength | 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):voidPowią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):voidPerspectiveProjection | () | 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
Ukryj dziedziczone właściwości publiczne
Pokaż dziedziczone właściwości publiczne