Grafika komputerowa Wykład 6 Krzywe, powierzchnie, bryły



Podobne dokumenty
Grafika komputerowa Wykład 8 Modelowanie obiektów graficznych cz. II

GEOMETRIA PRZESTRZENNA (STEREOMETRIA)

STEREOMETRIA CZYLI GEOMETRIA W 3 WYMIARACH

WYKŁAD 15. Tworzenie obrazu Omówienie tematyki sprawdzianu końcowego. Tworzenie obrazu

Stereometria bryły. Wielościany. Wielościany foremne

Krzywa uniwersalna Sierpińskiego

Ćwiczenia nr 7. TEMATYKA: Krzywe Bézier a

ALGORYTMY I STRUKTURY DANYCH

Grafika komputerowa Wykład 7 Modelowanie obiektów graficznych cz. I

Animowana grafika 3D. Opracowanie: J. Kęsik.

Funkcje liniowe i wieloliniowe w praktyce szkolnej. Opracowanie : mgr inż. Renata Rzepińska

ZAGADNIENIA PROGRAMOWE I WYMAGANIA EDUKACYJNE DO TESTU PRZYROSTU KOMPETENCJI Z MATEMATYKI DLA UCZNIA KLASY II

Algorytmy i struktury danych. wykład 5

Geometria. Rodzaje i własności figur geometrycznych:

Grafy (3): drzewa. Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków. UTP Bydgoszcz

7a. Teoria drzew - kodowanie i dekodowanie

I semestr WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA VI. Wymagania na ocenę dopuszczającą. Dział programu: Liczby naturalne

w jednym kwadrat ziemia powietrze równoboczny pięciobok

PYTANIA TEORETYCZNE Z MATEMATYKI

GEOMETRIA ELEMENTARNA

WYMAGANIA EDUKACYJNE Z MATEMATYKI 2016/2017 (zakres podstawowy) klasa 3abc

Definicja pliku kratowego

Każdy węzeł w drzewie posiada 3 pola: klucz, adres prawego potomka i adres lewego potomka. Pola zawierające adresy mogą być puste.

Wykład 2. Drzewa zbalansowane AVL i 2-3-4

ZAKRES PODSTAWOWY CZĘŚĆ II. Wyrażenia wymierne

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2014/2015. Drzewa BST c.d., równoważenie drzew, kopce.

PLANIMETRIA CZYLI GEOMETRIA PŁASZCZYZNY CZ. 1

WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY Z MATEMATYKI W KLASIE IV

7. CIĄGI. WYKŁAD 5. Przykłady :

Grafika komputerowa Wykład 9 Algorytmy wyznaczania obiektów zasłonietych

Trójwymiarowa grafika komputerowa rzutowanie

I. Potęgi. Logarytmy. Funkcja wykładnicza.

PODSTAWOWE KONSTRUKCJE GEOMETRYCZNE

Ilustracja S1 S2. S3 ściana zewnętrzna

Tomasz Tobiasz PLAN WYNIKOWY (zakres podstawowy)

str 1 WYMAGANIA EDUKACYJNE ( ) - matematyka - poziom podstawowy Dariusz Drabczyk

1. Prymitywy graficzne

Programowanie: grafika w SciLab Slajd 1. Programowanie: grafika w SciLab

Podstawy Informatyki. Metody dostępu do danych

WSTĘP DO INFORMATYKI. Drzewa i struktury drzewiaste

Rachunek wektorowy - wprowadzenie. dr inż. Romuald Kędzierski

Wymagania edukacyjne z matematyki w klasie III gimnazjum

1 Przestrzeń liniowa. α 1 x α k x k = 0

1. Potęgi. Logarytmy. Funkcja wykładnicza

XII. GEOMETRIA PRZESTRZENNA GRANIASTOSŁUPY

Plan wynikowy klasa 3. Zakres podstawowy

