Grafika 3D. Opracowanie: J. Kęsik.

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

GEOMETRIA PRZESTRZENNA (STEREOMETRIA)

w jednym kwadrat ziemia powietrze równoboczny pięciobok

STEREOMETRIA CZYLI GEOMETRIA W 3 WYMIARACH

1. Prymitywy graficzne

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

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

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

Pytania do spr / Własności figur (płaskich i przestrzennych) (waga: 0,5 lub 0,3)

PRZEDMIOTOWE ZASADY OCENIANIA I WYMAGANIA EDUKACYJNE Z MATEMATYKI Klasa 3

Agnieszka Kamińska, Dorota Ponczek. Matematyka na czasie Gimnazjum, klasa 3 Rozkład materiału i plan wynikowy

Wprowadzenie do rysowania w 3D. Praca w środowisku 3D

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

DZIAŁ 1. STATYSTYKA DZIAŁ 2. FUNKCJE

Wymagania edukacyjne z matematyki dla klasy III gimnazjum

Wymagania na poszczególne oceny szkolne z. matematyki. dla uczniów klasy IIIa i IIIb. Gimnazjum im. Jana Pawła II w Mętowie. w roku szkolnym 2015/2016

PLANIMETRIA CZYLI GEOMETRIA PŁASZCZYZNY CZ. 1

MATEMATYKA - WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY

GEOMETRIA ELEMENTARNA

Trójwymiarowa grafika komputerowa rzutowanie

0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do

Temat lekcji Zakres treści Osiągnięcia uczeń: I. FUNKCJE 14

Grafika inżynierska geometria wykreślna. 5. Wielościany. Punkty przebicia. Przenikanie wielościanów.

LUBELSKA PRÓBA PRZED MATURĄ 09 MARCA Kartoteka testu. Maksymalna liczba punktów. Nr zad. Matematyka dla klasy 3 poziom podstawowy

ZESPÓŁ SZKÓŁ W OBRZYCKU

Grafika Komputerowa Wykład 5. Potok Renderowania Oświetlenie. mgr inż. Michał Chwesiuk 1/38

Modelowanie i wstęp do druku 3D Wykład 1. Robert Banasiak

Przedmiotowe zasady oceniania i wymagania edukacyjne

Praktyczne przykłady wykorzystania GeoGebry podczas lekcji na II etapie edukacyjnym.

KRZYŻÓWKA Może być np. równoboczny lub rozwartokątny. Jego pole to a b HASŁO:

Grafika Komputerowa Wykład 4. Synteza grafiki 3D. mgr inż. Michał Chwesiuk 1/30

Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki

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

Wymagania edukacyjne z matematyki - klasa III (poziom rozszerzony) wg programu nauczania Matematyka Prosto do matury

Krzyżówka oraz hasła do krzyżówki. Kalina R., Przewodnik po matematyce dla klas VII-VIII, część IV, SENS, Poznań 1997, s

PDM 3 zakres podstawowy i rozszerzony PSO

Tomasz Tobiasz PLAN WYNIKOWY (zakres podstawowy)

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

Geometria wykreślna. 6. Punkty przebicia, przenikanie wielościanów. dr inż. arch. Anna Wancław. Politechnika Gdańska, Wydział Architektury

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

Grafika Komputerowa Wykład 6. Teksturowanie. mgr inż. Michał Chwesiuk 1/23

KRYTERIA OCEN Z MATEMATYKI DLA UCZNIÓW KL. II GIMNAZJUM

XII. GEOMETRIA PRZESTRZENNA GRANIASTOSŁUPY

Plan wynikowy, klasa 3 ZSZ

Modelowanie krzywych i powierzchni

Wymagania edukacyjne z matematyki

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

Katalog wymagań programowych na poszczególne stopnie szkolne. Matematyka. Poznać, zrozumieć

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

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

Kryteria oceniania z matematyki Klasa III poziom podstawowy

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

Wymagania edukacyjne z matematyki Klasa III zakres podstawowy

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

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

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

