to get the file
Transkrypt
to get the file
Grafika komputerowa 2D/3D Instrukcja laboratoryjna 7 Temat: Rzutowanie równoległe i perspektywiczne Przygotował: dr inż. Grzegorz Łukawski, mgr inż. Maciej Lasota, mgr inż. Tomasz Michno 1 Wstęp teoretyczny Monitory (z pominięciem prawdziwych monitorów 3D) pozwalają jedynie na wyświetlanie obrazów dwuwymiarowych, co jest bardzo dużym utrudnieniem w przypadku gdy chcemy pokazać na nich obraz trójwymiarowy. Jedynym rozwiązaniem jest zastosowanie rzutowania przestrzeni 3D na 2D, w sposób zachowujący „przestrzenność” brył. Najczęściej wykorzystuje się rzutowanie równoległe lub perspektywiczne. 1.1 Rzutowanie równoległe Rzutowanie równoległe jest najprostszym typem rzutowania, zachowuje wszystkie równoległości prostych, kąty i wymiary. Wszystkie proste rzutowania mają ten sam, ustalony kierunek. Z tego powodu rzutowanie to sprowadza się najczęściej do usunięcia współrzędnych jednej z osi (najczęściej osi Z). Wykorzystywane jest głównie w rysunku technicznym. Przykład: 1/3 1.2 Rzutowanie perspektywiczne Rzutowanie perspektywiczne jest nieco trudniejsze do zaimplementowania, jednak jego wyniki są zbliżone do tego, co widzimy własnym okiem – obraz jest bardziej realistyczny i posiada wrażenie głębi (obiekty na dalszym planie są mniejsze). Przy rzutowaniu wzdłuż osi Z współrzędne punktów na ekranie można wyznaczyć za pomocą poniższych wzorów: d x '=x⋅ , z +d y '= y⋅ d z+d gdzie: x, y, z – współrzędne punktu w przestrzeni 3D x', y' – współrzędne na ekranie (2D) d – odległość od obserwatora (przy założeniu, że znajduje się on na osi Z) Przykład: 2/3 2 Zadanie Przygotować obiekt trójwymiarowy składający się z około 20 wierzchołków, obiekt powinien mieć rozróżnialną lewą i prawą stronę, górę i dół. Obiekt należy opisać za pomocą powierzchni (wielokątów, prostokątów, trójkątów), współrzędne wierzchołków wszystkich ścian zapisać w odpowiedniej strukturze, tablicy lub pliku. Przygotowany obiekt pokazać na ekranie monitora rysując krawędzie (tzw. druciak). Program powinien posiadać tryb rzutowania równoległego i perspektywicznego. Obiekt należy odpowiednio wyskalować aby zajął większą część ekranu. Proponowany sposób obsługi z pomocą klawiatury: • R – rzutowanie równoległe; • P – rzutowanie perspektywiczne; • „+” – zwiększanie odległości od obserwatora (rzutowanie perspektywiczne); • „-” – zmniejszenie odległości od obserwatora (rzutowanie perspektywiczne); • ESC - koniec. 3/3