WYMAGANIA EDUKACYJNE Z MATEMATYKI W KLASIE II W PUBLICZNYM GIMNAZJUM NR 2 W ZESPOLE SZKÓŁ W RUDKACH

W naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora.

Wykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy

składa się z m + 1 uporządkowanych niemalejąco liczb nieujemnych. Pomiędzy p, n i m zachodzi następująca zależność:

PRZEDMIOTOWY SYSTEM OCENIANIA- MATEMATYKA KLASA 6. Rok szkolny 2012/2013. Tamara Kostencka

Teoretyczne podstawy informatyki

Wymagania edukacyjne z matematyki Klasa III zakres rozszerzony

Nierówność Krafta-McMillana, Kodowanie Huffmana

Wymagania edukacyjne z matematyki

Kolejka priorytetowa. Często rozważa się kolejki priorytetowe, w których poszukuje się elementu minimalnego zamiast maksymalnego.

1 Wstęp teoretyczny. Temat: Obcinanie odcinków do prostokąta. Grafika komputerowa 2D. Instrukcja laboratoryjna Prostokąt obcinający

Agnieszka Kamińska, Dorota Ponczek. MATeMAtyka 3. Plan wynikowy. Zakres podstawowy

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

Grafika komputerowa Wykład 4 Geometria przestrzenna

Rozkład materiału z matematyki dla II klasy technikum zakres podstawowy I wariant (38 tyg. 2 godz. = 76 godz.)

Wymagania kl. 3. Zakres podstawowy i rozszerzony

Wymagania edukacyjne z matematyki dla klasy III a,b liceum (poziom podstawowy) rok szkolny 2018/2019

Synteza i obróbka obrazu. Modelowanie obiektów 3D

Rozwiązania zadań. Arkusz maturalny z matematyki nr 1 POZIOM PODSTAWOWY

Technikum Nr 2 im. gen. Mieczysława Smorawińskiego w Zespole Szkół Ekonomicznych w Kaliszu

6. Organizacja dostępu do danych przestrzennych

Wysokość drzewa Głębokość węzła

Przedmiotowy system oceniania wraz z określeniem wymagań edukacyjnych klasa druga zakres rozszerzony

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy)

Podstawy działań na wektorach - dodawanie

10.3. Typowe zadania NMT W niniejszym rozdziale przedstawimy podstawowe zadania do jakich może być wykorzystany numerycznego modelu terenu.

SZCZEGÓŁOWE WYMAGANIA EDUKACYJNE DLA KLAS 4-6 SP ROK SZKOLNY 2015/2016

Arkusz maturalny nr 2 poziom podstawowy ZADANIA ZAMKNIĘTE. Rozwiązania. Wartość bezwzględna jest odległością na osi liczbowej.

Wymagania szczegółowe z matematyki klasa 7

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno

22. CAŁKA KRZYWOLINIOWA SKIEROWANA

Agnieszka Kamińska, Dorota Ponczek. MATeMAtyka 3. Szczegółowe wymagania edukacyjne z matematyki w klasie trzeciej.

w najprostszych przypadkach, np. dla trójkątów równobocznych

6. Notacja wykładnicza stosuje notację wykładniczą do przedstawiania bardzo dużych liczb

Drzewa czerwono-czarne.

Wstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel

Technikum Nr 2 im. gen. Mieczysława Smorawińskiego w Zespole Szkół Ekonomicznych w Kaliszu

WYMAGANIE EDUKACYJNE Z MATEMATYKI W KLASIE II GIMNAZJUM. dopuszczającą dostateczną dobrą bardzo dobrą celującą

ROZKŁAD MATERIAŁU DO II KLASY LICEUM (ZAKRES ROZSZERZONY) A WYMAGANIA PODSTAWY PROGRAMOWEJ.

GRAFIKA KOMPUTEROWA podstawy matematyczne. dr inż. Hojny Marcin pokój 406, pawilon B5 Tel.