Krzywa uniwersalna Sierpińskiego

Wymagania z matematyki na poszczególne stopnie szkolne w klasie trzeciej gimnazjum

Zadanie I. 2. Gdzie w przestrzeni usytuowane są punkty (w której ćwiartce leży dany punkt): F x E' E''

Obiekty trójwymiarowe AutoCAD 2013 PL

WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY TRZECIEJ NA ROK SZKOLNY 2011/2012 DO PROGRAMU MATEMATYKA Z PLUSEM

Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki

Mini tablice matematyczne. Figury geometryczne

Sphere tracing: integracja z klasycznymi metodami symulacji i renderingu

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

Politechnika Warszawska Wydział Mechatroniki Instytut Automatyki i Robotyki

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

Geometria wykreślna. 5. Obroty i kłady. Rozwinięcie wielościanu. dr inż. arch. Anna Wancław. Politechnika Gdańska, Wydział Architektury

WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY MATEMATYKA KLASA 8 DZIAŁ 1. LICZBY I DZIAŁANIA

Podstawowe pojęcia geometryczne

PDM 3. Zakres podstawowy i rozszerzony. Plan wynikowy. STEREOMETRIA (22 godz.) W zakresie TREŚCI PODSTAWOWYCH uczeń potrafi:

Wymagania z matematyki KLASA VII

Opracowanie tablic: Adam Konstantynowicz, Anna Konstantynowicz, Kaja Mikoszewska

Plan wynikowy klasa 3. Zakres podstawowy

METODA RZUTÓW MONGE A (II CZ.)

Podstawowe zasady modelowania śrub i spoin oraz zestawienie najważniejszych poleceń AutoCAD 3D,

Modelowanie w projektowaniu maszyn i procesów cz.3

Matematyka z plusem dla szkoły ponadgimnazjalnej. ZAŁOŻENIA DO PLANU RALIZACJI MATERIAŁU NAUCZANIA MATEMATYKI W KLASIE III (zakres podstawowy)

WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA IV DOBRY DZIAŁ 1. LICZBY NATURALNE

Grafika inżynierska geometria wykreślna. 5a. Obroty i kłady. Rozwinięcie wielościanu.

Wymagania edukacyjne zakres podstawowy klasa 3A

WYMAGANIA EDUKACYJNE Z MATEMATYKI W KLASIE VIII

KRYTERIUM OCENY Z MATEMATYKI DLA KLASY 6

9. Podstawowe narzędzia matematyczne analiz przestrzennych

Wymagania kl. 3. Zakres podstawowy i rozszerzony

Kryteria oceniania z matematyki Klasa III poziom rozszerzony

MATeMAtyka 3. Propozycja przedmiotowego systemu oceniania wraz z określeniem wymagań edukacyjnych. Zakres podstawowy i rozszerzony

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

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

PLANIMETRIA CZYLI GEOMETRIA PŁASZCZYZNY CZ. 3

Grafika 2D. Animacja Zmiany Kształtu. opracowanie: Jacek Kęsik

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

Podstawy 3D Studio MAX

2. Permutacje definicja permutacji definicja liczba permutacji zbioru n-elementowego

FIGURY I PRZEKSZTAŁCENIA GEOMETRYCZNE

Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki

Wymagania edukacyjne niezbędne do otrzymania poszczególnych śródrocznych i rocznych ocen klasyfikacyjnych z matematyki dla klasy VIII

Reprezentacja i analiza obszarów

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

Transkrypt:

Grafika 3D Opracowanie: J. Kęsik kesik@cs.pollub.pl

Podstawowe pojęcia Modelowanie i wyświetlenie struktury trójwymiarowej wymaga zajęcia się wieloma aspektami oprócz samego dodania trzeciej współrzędnej Krawędzie obiektów można tworzyć na różne sposoby (figury płaskie, powierzchnie zakrzywione ), czasem potrzeba również dodać informacje o wnętrzu obiektu Przekształcenia geometryczne w 3D są bardziej skomplikowane od ich odpowiedników w 2D (np. obrót obiektu wokół osi dowolnie umiejscowionej w 3D)

Podstawowe pojęcia Prezentacja obrazu 3D na płaszczyźnie 2D jest również bardzo skomplikowana. Konieczne jest ustalenie wielu parametrów, mówiących jak scena 3D ma być rzutowana na powierzchnię wyświetlania - widok. Konieczne jest zbudowanie transformacji układu współrzędnych 3D sceny na układ 2D widoku - rendering. Należy również określić część sceny widoczną w danym widoku, a odpowiednie algorytmy renderowania powierzchni muszą być użyte aby uzyskać realistyczny widok

Modelowanie obiektów Podstawowy podział w sposobie modelowania obiektów to Modelowanie pełne (solid) takie modele określają objętość reprezentowanych obiektów. Są bardziej realistyczne ale trudniejsze do zbudowania. Są najczęściej wykorzystywane przy symulacjach niewizualnych (medycyna, inżynieria, CAD)

Modelowanie obiektów Podstawowy podział w sposobie modelowania obiektów to Modelowanie krawędziowe / Reprezentacja brzegowa (shell, b-rep boundary representation) takie modele opisują tylko powierzchnię obiektów, pozostawiając pusty środek. Są prostsze do utworzenia i przetwarzania Praktycznie wszystkie modele obiektów w grach i animacjach komputerowych są modelami krawędziowymi

Voxele Jedną z metod tworzenia modeli pełnych jest wykorzystanie voxeli Voxel (volumetric pixel / volumetric picture element) jest pojedynczym elementem trójwymiarowej, równomiernej matrycy. Element ten ma pewne, określone rozmiary

Voxele Metoda voxelowa ma bardzo duże wymagania co do ilości pamięci potrzebnej do zapamiętania kształtu obiektu Np. 500x500x500 voxeli ~ 125 M Zaletą jest możliwość przypisania każdemu voxelowi dodatkowej informacji np. rodzaj materiału

Model krawędziowy nie posiada środka. Składa się wyłącznie z nieskończenie cienkiej skorupki. Skorupka ta jest tworzona na podstawie opisu modelowanych obiektów Automatycznie przez konwersję opisu matematycznego Ręcznie przez edycję skorupki przez projektanta Istnieją różne metody opisu takich modeli (skorupek)

Podstawowe pojęcia Pojęcie bryły i jej właściwości (wymagania) Jest podzbiorem przestrzeni R 3 Jest jednorodna topologicznie nie składa się z elementów z różnego wymiaru Skończona Domknięta Efektywna

Istnieją różne metody opisu takich modeli (skorupek) Metoda modelowania z wielokątów (polygonal modelling) Polega na przybliżaniu kształtu obiektu za pomocą zbioru wielokątów połączonych krawędziami Model ten jest opisany za pomocą Punktów w przestrzeni 3D vertexy Odcinków łączących te punkty ze sobą

Istnieją różne metody opisu takich modeli (skorupek) Metoda modelowania z wielokątów (polygonal modelling) Stworzone zbiory połączeń są nazywane siatkami. W celu usprawnienia automatycznego przetwarzania takiej siatki, wykorzystuje się tylko jeden rodzaj wielokąta w danej siatce. Najczęściej czworokąty lub trójkąty.

Istnieją różne metody opisu takich modeli (skorupek) Metoda modelowania z wielokątów (polygonal modelling) Główną zaletą stosowania takich modeli jest łatwość ich maszynowego przetwarzania i renderowania. Podstawową wadą jest stosowanie wyłącznie krawędzi prostych, zmuszające do modelowania krzywizn za pomocą dużej ilości wielokątów.

Podstawową wadą jest stosowanie wyłącznie krawędzi prostych, zmuszające do modelowania krzywizn za pomocą dużej ilości wielokątów.