Wykład 16. P 2 (x 2, y 2 ) P 1 (x 1, y 1 ) OX. Odległość tych punktów wyraża się wzorem: P 1 P 2 = (x 1 x 2 ) 2 + (y 1 y 2 ) 2

Podstawowe pojęcia geometryczne

Algorytmy i Struktury Danych, 9. ćwiczenia

Opracowanie tablic: Adam Konstantynowicz, Anna Konstantynowicz, Kaja Mikoszewska

odczytywać własności funkcji y = ax 2 na podstawie funkcji y = ax 2 szkicować wykresy funkcji postaci y = ax,

WYMAGANIA Z WIEDZY I UMIEJĘTNOŚCI NA POSZCZEGÓLNE STOPNIE SZKOLNE DLA KLASY CZWARTEJ H. zakres rozszerzony. Wiadomości i umiejętności

Co należy zauważyć Rzuty punktu leżą na jednej prostej do osi rzutów x 12, którą nazywamy prostą odnoszącą Wysokość punktu jest odległością rzutu

3. FUNKCJA LINIOWA. gdzie ; ół,.

Czy pamiętasz? Zadanie 1. Rozpoznaj wśród poniższych brył ostrosłupy i graniastosłupy.

1 wyznacza współrzędne punktów przecięcia prostej danej

Matematyka z plusem Klasa IV

Elementy geometrii analitycznej w R 3

RÓWNANIA RÓŻNICZKOWE WYKŁAD 15

Transkrypt:

Grafika komputerowa Wykład 6 Krzywe, powierzchnie, bryły Instytut Informatyki i Automatyki Państwowa Wyższa Szkoła Informatyki i Przedsiębiorczości w Łomży 2 0 0 9

Spis treści Spis treści 1 2 obiektów graficznych 3 a obiekty graficzne

Spis treści Spis treści 1 2 obiektów graficznych 3 a obiekty graficzne

Spis treści Spis treści 1 2 obiektów graficznych 3 a obiekty graficzne

Obiekt graficzny wszystko co da się narysować z użyciem komputera: krzywa, płaska figura, powierzchnia, trójwymiarowa bryła. Struktura obiektu nie musi być topologicznie jednorodna. Możemy dowolnie łączyć bryły i krzywe. Liczba danych dających kompletny opis obiektu graficznego zależy nie tylko od jego geometrii (kształtu), lecz również od sposobu wizualizacji.

Krzywe mogą być opisywane analitycznie funkcją jednej zmiennej y = f (x) dla x [x 1, x 2 ] Bardziej ogólne jest przedstawienie parametryczne: dla krzywych płaskich x = x(t), y = y(t), t [t 1, t 2 ] dla krzywych przestrzennych x = x(t), y = y(t), z = z(t), t [t 1, t 2 ]

Krzywe Rys. 1: Wykres krzywej określonej parametrycznie: x(t) = sin(0.99t) 0.7 cos(3.01t), y(t) = cos(1.01t) + 0.1 sin(15.03t), t [0, 300]

Krzywe Rys. 2: Linia śrubowa: x(t) = r cos t, y(t) = h t, z(t) = r sin t, t [0, n π]

Powierzchnie Przedstawienie powierzchni jest uogólnieniem reprezentacji krzywych. Powierzchnia może być opisana funkcją y = f (x, z) dla punktów (x, z) z ustalonej dziedziny D, albo zadana parametrycznie funkcjami x = x(u, v), y = y(u, v), z = z(u, v) dla u [u 1, u 2 ] i v [v 1, v 2 ]

Powierzchnie Rys. 3: Powierzchnia zadana parametrycznie: x(u, v) = cos au, y(u, v) = cos bu sin u, z(u, v) = cos cu sin v

Obszary płaskie Wielokąty Opis obszarów (figur) płaskich: brzeg obszaru określamy kawałkami przez różne krzywe, wnętrze obszaru określamy przez operacje dodawania, odejmowania i przecięcia kilku ustalonych elementarnych klocków, np. koła i kwadratu. W praktyce grafiki komputerowej najczęściej spotykanymi obszarami są wielokąty i dlatego ich reprezentacji warto poświęcić więcej uwagi.