Najczęściej spotykane siatki to siatki trójkątów. Wynika to z faktu, że wszystkie wierzchołki trójkąta znajdują się na jednej płaszczyźnie. Ułatwia to renderowanie obiektu. Siatki zawierają znaczne ilości trójkątów (setki tysięcy dla przeciętnego obiektu). Uzyskany model jest zawsze kompromisem między realizmem obrazu a szybkością renderowania W przypadku gier jest to szczególnie ważne gdyż rendering musi odbywać się w czasie rzeczywistym

Siatka wielokątowa jest zbiorem krawędzi, wierzchołków i wielokątów spełniających warunki: każda krawędź jest wspólna dla dwóch wielokątów*. Krawędź łączy dwa wierzchołki wielokąt jest zamkniętą sekwencja krawędzi Krawędź może być wspólna dla dwóch sąsiednich wielokątów, wierzchołek jest wspólny dla przynajmniej dwóch krawędzi i każda krawędź jest częścią jakiegoś wielokąta. Żadna z krawędzi nie może przechodzić przez werteks (jest nimi zakończona nigdy w środku krawędzi) * W przypadku siatek opisujących bryły

Reprezentacje scen 3D Obiekty na scenie 3D Bryły są najczęściej wizualizowane za pomocą ich powierzchni brzegowej B-rep (boundary representation). W przypadku bryły nie można zobaczyć drugiej strony tej powierzchni podczas gdy obiekty otwarte uwidoczniają obie strony

Reprezentacje scen 3D Obiekty na scenie 3D Częstym zabiegiem w grafice 3D jest definiowanie lewej i prawej strony powierzchni granicznych. Powierzchnie brył skierowane do obserwatora stroną lewą nie są renderowane optymalizacja wyświetlania

Reprezentacje scen 3D Obiekty na scenie 3D Innym podziałem obiektów jest klasyfikacja jako Prymityw obiekt określony samodzielnie Obiekt złożony określony za pomocą innych obiektów/prymitywów Podział miedzy prymitywami a obiektami złożonymi jest dość umowny i zależy od zastosowania czy programu edycyjnego.

Reprezentacje scen 3D Obiekty na scenie 3D Reprezentacja obiektu przeznaczona do wyświetlenia jest inna niż reprezentacja przeznaczona np. do analizy komputerowej. Zakrzywiony dach może być reprezentowany siatką trójkątów albo powierzchnią parametryzowaną krzywymi NURBS

Reprezentacje scen 3D Reprezentowanie brył wielościennych W opisie krawędziowym są zdefiniowane Powierzchnia bryły zbiór płaskich ścian (wielokątów) stykających się odpowiednimi krawędziami Krawędzie ściany zbiór odcinków ograniczających ścianę, stykających się w odpowiednich wierzchołkach Wierzchołki krawędzi pary punktów definiujących daną krawędź

Reprezentacje scen 3D Reprezentowanie brył wielościennych Taki układ definiuje pewną hierarchię opisu bryły Reprezentacja bryły może więc składać się z tablic wierzchołków, krawędzi i ścian powiązanych ze sobą odpowiednimi odnośnikami

Reprezentacje scen 3D Opis wierzchołka/vertexa w 3D Zawiera 3 współrzędne w układzie kartezjańskim (lub 4 wsp. jednorodne) Może zawierać zestaw odnośników do tablicy krawędzi, które z niego wychodzą. Może zawierać zestaw odnośników do ścian, w których jest wierzchołkiem Bardzo często zawiera wektor normalny niezbędny przy obliczaniu oświetlenia itp

Reprezentacje scen 3D Opis krawędzi w 3D Zawiera wskaźniki wierzchołków końcowych Zawiera wskaźniki ścian, których brzegiem jest krawędź Wartość przełącznika wygładzania krawędzi np. powierzchnie krzywoliniowe

Reprezentacje scen 3D Opis półkrawędzi w 3D (alternatywnie) Zawiera wskaźniki wierzchołków końcowych Zawiera wskaźniki ściany, której brzegiem jest półkrawędź Wartość przełącznika wygładzania krawędzi np. powierzchnie krzywoliniowe Zawiera wskaźnik do bliźniaczej półkrawędzi Łatwiejsze wykonywanie niektórych algorytmów

Reprezentacje scen 3D Opis ściany w 3D Zawiera listę krawędzi ją tworzących Może zawierać listę wierzchołków (zamiennie lub równolegle z listą krawędzi) Może zawierać listę trójkątów składowych Zawiera wektor normalny Id powierzchni Właściwości optyczne powierzchni

Reprezentacje scen 3D Opis ściany w 3D Może zawierać listę trójkątów składowych Przyspieszenie renderingu niektórymi metodami Np. Algorytm śledzenia promieni oblicza przecięcia promieni ze ścianą prostsze szukanie przecięcia z trójkątem niż ze skomplikowanym wielokątem (do kilku % zysku)

Reprezentacje scen 3D Opis bryły w 3D Redundancja danych w takim opisie jest stosowana w celu Szybkiego dostępu do danych z każdego poziomu Ułatwienia testowania poprawności bryły (jej homeomorficzności z kulą)

Reprezentacje scen 3D Testowanie poprawności bryły (jej homeomorficzności z kulą*) polega na sprawdzeniu wzoru Eulera: V E + F = 2, gdzie V - liczba wierzchołków E liczba krawędzi F liczba ścian

Reprezentacje scen 3D Testowanie poprawności bryły (jej homeomorficzności z kulą*) Bryła jest homeomorficzna z drugą bryłą, gdy można ją przekształcić w drugą bez rozrywania i sklejania Źródło: http://pl.wikipedia.org/w/index.php?title=plik:mug_and_torus_morph.gif&filetimestamp=20070302005604

Istnieje kilka reprezentacji siatek wielokątów Reprezentacja bezpośrednia Każdy wielokąt jest opisany przez zbiór współrzędnych jego kolejnych wierzchołków-vertexów Np. W 1 =[(x 1, y 1, z 1 ), (x 2, y 2, z 2 ), (x 3, y 3, z 3 ), ] Między każdą parą wierzchołków jest krawędź + krawędź miedzy pierwszym i ostatnim Taki zapis jest mało optymalny przy zapisywaniu całej siatki wielokątów ze względu na powtarzanie zapisu wierzchołków

Istnieje kilka reprezentacji siatek wielokątów Reprezentacja bezpośrednia Dodatkowym problemem jest konieczność eliminacji nadmiarowych krawędzi podczas renderingu Brak tej eliminacji może spowodować zapalanie dodatkowych pikseli przy rysowaniu tej samej krawędzi w przeciwnych kierunkach

Istnieje kilka reprezentacji siatek wielokątów Reprezentacja przez listę wskaźników Do opisu wielokątów wykorzystywane są wskaźniki na wierzchołki Np. W 1 =[w 1, w 2, w 3, ] Eliminuje to problem nadmiernej alokacji pamięci ale pozostawia problem podwójnego rysowania krawędzi

Istnieje kilka reprezentacji siatek wielokątów Reprezentacja przez listę wskaźników na krawędzie Do opisu wielokątów wykorzystywane są wskaźniki na krawędzie Np. W 1 =[k 1, k 2, k 3, ] gdzie każda krawędź jest opisana za pomocą pary wierzchołków (wskaźniki) oraz pary wielokątów, do których należy. Gdy należy tylko do jednego, drugi jest oznaczany jako 0 k 1 =[w 1, w 2, W 3, W 5 ]

Istnieje kilka reprezentacji siatek wielokątów Reprezentacja przez listę wskaźników na krawędzie Eliminuje to zarówno problem nadmiernej alokacji pamięci wskaźniki na krawędzie. jak i problem podwójnego rysowania krawędzi rysowane są wszystkie krawędzie, nie wszystkie wielokąty

Reprezentacje scen 3D Opis bryły w 3D Alternatywą do redundantnego zapisu jest zapis minimalistyczny np. taśma trójkątów gdzie kolejne ściany są określane trójkami wierzchołków przesyłanych jednym ciągiem.