Wielokąty Rys. 4: Wielokąt zwykły (a); wielokąt dowolny (b)

Wielokąty Rys. 5: Zbiór wierzchołków nie określa wielokąta jednoznacznie

Definicja drzewa Skończone drzewo D z korzeniem to taki niepusty, skończony zbiór etykietowanych węzłów, że istnieje jeden wyróżniony węzeł nazywany korzeniem drzewa, a pozostałe węzły są podzielone na n 0 różnych poddrzew D 1, D 2,..., D n z korzeniami. Węzły, z których nie wychodzą żadne poddrzewa, noszą nazwę liści; pozostałe węzły nazywa się węzłami wewnętrznymi.

Terminologia Korzeń przodek wszystkich swoich potomków Korzeń drzewa ojciec korzeni swoich poddrzew Korzenie poddrzew synowie korzenia Wszystkie węzły w drzewie lub poddrzewie potomkowie korzenia drzewa lub poddrzewa Będziemy rozważać drzewa uporządkowane: różne uporządkowania to różne drzewa. Reprezentacja za pomocą drzew może być stosowana zarówno do brzegu, jak i do jego wnętrza.

Rys. 6: Podział kwadratu i odpowiadające mu uporządkowanie liści drzewa

Całemu kwadratowi odpowiada korzeń drzewa czwórkowego opisującego obszar, a potomkowie węzłów są związani z podziałem kwadratu na coraz mniejsze części. Początkowy duży kwadrat dzielimy na cztery mniejsze kwadraty. W drzewie czterech synów korzenia reprezentuje te ćwiartki uporządkowane zgodnie z Rys. 6.

Liśćmi drzewa są węzły odpowiadające jednorodnym fragmentom obszaru. Jeśli cały mniejszy kwadrat reprezentowany węzłem jest zawarty wewnątrz obszaru, to temu węzłowi przypisujemy umownie kolor czarny, i odwrotnie kolor biały, gdy cały kwadratowy fragment leży na zewnątrz obszaru. Kwadraty leżące częściowo wewnątrz, a częściowo na zewnątrz obszaru są reprezentowane węzłami wewnętrznymi drzewa i przypisujemy im umownie kolor szary. Taki rekurencyjny podział kontynuujemy do momentu, gdy wszyscy potomkowie są jednorodni (każdy z mniejszych kwadratów leży całkowicie wewnątrz lub cały na zewnątrz obszaru), albo gdy rozmiary podzielonych kwadratów są odpowiednio małe, na przykład mniejsze od wielkości piksela na ekranie. Przy takich kryteriach kończenia podziału drzewo czwórkowe reprezentujące obraz dla monitora o rozdzielczości 2 n 2 n będzie miało nie więcej niż n + 1 poziomów.

Przykładowy obszar i drzewo czwórkowe (Rys. 7) opisujące jego wnętrze, może być reprezentowane ciągiem ((BCCC)(BBCB)BC)(CBC(BBCC))((BBBC)CBB)B nawiasy () węzły wewnętrzne drzewa; B i C liście białe i czarne.

Rys. 7: Obszar i reprezentujące go drzewo czwórkowe

Za pomocą drzew czwórkowych łatwo znajduje się sumę i przecięcie dwóch obszarów. Zbudowanie drzewa opisującego sumę U = S T obszarów S i T wymaga równoległego przejrzenia od korzenia w dół (drzewa rosną do dołu) drzew reprezentujących S i T oraz badanie w nich odpowiadających sobie węzłów w kolejnych pokoleniach. Jeśli jeden z węzłów jest liściem czarnym, to w drzewie U także umieszczamy liść czarny. Gdy węzeł jednego drzewa, na przykład S, jest liściem białym, to wynikowym węzłem w tym miejscu U będzie węzeł drugiego drzewa, tzn. T. Jeśli oba odpowiadające sobie węzły w S i T są szare, to do U wstawiamy również węzeł szary (wewnętrzny) i stosujemy powyższy algorytm rekurencyjnie do potomków w S i T. W tym postępowaniu należy uwzględnić przypadek, gdy przy sumowaniu synów dwu węzłów szarych otrzymamy cztery liście czarne. Trzeba je wtedy połączyć, zastępuj4c w U ich szarego ojca liściem czarnym i sprawdzić, czy taka sama modyfikacja nie powinna dotyczyć wcześniejszych przodków. W przykładzie na rys. 8c ten szczególny przypadek został oznaczony przerywaną ramką.