Reprezentacje scen 3D Opis bryły w 3D Zapis minimalistyczny siatki trójkątów może być optymalizowany wg. zasady dodawania 1 wierzchołka przy tworzeniu następnego trójkąta. Oraz wykorzystaniu wierzchołków poprzedniego Możliwe są dwa układy: Pas trójkątów Wachlarz trójkątów

Reprezentacje scen 3D Opis bryły w 3D Zapis minimalistyczny siatki trójkątów Pas trójkątów Nowy trójkąt powstaje z 2 ostatnich wierzchołków poprzedniego + 1 nowy wierzchołek

Reprezentacje scen 3D Opis bryły w 3D Zapis minimalistyczny siatki trójkątów Pas trójkątów

Reprezentacje scen 3D Opis bryły w 3D Zapis minimalistyczny siatki trójkątów Wachlarz trójkątów Nowy trójkąt powstaje z ostatniego i pierwszego (zawsze ten sam) wierzchołka poprzedniego trójkąta + 1 nowy wierzchołek

Reprezentacje scen 3D Opis bryły w 3D Zapis minimalistyczny siatki trójkątów Wachlarz trójkątów

Przecięcie wielościanów Mając dwa wielościany reprezentowane według powyższych zasad, można wyznaczyć (regularyzowaną) powierzchnię przecięcia między nimi. Algorytm wyznaczania takiego przecięcia zakłada, że wektory normalne ścian bryły są zorientowane na zewnątrz można łatwo określić strony ściany (zawieranie się w bryle)

Przecięcie wielościanów Mogąc wyznaczyć przecięcie i dopełnienie, można określić sumę i różnicę dwóch brył Zbiór punktów wspólnych ścian dwóch wielościanów nazywany jest linią przenikania. Jest to z reguły wielokąt przestrzenny. Jego wierzchołkami są punkty przebicia krawędzi jednego wielościanu ze ścianami drugiego z nich. Jego bokami są odcinki krawędzi ścian obu przenikających się wielościanów

Przecięcie wielościanów Linia przenikania

Przecięcie wielościanów Linia przenikania

Przecięcie wielościanów Algorytm znajdowania przecięcia wielościanów regularnych (znając ich brzegi) składa się z kilku podstawowych etapów: Etap 1 Analizowana jest każda para ścian pochodzących po jednej z obu brył. Wyznaczane jest przecięcie tych ścian Możliwe wyniki: (brak przecięcia, punkt, odcinek, wielokąt*) *gdy obie ściany znajdują się na tej samej płaszczyźnie

Przecięcie wielościanów Algorytm znajdowania przecięcia wielościanów: Etap 1 W przypadku wielokąta wyznaczamy odcinki przecięcia jednej ściany z drugą.

Przecięcie wielościanów Algorytm znajdowania przecięcia wielościanów: Etap 2 Odcinki wyznaczone w etapie 1 służą do podzielenia ścian na zamknięte fragmenty Każdy taki fragment ściany jednej z brył leży: Wewnątrz drugiej Na zewnątrz drugiej Na brzegu drugiej

Przecięcie wielościanów Algorytm znajdowania przecięcia wielościanów: Etap 2 Budowany jest graf sąsiedztwa fragmentów ścian. Jego wierzchołkami są fragmenty, a krawędziami krawędzie wielościanów lub odcinki wyznaczone w 1 etapie

Przecięcie wielościanów Algorytm znajdowania przecięcia wielościanów: Etap 3 a) Wybieramy nieodwiedzony fragment ściany -wierzchołek grafu sąsiedztwa ścian i sprawdzamy, czy należy on do powierzchni przecięcia brył. Następnie przeszukujemy graf sąsiedztwa ścian zatrzymując się na krawędziach odcinkach przecięcia wielościanów

Przecięcie wielościanów Algorytm znajdowania przecięcia wielościanów: Etap 3 b) Jeżeli początkowy fragment należy do powierzchni przecięcia to wszystkie odwiedzone fragmenty również dodaje się je do tej powierzchni. Zbadane fragmenty zostają oznaczone jako odwiedzone Kroki a i b są powtarzane do odwiedzenia wszystkich fragmentów

Przecięcie wielościanów Algorytm znajdowania przecięcia wielościanów: Etap 4 Do zbioru (grafu) fragmentów powierzchni przecięcia dołącza się krawędzie wyznaczone w etapie 1. Istnieją szczególne przypadki, np. stykanie się brył krawędziami, dla których powyższa metoda nie działa poprawnie.

Modelowanie prymitywowe Konstruktywna geometria brył (Constructive Solid Geometry) Opiera się na wcześniejszym zdefiniowaniu niewielkiego zbioru brył podstawowych - prymitywów. Np. sfera, równoległobok, stożek Obiekt docelowy powstaje w skutek wykonywania operacji logicznych między prymitywami składającymi się na ten obiekt Wykorzystywane do budowania modeli pełnych i siatkowych

Modelowanie prymitywowe Podstawowymi zaletami są: Szybkie tworzenie obiektów (budowa z klocków ) Absolutna dokładność opisu obiektów podstawowych Prostota opisującego je języka Modelowanie to nadaje się bardziej do obiektów technicznych niż np. organicznych (gładkie krzywizny)

Modelowanie prymitywowe Renderowanie modelu prymitywowego może przebiegać bezpośrednio (np. PovRay) albo po przekształceniu w siatkę trójkątów

Modelowanie prymitywowe Podstawowymi operacjami na obiektach są: suma

Modelowanie prymitywowe Podstawowymi operacjami na obiektach są: suma

Modelowanie prymitywowe Podstawowymi operacjami na obiektach są: różnica

Modelowanie prymitywowe Podstawowymi operacjami na obiektach są: różnica

Modelowanie prymitywowe Podstawowymi operacjami na obiektach są: Część wspólna

Modelowanie prymitywowe Podstawowymi operacjami na obiektach są: Część wspólna

Modelowanie prymitywowe Zbiór prymitywów klocków może być określany na wiele sposobów. Dobierany do zadania modelowania Prymitywem może być np. dowolna półprzestrzeń W takim przypadku nie ma zastosowania ograniczenie mówiące, że wynikowym obiektem ma być bryła

Modelowanie prymitywowe Z operacjami boolowskimi na bryłach związany jest problem brzegu. Niektóre operacje wykonywane na odpowiednio ustawionych bryłach mogą w efekcie dać obiekt nie będący bryłą Np. Część wspólna brył stykających się jedną krawędzią da w rezultacie odcinek

Modelowanie prymitywowe Z operacjami boolowskimi na bryłach związany jest problem brzegu. Wykorzystuje się więc regularyzowane operacje boolowskie oznaczane *. Zapobiegają one powstawaniu innych obiektów niż bryły, dając zbiór pusty albo domykając otwarte powierzchnie

Modelowanie prymitywowe Operacje można łączyć w drzewa binarne uzyskując skomplikowane kształty w niewielu krokach Źródło: http://en.wikipedia.org/wiki/file:csg_tree.png

Modelowanie prymitywowe Do zalet modelowania prymitywowego należą: Łatwe zapewnienie że obiekt jest zamknięty ( wodoodporny ) jeżeli wszystkie prymitywy składowe są zamknięte. Łatwe testowanie kolizji. Sprawdzanie kolizji punktu z prymitywami składowymi (proste) Wyniki kolizji poddawane tym samym operacjom logicznym co prymitywy

Modelowanie obiektem 2D Przesuwanie - sweeping Jedną z metod konstrukcji modeli 3d jest przesuwanie obiektu 2D wzdłuż ścieżki (najczęściej odcinka) tworząc obiekt 3D

Modelowanie obiektem 2D Sweeping może przebiegać również wzdłuż ścieżki

Modelowanie obiektem 2D Rozszerzeniem sweepigu może być skalowanie obiektu 2D i/lub jego obrót w czasie przesuwania wzdłuż ścieżki