Rys. 8: Obszary i opisujące je drzewa: a) S; b) T; c) S T; d) S T

Z przykładu 9 wynika, że wzdłuż każdej krawędzi trzeba rekurencyjnie dzielić początkowy kwadrat aż do końca, tzn. na kwadraty minimalnej wielkości. W rezultacie utworzone drzewo jest duże i zapamiętanie go wymaga sporej pamięci. Można uzupełnić klasyfikacji węzłów drzewa o dodatkowy typ liścia krawędź. Przypisujemy go tym potomkom korzenia, czyli mniejszym kwadratom, przez które przechodzi dokładnie jedna krawędź opisywanego wielokąta widać, ze ta modyfikacja może istotnie uprościć strukturę drzewa.

Rys. 9: Reprezentacja brzegu wielokąta: a) z tradycyjnymi typami liści; b) z dodatkowym typem liścia - krawędź

Bryły Reprezentacja szkieletowa Reprezentacja szkieletowa dotyczy brzegu bryły i ma hierarchiczną strukturę. Powierzchnię bryły opisujemy sumą płaskich wielokątnych ścian. Zakładamy, że ściany przecinają się jedynie we wspólnych krawędziach lub wierzchotkach. Każda ściana jest określona zbiorem swoich krawędzi (boków swego wielokąta), a te są zdefiniowane parami wierzchołków. Klasyczna metoda pamiętania takich danych polega na utworzeniu kilku list. Tablica wierzchołków TW zawiera współrzędne x, y, z tych punktów. W tablicy krawędzi TK zapisuje się parami numery wierzchołków końców krawędzi, a wreszcie tworzy się listę ścian. Jej elementami są listy (skończone ciągi) numerów krawędzi stanowiących boki wielokątnych ścian. Lista ścian może być zapamiętana w tablicy liniowej LS. Jej n 1 początkowych elementów to n 1 numerów krawędzi pierwszej ściany, dalej n 2 numerów krawędzi drugiej ściany itd. Dodatkowo, w tablicy LK przechowuje się wtedy informacje o liczbie n 1, b 2,... n s krawędzi kolejnych ścian. Oczywiście trzeba także pamiętać liczbę w wierzchołków, liczbę k krawędzi i liczbę s ścian.

Bryły Reprezentacja szkieletowa Tablica TW wierzchołków W i : (x 1, y 1, z 1 ), (x 2, y 2, z 2 ),...,.(x 7, y 7, z 7 ) Tablica TK krawędzi k i : (1,2), (2,3), (3,4), (4,5), (5,1), (1,6), (2,6), (3,6), (3,7), (4,7), (5,6), (6,7) Lista LS ścian s i : (1,7,6), (2,8,7), (9,12,8), (3,10,9), (4,11,12,10), (5,6,11), (5,4,3,2,1) Tablica liczby krawędzi ścian LK: 3, 3, 3, 3, 4, 3, 5

Bryły Reprezentacja szkieletowa Rys. 10: Reprezentacja szkieletowa bryły

Bryły Twierdzenie Eulera W każdym zwykłym wielościanie w k + s = 2 w liczba wierzchołków; k liczba krawędzi; s liczba ścian Uogólnione twierdzenie Eulera: w k + s = 2(c t) + d c liczba rozłącznych brył; t liczba otworów(tuneli); d liczba wielokątnych dziur we wszystkich ścianach