Modelowanie obiektem 2D Analogicznie do sweepingu można modelować przez obracanie obiektu 2D

Modelowanie przez podział (subdivision) Zasada tego modelowania polega na stworzeniu prostego, zgrubnego modelu a następnie rekurencyjnym wykonywaniu podziału jego wielokątów

Modelowanie przez podział (subdivision) Podział jest wykonywany dla każdego bieżącego vertexa, według określonego schematu (refinement scheme) Schematy te generalnie dzielą się na interpolujące i aproksymujące

Modelowanie przez podział (subdivision) Takie modelowanie jest wykorzystywane przy tworzeniu obiektów o gładkich, płynnie przechodzących powierzchniach Na każdym poziomie podziału możliwe jest edytowanie uzyskanych vertexów Wykorzystuje się również podejście odwrotne: Wskanowany obiekt jest poddawany kolejnym operacjom zmniejszania szczegółowości tworząc poziomy sybdivision

Modelowanie przez mozaikowanie (teselation) Mozaikowanie polega na wypełnieniu bez dziur pewnego obszaru za pomocą wieloboków- kafelków. Mozaikowanie wykorzystujące jednakowe wielokąty nazywane jest regularnym i tworzy obszar z trójkątów, kwadratów lub sześciokątów. Mozaikowanie półregularne wykorzystuje układy zbioru ośmiu rodzajów wielokątów, ułożonych tak, że ich rozkład w każdym z werteksów jest jednakowy

Modelowanie przez mozaikowanie (teselation) W grafice komputerowej mozaikowanie jest wykonywane maszynowo. Najbardziej powszechną wersją mozaikowania jest triangularyzacja. Jest ona wykorzystywana przy zamianie siatki drutowej-edycyjnej na siatkę trójkątów wykorzystywana w renderingu. Algorytmy mozaikowania są wbudowane w środowiska DirectX i opengl

Modelowanie przez tworzenie powierzchni poziomicowych (implicit surfaces/level set) Bazuje na zasadzie przecinania obiektu powierzchnią przesuwaną w kierunku prostopadłym do niej. Powstałe figury 2D są określane mianem powierzchni poziomicowych/izopowierzchni

Modelowanie przez tworzenie powierzchni poziomicowych (implicit surfaces/level set) Model opisany izopowierzchniami ma je ułożone od najbliższej do najdalszej w stosunku do pewnego punktu obserwacji

Modelowanie przez tworzenie powierzchni poziomicowych (implicit surfaces/level set) Takie modelowanie jest stosowane dla obiektów zmieniających swój kształt w czasie, ze względu na stosunkowo łatwe podążanie za tymi zmianami Np. odkształcenie obiektu miękkiego w skutek uderzenia

Modelowanie przez kopiowanie prymitywów Zdefiniowany jest pewien zbiór prymitywów posiadających parametry. Np. ilość ścian bocznych graniastosłupa. Kopiowanie prymitywów stosuje się przy opisie modeli złożonych, trudnych do opisania za pomocą podstawowego modelowania prymitywowego. (Np. koła zębate, śruby ) a łatwych do opisania za pomocą parametrów wysokopoziomowych (Np. średnica i ilość zębów koła zębatego)

Modelowanie przez wykorzystanie mapy wysokości Wykorzystywane jest do tworzenia pofałdowanych powierzchni W tym modelowaniu wykorzystuje się rastrowy obraz monochromatyczny. Stopnie szarości pikseli odpowiadają wysokościom odległościom od pozycji bazowej powierzchni. Zakres między odległością minimalną 0 a minimalną może być określany w trakcie tworzenia powierzchni, dając możliwość manewrowania wysokościom odkształceń

Modelowanie przez wykorzystanie mapy wysokości Mapy wysokości są często wykorzystywane do tworzenia realistycznych terenów w grach. Bitmapa tworząca dany teren jest znacznie mniej skomplikowana od siatki opisującej go wymaga mniej pamięci do przechowywania