Bryły Uogólnione twierdzenie Eulera Rys. 11: Ilustracja uogólnionego twierdzenia Eulera: c = 2, t = 1, d = 2, s = 16, k = 36, w = 24

Bryły Zakreślanie przestrzeni budowanie bryły przez przemieszczenie jej przekroju (płaskiej figury) wzdłuż pewnej trajektorii w przestrzeni Rys. 12: Tworzenie bryły przez przesunięcie równolegle płaskiego przekroju

Bryły Zakreślanie przestrzeni Rys. 13: Bryła obrotowa

Bryły Zakreślanie przestrzeni Rys. 14: Tworzenie torusa przez obrót okręgu

Bryły Zakreślanie przestrzeni Rys. 15: Zakreślanie przestrzeni kołem prostopadłym do linii śrubowej

Bryły Konstruktywna geometria brył Konstruktywna geometria brył (ang. constructive solid geometry) oznacza metodę budowania brył w wyniku składania ustalonych elementarnych klocków. Operacje składania to: dodawanie, odejmowanie, iloczyn (część wspólna) zbiorów.

Bryły Konstruktywna geometria brył Klockiem może być dowolna półprzestrzeń, czyli zbiór punktów (x, y, z) spełniających nierówność f (x, y, z) < 0 gdzie f dowolny ciągły funkcjonał. Brzeg klocka tworzą punkty, dla których f (x, y, z) = 0, a dopełnienie (zewnętrze) punkty spełniające nierówność f (x, y, z) > 0

Bryły Konstruktywna geometria brył Rys. 16: Walec jako część wspólna trzech półprzestrzeni

Bryły Konstruktywna geometria brył Walec to część wspólna trzech półprzestrzeni zdefiniowanych nierównościami x 2 + y 2 r 2 < 0 y < 0 y h < 0 W praktyce wygodniej jest budować bryłę nie z nieskończonych półprzestrzeni, lecz z ograniczonych elementów.

Bryły Konstruktywna geometria brył Rys. 17: Typowe zestawy klocków

Bryły Konstruktywna geometria brył Rys. 18: a) Budowanie bryły z elementów podstawowych;

Bryły Konstruktywna geometria brył Rys. 19: b) Drzewo opisujące konstrukcję

Bryły Reprezentacja za pomocą drzew ósemkowych Metoda opisu płaskich obszarów drzewami czwórkowymi można łatwo uogólnić na przypadek trójwymiarowy. Ograniczmy się do reprezentacji objętościowej wnętrza. Obiekt przestrzenny (bryłę) wpisujemy w sześcian, któremu odpowiada korzeń drzewa ósemkowego. Ten wyjściowy sześcian dzielimy na osiem mniejszych, numerowanych jak na Rys. 20.

Bryły Reprezentacja za pomocą drzew ósemkowych Jeśli mniejszy sześcian leży całkowicie wewnątrz bryły, to reprezentującemu go synowi korzenia przypisujemy kolor czarny. I odwrotnie, gdy cały sześcian jest położony na zewnątrz bryły, to odpowiadającemu mu synowi w drzewie przyporządkowujemy kolor biały. Sześcianom niejednorodnym, tylko częściowo zawartym w bryle, odpowiadają synowie koloru szarego i te sześciany dzielimy dalej na mniejsze, aż do uzyskania wszystkich potomków jednorodnych lub mniejszych od ustalonej minimalnej wielkości. Na rysunkach 20 a i b przedstawiono przykładową bryłę i reprezentujące ją drzewo ósemkowe.

Bryły Reprezentacja za pomocą drzew ósemkowych Rys. 20: Podział sześcianu

Bryły Reprezentacja za pomocą drzew ósemkowych Rys. 21: Bryła a) i opisuj4ce ją drzewo ósemkowe b)

Literatura [1] M. Jankowski, Elementy grafiki komputerowej, WNT, 2006

Koniec? :-( Koniec wykładu 6