Proceduralne modelowanie stworów w Suboceanic
|
|
- Bartłomiej Socha
- 8 lat temu
- Przeglądów:
Transkrypt
1 IV Ogólnopolska Konferencja Inżynierii Gier Komputerowych, Siedlce 2007 Proceduralne modelowanie stworów w Suboceanic Tomasz Dobrowolski Politechnika Gdańska Streszczenie Suboceanic to niewielki program wykonywalny zajmujący 50 kilobajtów. Został zaprezentowany na party demoscenowym Assembly 2005 w kategorii intro 64k. Efektem działania programu jest multimedialna animacja, w której zarówno obraz jak i dźwięk generowany jest w czasie rzeczywistym. Ta praca opisuje szczegółowo algorytmy opracowane podczas produkcji tego intra do generowania proceduralnych stworów i roślin. Opisana metoda polega na generowaniu skomplikowanych zbiorów kul z niewielkiej liczby mniejszych zbiorów bazowych i stochastycznych reguł podstawiania. Następnie wyliczana jest gładka powierzchnia zwana skórą, opływająca wygenerowany zbiór kul. Metoda pozwala na generowanie kolejnych faz rozwoju wirtualnych stworów oraz modelowanie powierzchni o skomplikowanych topologiach. Metoda może mieć zastosowanie do opisu rosnących stworów w grach komputerowy, optymalizacji kosztów modelowania obiektów przy produkcji gier komputerowych i aplikacjach wymagających niewielkich rozmiarów danych, takich jak intra demoscenowe czy gry massive multi-player. Słowa kluczowe: proceduralne generowanie stworów, proceduralne modelowanie, L- systemy, diagramy Voronoi, power diagrams, algorytm quick-hull, symulacja wzrostu organizmów wielokomórkowych 1
2 Tomasz Dobrowolski Proceduralne modelowanie stworów w Suboceanic 1. Wstęp Dawno, dawno temu, za górami, za lasami, pojawiły się w oceanach pierwsze inteligentne organizmy zwierzęce zwane zielonymi stworami. Żyły w harmonii z otaczającą je rafą koralową, karmiąc się glonami i strasznymi ośmiornicami z długimi, okropnymi mackami. Ulubionym zajęciem zielonych było przesiadywanie nad skalistym brzegiem, pod niewysokim drzewem, moczenie nóżek w krystalicznie czystej wodzie i rozmyślanie nad sensem swojej zagadkowej egzystencji! Przytoczona wizja jest tłem fabularnym kilkuminutowej animacji generowanej w czasie rzeczywistym przez program komputerowy o rozmiarze 50 kilobajtów, o intrygującej nazwie: Suboceanic. Ta produkcja została od początku do końca zrealizowana przez jedną osobę, wliczając opracowanie koncepcji, algorytmów, narzędzi i części artystycznej. Została zaprezentowana na konkursie demoscenowym [19] Assembly 2005 w kategorii intro 64 kilobajtowe. Ze względu na ograniczenia rozmiaru pliku wykonywalnego i danych narzucone przez organizatorów konkursu, zastosowano szereg proceduralnych technik generowania geometrii obiektów, w tym technikę proceduralnego modelowania stworów, przypominających wielokomórkowe organizmy zwierzęce oraz glonów i konarów drzew. Rysunek 1: Model kulowy ośmiornicy, którą można spotkać nurkując w głębinach Suboceanic. 2
3 IV Ogólnopolska Konferencja Inżynierii Gier Komputerowych, Siedlce Wcześniejsze prace Na temat proceduralnego modelowania napisano już wiele. W 1990 roku została wydana książka: The Algorithmic Beauty of Plants [2] podsumowująca wczesne dokonania połączonych sił biologów, matematyków i informatyków w dziedzinie algorytmicznej botaniki, głównie opisująca koncepcję i zastosowania tzw. L-systemów do opisu geometrii roślin. Równie znaczącą pozycją jest książka: Texturing & Modeling: A Procedural Approach [1] i jej wznowione edycje (m.in. autorstwa K.Musgrave'a, informatyka, który niegdyś współpracował z B.Mandelbrotem przy wizualizacji fraktali). Książka opisuje techniki proceduralnego generowania chmur, terenu, planet, ale w tym również drzew, rozmieszczenia roślin w ekosystemach, kory, futra, łusek, a także proceduralnych tekstur przypominających m.in. drewno i inne substancje pochodzenia organicznego. Opracowane metody znajdują szerokie zastosowania przy produkcji gier komputerowych i filmów, znacznie zmniejszając ich koszty produkcji i czas pracy grafików (PDI: Shrek [10]) lub w przypadku gier komputerowych znacznie poszerzając ich możliwości (The Sentinel [12], Spore [11]). Nietypowym zastosowaniem proceduralnych metod generowania są programy, które z różnych względów mają narzucone ograniczenia co do rozmiaru danych. Przykładem są intra demoscenowe, takie jak Suboceanic, gdzie ograniczenia są narzucone sztucznie dla samej sztuki lub pewnej formy ćwiczenia i rozrywki intelektualnej. Innym przykładem mogą być gry na urządzenia mobilne z niewielkimi nośnikami pamięci stałej oraz gry sieciowe massive multi-player, gdzie wymagana jest optymalizacja ilości przesyłanych danych przez Internet ([11]). Rysunek 2: Proceduralny stworek zamieszkujący skaliste wybrzeża Suboceanic. 3
4 Tomasz Dobrowolski Proceduralne modelowanie stworów w Suboceanic 2. Generowanie proceduralnych roślin i stworów Prosta analiza geometryczna anatomii różnych gatunków roślin i zwierząt wykazuje pewne charakterystyczne prawidłowości w ich budowie: filotaksja u roślin (Fowler,Prusinkiewicz,Battjes [7]), symetryczna budowa ciała zwierząt (jedna oś u kręgowców lub wiele osi symetrii u rozgwiazdy, Carroll [4]), powtarzalne segmenty (gąsienice i stonogi [4], macki ośmiornicy), samo-podobieństwo w drzewiastych strukturach (reguły rozgałęzień w różnych gatunkach drzew [7], podobieństwo kończyn, struktura żyłek w liściach, struktura naczyń krwionośnych w płucach), regularność wzorów na futrze zwierząt (paski, centki, oczka [4]), regularność w budowie skóry (łuski u gadów i ryb, pióra u ptaków, skalki na skrzydłach motyli [4]). Większość z tych prawidłowości da się opisać za pomocą prostych reguł klonowania kształtów i podstawiania kształtów pod siebie. Przy produkcji intra Suboceanic został stworzony wygodny edytor WYSIWYG (What You See Is What You Get) do wizualnej edycji reguł opisujących proceduralne stwory łącznie z możliwością rozmieszczenia ich w środowisku podwodnym i edycji animacji. Umożliwia on modelowanie skomplikowanych obiektów w krótkim czasie. Technika generowania proceduralnych stworów i roślin w Suboceanic składa się z trzech następujących po sobie kroków: 1. Generowanie skomplikowanego zbioru kul opisanego przez zbiory kul bazowych i rekurencyjne stochastyczne reguły podstawiania. 2. Wyliczenie gładkiej powierzchni opływającej wygenerowany zbiór kul, tzw. skóry. 3. Nałożenie proceduralnej tekstury na skórę (praca ta nie obejmuje tematyki nakładania tekstury na powierzchnię, w Suboceanic wykorzystano automatyczne mapowanie UV i tekstury generowane proceduralnie, można się również posłużyć metodami nakładania tekstur na dowolne powierzchnie o skomplikowanych topologiach opisane w pracach Neyret, Cani [16] oraz Tarini [17]). 4
5 IV Ogólnopolska Konferencja Inżynierii Gier Komputerowych, Siedlce Reguły podstawiania zbiorów kul W Suboceanic model stwora opisany jest za pomocą zbioru powielonych i przetransformowanych grup bazowych. Każda grupa bazowa jest dowolnym zbiorem kul, w którym każda kula ma zdefiniowane współrzędne środka w przestrzeni R 3 i promień. Każda grupa może zawierać trzy typy kul: 1. Kule strukturalne, będące podstawą do wyznaczenia skóry. 2. Kule atrapy, mogące służyć jako niewidoczne, pomocnicze kule w regułach podstawiania do wyznaczania dodatkowej translacji i skali podstawianej grupy. 3. Kule replikujące, do której przypisane są listy podstawień. Rysunek 3: Proceduralna drapieżna rybka słodkowodna wygenerowana z kilku reguł. Końcowy model składa się z 284 kul. Element w liście podstawień może zawierać szereg parametrów (w zależności od implementacji): symbol pusty: ø, oznaczający brak podstawienia, indeks grupy kul i numer kuli w grupie, od której będzie realizowane podstawienie zadanej grupy zamiast kuli replikującej, opis transformacji podstawianej grupy (rotacja określona jako macierz lub kwaternion, symetryczne odbicie oraz skala określona jako stosunek promienia kuli replikującej do promienia kuli, od której rozpoczynamy podstawienie), zakres losowych odchyleń przy wyznaczaniu transformacji podstawianej grupy (patrz rys. 6). 5
6 Tomasz Dobrowolski Proceduralne modelowanie stworów w Suboceanic A 1 : (( )*2 B 0 )*2 A 2 : ( )*4 Ø C 1 : ( )*3 B 1 : B 0 B 0 D 0 : D 1 : C 1 A 2 D 0 A 1 B 0 B 1 D 1 B 0 B 0 B 0 B 0 B 0 B 0 B 0 B 0 C0 C0 C0 C0 C0 Rysunek 4: Przykładowy system podstawień składający się z 4 grup: A, B, C i D. W górnej części rysunku definicja grup, reguł transformacji i list podstawień. Wypełnionym kolorem oznaczone są kule replikujące. W dolnej części wynikowy zbiór kul po podstawieniach, zaczynając od grupy D. Reguły umożliwiają swobodne łączenie różnych elementów ze sobą i ich zwielokrotnianie. Ta technika jest szczególnie przydatna do opisu organizmów o segmentowej budowie. Opisywany system umożliwia opisanie obiektów o dowolnej topologii (nie tylko struktur drzewiastych). Można znaleźć pewną analogię pomiędzy podstawianiem pod jeden element większej grupy elementów a rzeczywistymi procesami zachodzącymi podczas rozwoju organizmów wielokomórkowych. W biologii rozwoju funkcjonuje pojęcie mapy przeznaczenia komórek (Twyman [3]). Rozwój każdego organizmu wielokomórkowego rozpoczyna się od pojedynczej komórki (zapłodnionego jaja), która dzieli się na dwie komórki potomne. Następnie każda z komórek może podzielić się dalej na dwie lub obumrzeć. Po każdym podziale zachodzą różnorodne mechanizmy 6
7 IV Ogólnopolska Konferencja Inżynierii Gier Komputerowych, Siedlce 2007 różnicowania się, które determinują późniejszy los komórek. Cały rozwój można opisać binarnym drzewem podziałów, a podstawienie rozumieć jako zastąpienie jednej komórki grupą komórek potomnych. Zróżnicowane do tego samego typu komórki w podobnym otoczeniu są zaczątkiem podobnych struktur, stąd w organizmach żywych mogą pojawiać się samopodobne struktury. Ta praca nie skupia się jednak na wiernej symulacji mechanizmów zachodzących w biologii. System wierniej modelujący podziały komórek zaimplementowano w programie GenEdit [15]. Algorytm tworzenia wynikowego zbioru kul W dla zadanych grup i list podstawień: 1. Wyzerowanie wynikowego zbioru kul W. 2. Dla wszystkich grup bazowych G ustawienie wskaźnika w[g] na Wywołanie rekurencyjnej procedury Podstawienie dla grupy startowej z początkową transformacją (np. identyczności): Podstawienie ( G = Grupa, T = Transformacja ): 3.1.Dla każdej kuli k w G: a) jeśli k jest kulą strukturalną, dodanie przetransformowanej przez T kuli k do wynikowego zbioru kul W, przejście do następnej kuli w k (pominięcie reszty kroków w tej pętli), b) jeśli k jest kulą replikującą, a w[g] jest mniejszy niż długość listy podstawień przypisanej do k: odczytanie parametrów podstawienia z elementu w[g] listy podstawień przypisanej do k: indeksu podstawianej grupy H i początkowej kuli H 0 podstawianej pod kulę k, oraz obliczenie transformacji T (zgodnie z bieżącym układem współrzędnych dla kuli k określonym przez T, rotacją, odbiciem, losowymi odchyleniami oraz promieniami kul H 0 i k), inkrementowanie wskaźnika w[g], Podstawienie( H, T ) (wywołanie rekurencyjne), dekrementowanie wskaźnika w[g]. Na przykładowych rysunkach (rys. 6 i 4) zastosowano skróconą notację opisującą listy podstawień. Przykładowa lista: A 1 : (( )*2 B 0 )*2 Rozwija się do: A 1 : B 0 B 0 Nie należy mylić przedstawionej notacji z notacją reguł podstawień w dialektach L-systemów, użyta strzałka w prawo oznacza krawedź skierowaną w liście (w konwencji używanej w L-systemach strzałką oznacza się przypisanie w opisie reguł produkcji). Główna zasada podstawiania wynikająca z opisanego wyżej algorytmu jest następująca: podstawienie struktury potomnej zamiast kuli replikującej z grupy G skraca listę podstawień dla kul z grupy G mogących się znów 7
8 Tomasz Dobrowolski Proceduralne modelowanie stworów w Suboceanic pojawić w tejże strukturze potomnej o jeden element z lewej strony. Przykładowo w dolnej części rysunku nr 4 przedstawione jest rozwinięcie reguł zaczynając od grupy A, początkowe listy podstawień dla A 1 i A 2 rozwijają się następująco: A 1 : B 0 B 0 A 2 : ø Natomiast po dostawieniu kolejnego segmentu składającego się z grupy A przez podstawienie pod kulę A 1 listy podstawień dla A 1 i A 2 w całej strukturze potomnej będą następujące: A 1 : B 0 B 0 A 2 : ø Skracanie list z lewej strony jest równoznaczne z przesuwaniem wskaźnika w prawo (w algorytmie oznaczonego jako w[g]). Dzięki zasadzie skracania list podstawień opisany algorytm dla skończonych list zatrzyma się po skończonej liczbie kroków, a efekt działania reguł jest łatwy do przewidzenia przez użytkownika podczas modelowania (rys. 4). Liczba kroków wykonania algorytmu jest wprost proporcjonalna do liczby kul w wynikowym zbiorze. Warto podkreślić, że wykonywanie kolejnych kroków przedstawionego algorytmu podstawiania nie modeluje kolejnych faz rozwoju organizmu. Wynikowy zbiór kul można interpretować tylko jako pewien określony etap rozwoju, a do opisu innych etapów rozwojowych należy zmodyfikować listy podstawiania. Jeśli zadane listy opisują kształt osobnika dorosłego, w celu uzyskania wcześniejszych etapów rozwoju można pousuwać wybrane elementy z tych list. W przykładowym robaku (rys. 4) można pousuwać podstawienia segmentów nóżek w liście podstawień: W liście C 1 : ( )*3 rozwijającej się do C 1 : usuwamy dwa elementy i zostaje C 1 :. Po wyliczeniu wynikowego zbioru kul podanym algorytmem dla zmodyfikowanej listy otrzymany robak będzie miał wszystkie nóżki krótsze. W podobny sposób, kontrolując długość list podstawień (niekoniecznie usuwając elementy z końca) możemy sterować dynamiką rozwoju poszczególnych segmentów niezależnie. Przedstawiona notacja opisu list podstawień jest pewną algebrą z działaniami dodawania elementu do listy (działanie to nie jest przemienne) i mnożenia elementu przez liczbę naturalną (wielokrotnego dodawania). Algebraiczny opis wzrostu list może korzystać z parametrów (zmiennych w czasie), przykładowo: A 1 : (( )*s B 0 )*t 8
9 IV Ogólnopolska Konferencja Inżynierii Gier Komputerowych, Siedlce 2007 Rysunek 5: Kolejne etapy rozwoju drapieżnej rybki "słodkowodnej". Warto zwrócić uwagę, że rybka rozrasta się również od środka (rozsuwając ogon). Skóra wyznaczona algorytmem opisanym w punkcie 2.2. W Suboceanic do opisu wzrostu każdej z list podstawień zostały zaimplementowane na stałe dwa szablony list podstawień (gdzie A x, B y, C z to dowolne kule z dowolnych grup bazowych): A x : (( B y )*t C z )*t (opcja z dwoma podstawieniami), A x : ( B y )*t (opcja z jednym podstawieniem). Zmiana parametru t w czasie może być wykorzystana do utworzenia animacji wzrostu stwora w czasie (przykład na rys. 5). Do opisu wzrostu list podstawień można wykorzystać również systemy przepisywania łańcuchów (L-systemy [2]), definiując dla każdej listy osobny zbiór reguł produkcji lub wspólny korzystając z wielu zmiennych pomocnicznych (aby odróżnić notację strzałek jako krawędzi w listach i strzałek jako przypisania w regułach produkcji zostały zastowane podwójne strzałki dla tych drugich). Mogłoby to być ciekawe połączenie opisanej techniki podstawiania (zorientowanej na prostą wizualną edycję) z potężnym narzędziem do tekstowego opisu reguł opisujących rozwój list w czasie (0Lsystemy, L-systemy stochastyczne i kontekstowe). 9
10 Tomasz Dobrowolski Proceduralne modelowanie stworów w Suboceanic Przykładowe reguły produkcji L-systemów: a:= ( ) (końcowa wartość symbolu a) b:= ( B 1 ) a aa (reguła produkcji dla a) b bab A 1 : b (aksjomat początkowy dla A 1 ) Powyższe reguły rozwijają się następująco: A 1 : b := B 1 A 1 : bab := B 1 B 1 A 1 : babaabab := B 1 B 1 B 1 B 1 A 3 A 2 A 1 A 2 : ( )*3 A 3 : ( )*3 Rysunek 6: Przykładowy system podstawień składający się z jednej grupy kul. Wypełnionym kolorem oznaczone są kule replikujące z zaznaczonymi regułami transformacji z dopuszczalnymi losowymi odchyleniami o pewien kąt. Po lewej opis grup bazowych i list podstawień. Po prawej przykładowy wynikowy zbiór kul po podstawieniach. Reguły transformacji rotacji i odbić symetrycznych w Suboceanic są przypisane do kul replikujących (rys. 4 i 6). Do modelowania nieregularnych glonów opis przewiduje również losowania lekkich odchyleń w rotacji lub losowanie odbicia, efekt działania stochastycznych reguł transformacji przedstawiony jest na rysunku nr 6. 10
11 IV Ogólnopolska Konferencja Inżynierii Gier Komputerowych, Siedlce Algorytm wyznaczania skóry zbioru kul w R 3 W poprzednim podpunkcie został opisany algorytm generowania bardziej skomplikowanego zbioru kul na podstawie kilku prostszych zbiorów bazowych i reguł podstawiania. Na wejście algorytmu wyznaczania skóry można podać dowolny zbiór kul, nie tylko wynikowy zbiór algorytmu podstawiania. Ciekawym zastosowaniem algorytmu wyznaczania skóry może być wyświetlanie wygładzonych powierzchni van der Waalsa molekuł chemicznych ([9]). Algorytm wyliczania skóry składa się z następujących podstawowych kroków: 1. Wyznaczenie komórek dla każdej kuli w zadanym zbiorze będących częścią wspolną danej kuli i komórki sferycznego diagramu Voronoi (znanego także jako power diagram [18]). Takie komórki są zawsze bryłami wypukłymi. 2. Połączenie sąsiadujących komórek ze sobą i usunięcie wspólnych ścian w celu uzyskania ciągłej powierzchni opływającej wszystkie kule. Całkowite usunięcie komórek wewnątrz struktury, które mają wszystkie ściany wspólne z komórkami sąsiednimi. 3. Wygładzenie uzyskanej powierzchni (zwiększając stopień ciągłości w miejscach połączeń pomiędzy komórkami). Algorytm podatny jest na wiele optymalizacji i modyfikacji, szczególnie w kwestii użytej reprezentacji do opisu brzegu skóry i wyboru algorytmów pomocniczych rozwiązujących poszczególne kroki. W Suboceanic użyta została reprezentacja z nieregularnej siatki trójkątów o gęstości adaptacyjnie dobieranej w zależności od rozmiaru kuli generującej wygładzony fragment skóry. Algorytm w sprytny sposób rozwiązuje problem utworzenia siatki trójkątów ze zbioru punktów definiującego komórkę, wyznaczając wypukłą otoczkę algorytmem quick-hull [20]. Szczegółowy algorytm wyznaczania gładkiej skóry opływającej zbiór kul w przestrzeni R 3 : 1. Dla każdej kuli k w zadanym zbiorze wejściowym: 1.1.Znalezienie wszystkich kul q przecinające się z k (możliwe optymalizacje, np. drzewa podziału przestrzeni) i wyznaczenie O, zbioru okręgów będących częścią wspólną powierzchni przecinających się kul k i q. 11
12 Tomasz Dobrowolski Proceduralne modelowanie stworów w Suboceanic Krok 1.1, 1.2, 1.3, 1.4 Wyznaczenie punktów na obrzeżach komórek. Krok 1.6 Usunięcie wspólnych ścianek w siatce pomiędzy komórkami. Krok 1.5 Wyznaczenie siatki wypukłych otoczek. Krok 1.7, 2 i 3 Wygładzenie siatki komórek, połączenie i wyznaczenie normalnych. Rysunek 7: Kolejne etapy działania algorytmu wyznaczania gładkiej skóry dla zbioru kul w R 2 z oznaczonymi krokami algorytmu zgodnymi z opisem szczegółowego algorytmu w R 3, przedstawionym poniżej. 1.2.Wyzerowanie zbioru punktów opisujących otoczkę komórki. 1.3.Dla każdego okręgu O q ze zbioru O: a) wyznaczenie ilości punktów, które będą reprezentować dany okrąg na podstawie promienia k i promienia kuli q, która przecinając k tworzy dany okrąg (tak, aby były rozmieszczone tak samo gęsto jak punkty na powierzchni kuli generowane w podpunkcie 1.4), b) wyznaczenie wszystkich odcinków będących częścią wspólną koła opisanego na okręgu O q i kół opisanych na pozostałych okręgach ze zbioru O, c) przycięcie wszystkich wyznaczonych w poprzednim kroku odcinków płaszczyznami opisanymi na pozostałych okręgach z O, uwaga! odcinek może zostać całkowicie odcięty (oba jego końce mogą znajdować się po zewnętrznej stronie jednej z płaszczyzn), d) jeśli wszystkie odcinki zostały odcięte pominięcie dalszych kroków w tym podpunkcie, e) wygenerowanie dodatkowych punktów na okręgu pomiędzy 12
13 IV Ogólnopolska Konferencja Inżynierii Gier Komputerowych, Siedlce 2007 końcami przyciętych odcinków w taki sposób, że w późniejszej iteracji punktu 1 dla kuli q zostanie wyznaczony ten sam zbiór punktów, dzięki czemu komórki obliczone dla k i q będą do siebie pasować (podczas generowania dodatkowych punktów na O q można je równomiernie rozkładać pomiędzy wspomnianymi końcami przyciętych odcinków), f) dodanie przyciętych końców odcinków i wygenerowanych dodatkowych punktów na okręgu do zbioru opisującego otoczkę komórki z pominięciem punktów zdublowanych (leżących na innym okręgu z O). 1.4.Dodanie do zbioru opisującego otoczkę komórki odpowiedniej liczby punktów równomiernie rozmieszczonych na powierzchni kuli k (w zależności od poziomu szczegółowości z jaką chcemy odwzorować skórę modelu, algorytm równomiernego rozmieszczania opisany jest w [13] oraz w pakiecie EvalDraw w pliku goldball2.kc w implementacji Kena Silvermana [14]) odrzucając te punkty, które leżą po zewnętrznej stronie płaszczyzn opisanych na okręgach ze zbioru O. 1.5.Wyznaczenie siatki trójkątów wypukłej otoczki dla zbudowanego w poprzednim podpunkcie zbioru punktów (przykładowo używając algorytmu quick-hull [20]). 1.6.Usunięcie ścian leżących w całości na jednym z okręgów ze zbioru O (można to efektywnie sprawdzić odpowiednio zapamiętując numery okręgów współdzielących każdy punkt dodany w podpunkcie 1.3 i usuwać ściany, dla których wszystkie punkty siatki leżą na tym samym okręgu). 1.7.Wygładzenie siatki komórki przez uśrednianie pozycji punktów dodanych w podpunkcie 1.4 połączonych krawędziami siatki trójkątnej (bardziej zaawansowane wygładzanie może uwzględniać normalną do powierzchni na konturze okręgów z O i zapewniać ciągłość pierwszej pochodnej po wynikowej powierzchni w punktach styku komórek). 2. Połączenie wygładzonych siatek komórek ze sobą przez odnalezienie pasujących do siebie punktów na obrzeżach siatki sąsiadujących ze sobą komórek (algorytm został tak skonstruowany, że komórki do siebie idealnie pasują, bez większych problemów z precyzją liczb zmiennoprzecinkowych, ponieważ punkty na obrzeżach komórek wyznaczane są zawsze tymi samymi metodami dla takich samych parametrów wejściowych). 3. Wyliczenie przybliżonych normalnych do powierzchni w każdym punkcie połączonej siatki i opcjonalne dodatkowe wygładzenie całej połączonej siatki. 13
14 Tomasz Dobrowolski Proceduralne modelowanie stworów w Suboceanic Rysunek 8: Efekt działania algorytmu wyznaczania gładkiej skóry metaloorganicznego stwora rozwijającego się w ostatniej scenie Suboceanic, zgodnie z fabułą intra: pierwszego przedstawiciela nowego lepszego gatunku. Warto zwrócić uwagę na nietrywialną topologię powierzchni wynikowej siatki. Krótka analiza oczekiwanego czasu wykonania algorytmu: Przy rzadkim rozmieszczeniu kul i założeniu stałego ograniczenia na liczbę sąsiednich komórek dla każdej komórki w zbiorze wejściowym oraz stałej liczby wierzchołków w wynikowej siatce generowanej przez każdą komórkę przedstawiony algorytm ma złożoność oczekiwaną nie przekraczającą złożoności problemu wyszukania wszystkich par przecinających się ze sobą kul (krok 1.1 algorytmu). Naiwna implementacja ma złożoność O(N 2 ). Przy zastosowaniu odpowiednich optymalizacji można uzyskać oczekiwaną złożoność O(N*lg(N)), gdzie N jest liczbą kul w zbiorze wejściowym. Przy bardzo gęstym rozmieszczeniu kul, gdzie wszystkie nachodzą na siebie, problem sprowadza się do problemu wyszukania pełnego power diagramu Voronoi ([10]) i proponowany algorytm może zadziałać nawet w O(N 4 ) krokach (przycinanie odcinków w kroku 1.3c). Jednak w rozważanym zastosowaniu rozmieszczenie kul jest rzadkie, a kule tylko nieznacznie nachodzą na siebie, w takim przypadku algorytm sprawdza się dobrze i działa bardzo wydajnie, umożliwiając generowanie siatek obiektów składających się z kilkuset kul w czasie rzeczywistym (więcej niż 30 razy na sekundę), na komputerze z procesorem klasy P4 2Ghz. 14
15 IV Ogólnopolska Konferencja Inżynierii Gier Komputerowych, Siedlce Podsumowanie W pracy przedstawiono oryginalną, autorską metodę generowania proceduralnych stworów zastosowaną w Suboceanic. Zastosowanie powyższej metody zmniejszyło czas przygotowania scen. Stworzenie wszystkich modeli w intrze (część z nich była przedstawiona w pracy) zajęło łącznie nie dłużej niż jeden dzień, oraz pozwoliło zmieścić się w limicie 64 kilobajtów na plik wykonywalny i dane. Samo intro oprócz modeli proceduralnych stworów zawierało również procedury generujące proceduralne skały (algorytm wykorzystujący autorskie koncepcje opisane w publikacji [8]), kilkanaście wysokiej jakości proceduralnych tekstur, ponad 3.5 minuty syntezowanej w czasie rzeczywistym proceduralnej muzyki (również opisanej regułami podstawień sekwencji melodii i ich transpozycji), a także kod systemu renderingu, syntezatora dźwięku i wielu innych niezbędnych komponentów. Same modele stworów i roślin łącznie zajmowały w postaci nieskompresowanej kilobajtów. Przykładowy model drapieżnej rybki zawierający opis pozycji i promieni kul bazowych wraz z opisem reguł podstawień zajał w postaci nieskrompresowanej niecałe 2 kilobajty (z odpowiednio skróconym formatem liczb rzeczywistych). Algorytmy służące do proceduralnego generowania stworów omówione w pracy wykraczają poza jedno zastosowanie. Można pokusić się o biologiczną interpretację przedstawionych koncepcji list podstawień, a także dodać symulację interakcji pomiędzy kulami (program GenEdit dostępny na stronie [15]). Dodać symulację fizyki poruszania dla wygenerowanego organizmu lub model funkcji życiowych generowanych stworów. Wykorzystać system do opisu mutujących, rosnących od embrionu lub regenerujących kończyny potworów w grach komputerowych. Uproszczony model rosnących stworów z fizyką implementuje gra The Green Pill dostępna na stronie [15]. Również algorytm wyznaczania gładkiej skóry opływającej zbiór kul wydaje się mieć znacznie więcej zastosowań: wspomniane wyznaczanie powierzchni molekuł chemicznych oraz jako algorytm pomocniczy w bardziej rozbudowanych narzędziach do modelowania obiektów 3D. Bibliografia [1] Ebert D.S., Musgrave F.K., Peachey D., Perlin K., Worley S., Texturing and Modeling: A Procedural Approach, Morgan Kaufmann, USA 2003, 1998, 1994 [2] Prusinkiewicz P., Lindenmayer A., The Algorithmic Beauty of Plants, Springer- Verlag, 1996, 1990 [3] Twyman R. M., Instant Notes. Developmental Biology, BIOS, 2001 [4] Carroll S. B., Endless Forms Most Beautiful: The New Science of Evo Devo, W.W. Norton, New York
16 Tomasz Dobrowolski Proceduralne modelowanie stworów w Suboceanic [5] Prusinkiewicz P., Smith C., Simulation Modeling of Growing Tissues, In Proceedings of the 4th International Workshop on Functional-Structural Plant Models, pp. 365 [6] Prusinkiewicz P., Hammel M., Mjolsness E., Animation of Plant Development, From Proceedings of ACM SIGGRAPH 1993 [7] Fowler D.R., Prusinkiewicz P., Battjes J., A Collision-based Model of Spiral Phyllotaxis, Proceedings of SIGGRAPH '92: Computer Graphics 26 (2), pp [8] Dobrowolski T., Generowanie proceduralnych jaskiń w Voxlap Cave Demo, Zeszyt naukowy I Ogólnopolskiej Konferencji Twórców Gier Komputerowych, 2004, str [9] Cheng H.L., Shi X.. Quality Mesh Generation for Molecular Skin Surfaces Using Restricted Union of Balls. IEEE Visualization 2005 [10] PDI. 'Shrek': The story behind the screen. In Siggraph Course Notes CD-ROM, Course #19, pages ACM-Press, 2001 [11] Wright W., The Future Of Content, keynote on Spore & procedural generation at the Game Developers Conference 2005, [12] The Sentinel, [13] Evenly distributed points on sphere, [14] Ken Silverman's homepage: EvalDraw, [15] Tom Dobrowolski's programming: Suboceanic, GenEdit.zip, The Green Pill, [16] Neyret F., Cani M.P., Pattern-Based Texturing Revisited, Siggraph'99. Los Angeles, USA, August 1999 [17] Tarini M., PolyCubeMaps, [18] Aurenhammer F., Power diagrams: properties, algorithms, and applications, SIAM Journal on Computing, 16(1):78-96, 1987 [19] Demoscene, [20] Preparata F.P., Shamos M.I., Computational Geometry: an Introduction, Springer-Verlag, New York, NY, 1985 Procedural Modeling of Creatures in Suboceanic Abstract Suboceanic is a computer program that as a whole (data and executable) has length of 50 kilobytes. This is a demoscene intro that was presented during Assembly The program is generating in real-time three-dimensional animation with synthesized music playing in background. This paper describes in full detail fast and practical method used in Suboceanic for generating procedural monsters and plants. The method is based on two algorithms: generation of complex set of spheres from stochastic substitution rules and conversion of any set of spheres to a smooth surface called skin. The method can be used to model successive steps of growing virtual organisms with an arbitrary topology. The method can be applied to computer games featuring growing monsters and to optimize the cost of modeling 3D objects during game development. Another application are programs with data size limit, like demoscene intros or massive multi-player games. 16
Podstawy OpenCL część 2
Podstawy OpenCL część 2 1. Napisz program dokonujący mnożenia dwóch macierzy w wersji sekwencyjnej oraz OpenCL. Porównaj czasy działania obu wersji dla różnych wielkości macierzy, np. 16 16, 128 128, 1024
Bardziej szczegółowoZadania domowe. Ćwiczenie 2. Rysowanie obiektów 2-D przy pomocy tworów pierwotnych biblioteki graficznej OpenGL
Zadania domowe Ćwiczenie 2 Rysowanie obiektów 2-D przy pomocy tworów pierwotnych biblioteki graficznej OpenGL Zadanie 2.1 Fraktal plazmowy (Plasma fractal) Kwadrat należy pokryć prostokątną siatką 2 n
Bardziej szczegółowoIRONCAD. TriBall IRONCAD Narzędzie pozycjonujące
IRONCAD IRONCAD 2016 TriBall o Narzędzie pozycjonujące Spis treści 1. Narzędzie TriBall... 2 2. Aktywacja narzędzia TriBall... 2 3. Specyfika narzędzia TriBall... 4 3.1 Kula centralna... 4 3.2 Kule wewnętrzne...
Bardziej szczegółowoPodstawy 3D Studio MAX
Podstawy 3D Studio MAX 7 grudnia 2001 roku 1 Charakterystyka programu 3D Studio MAX jest zintegrowanym środowiskiem modelowania i animacji obiektów trójwymiarowych. Doświadczonemu użytkownikowi pozwala
Bardziej szczegółowoĆwiczenie nr 8 - Modyfikacje części, tworzenie brył złożonych
Ćwiczenie nr 8 - Modyfikacje części, tworzenie brył złożonych Wprowadzenie Utworzone elementy bryłowe należy traktować jako wstępnie wykonane elementy, które dopiero po dalszej obróbce będą gotowymi częściami
Bardziej szczegółowoZ O G R ANIC ZENIA M I
Archiwum Fotogrametrii, Kartografii i Teledetekcji, vol. 15, Kraków 2004 63 A U T O R SK A M ETO D A T W O R ZENIA N IE R E G U L A R N E J SIATKI T R Ó JK Ą T Ó W PRO W A D Z Ą C A DO TRIA N G U L A C
Bardziej szczegółowoWymagania edukacyjne na poszczególne oceny klasa VIII
Wymagania edukacyjne na poszczególne oceny klasa VIII Ocena dopuszczająca: Potęgi i pierwiastki. Uczeń: Oblicza wartości potęg o wykładniku całkowitym dodatnim i całkowitej podstawie Stosuje reguły mnożenia
Bardziej szczegółowoSCENARIUSZ LEKCJI. Dzielenie wielomianów z wykorzystaniem schematu Hornera
Autorzy scenariusza: SCENARIUSZ LEKCJI OPRACOWANY W RAMACH PROJEKTU: INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA. PROGRAM NAUCZANIA INFORMATYKI Z ELEMENTAMI PRZEDMIOTÓW MATEMATYCZNO-PRZYRODNICZYCH
Bardziej szczegółowoGrafika Komputerowa Materiały Laboratoryjne
Grafika Komputerowa Materiały Laboratoryjne Laboratorium 6 Processing c.d. Wstęp Laboratorium 6 poszerza zagadnienie generowania i przetwarzania obrazów z wykorzystaniem języka Processing 2, dedykowanego
Bardziej szczegółowoXQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery
http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod
Bardziej szczegółowoKRYTERIA OCEN Z MATEMATYKI DLA UCZNIÓW KL. II GIMNAZJUM
KRYTERIA OCEN Z MATEMATYKI DLA UCZNIÓW KL. II GIMNAZJUM POTĘGI I PIERWIASTKI - pojęcie potęgi o wykładniku naturalnym; - wzór na mnożenie i dzielenie potęg o tych samych podstawach; - wzór na potęgowanie
Bardziej szczegółowoRENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski
RENDERING W CZASIE RZECZYWISTYM Michał Radziszewski Plan wykładu Modelowanie i teksturowanie proceduralne wprowadzenie Funkcje szumu Szum wielowymiarowy Technika simplex noise Funkcje szumu na GPU, funkcja
Bardziej szczegółowoTworzenie i modyfikacja modelu geologicznego
Tworzenie i modyfikacja modelu geologicznego Program: Stratygrafia 3D Plik powiązany: Demo_manual_39.gsg Poradnik Inżyniera Nr 39 Aktualizacja: 12/2018 Wprowadzenie Celem niniejszego Przewodnika Inżyniera
Bardziej szczegółowoWYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY TRZECIEJ NA ROK SZKOLNY 2011/2012 DO PROGRAMU MATEMATYKA Z PLUSEM
WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY TRZECIEJ NA ROK SZKOLNY 2011/2012 DO PROGRAMU MATEMATYKA Z PLUSEM LICZBY, WYRAŻENIA ALGEBRAICZNE umie obliczyć potęgę o wykładniku naturalnym; umie obliczyć
Bardziej szczegółowoWYKŁAD 3 WYPEŁNIANIE OBSZARÓW. Plan wykładu: 1. Wypełnianie wieloboku
WYKŁ 3 WYPŁNINI OSZRÓW. Wypełnianie wieloboku Zasada parzystości: Prosta, która nie przechodzi przez wierzchołek przecina wielobok parzystą ilość razy. Plan wykładu: Wypełnianie wieloboku Wypełnianie konturu
Bardziej szczegółowoMatematyka Wymagania edukacyjne dla uczniów klas VIII Rok szkolny 2018/2019. Dział Ocena Umiejętności Potęgi i pierwiastki. Na ocenę dopuszczającą
Matematyka Wymagania edukacyjne dla uczniów klas VIII Rok szkolny 2018/2019 Dział Ocena Umiejętności Potęgi i pierwiastki Uczeń: - oblicza wartości potęg o wykładniku całkowitym dodatnim i całkowitej podstawie
Bardziej szczegółowoZESTAWIENIE TEMATÓW Z MATEMATYKI Z PLUSEM DLA KLASY VIII Z WYMAGANIAMI PODSTAWY PROGRAMOWEJ WYMAGANIA SZCZEGÓŁOWE Z PODSTAWY PROGRAMOWEJ
ZESTAWIENIE TEMATÓW Z MATEMATYKI Z PLUSEM DLA KLASY VIII Z WYMAGANIAMI PODSTAWY PROGRAMOWEJ TEMAT LICZBA GODZIN LEKCYJNYCH WYMAGANIA SZCZEGÓŁOWE Z PODSTAWY PROGRAMOWEJ UWAGI 1. LICZBY I DZIAŁANIA 14 h
Bardziej szczegółowoWymagania edukacyjne z matematyki w klasie VIII.
Część Pierwsza Dział programowy: Potęgi i pierwiastki oblicza wartości potęg o wykładniku całkowitym dodatnim i całkowitej podstawie oblicza wartość dwuargumentowego wyrażenia arytmetycznego zawierającego
Bardziej szczegółowoWymagania edukacyjne na poszczególne stopnie szkolne klasa III
Wymagania edukacyjne na poszczególne stopnie szkolne klasa III Rozdział 1. Bryły - wie, czym jest graniastosłup, graniastosłup prosty, graniastosłup prawidłowy - wie, czym jest ostrosłup, ostrosłup prosty,
Bardziej szczegółowoWYMAGANIA EDUKACUJNE Z MATEMATYKI Z PLUSEM DLA KLASY VIII WYMAGANIA SZCZEGÓŁOWE Z PODSTAWY PROGRAMOWEJ TEMAT
WYMAGANIA EDUKACUJNE Z MATEMATYKI Z PLUSEM DLA KLASY VIII TEMAT WYMAGANIA SZCZEGÓŁOWE Z PODSTAWY PROGRAMOWEJ 1. LICZBY I DZIAŁANIA System rzymski. Powtórzenie i utrwalenie umiejętności z zakresu podstawy
Bardziej szczegółowoRys 3.2. 17 Odtwarzacz filmu. Możemy także skorzystać z programów służących do odtwarzania filmów np. Windows Media Player.
Powoduje to odtworzenie filmu : Rys 3.2. 17 Odtwarzacz filmu Możemy także skorzystać z programów służących do odtwarzania filmów np. Windows Media Player. 3.3 Ruch kamery Tematem tego ćwiczenia będzie
Bardziej szczegółowoOpis postępowania przy eksportowaniu geometrii z systemu Unigraphics NX do pakietu PANUKL (ver. A)
1 Opis postępowania przy eksportowaniu geometrii z systemu Unigraphics NX do pakietu PANUKL (ver. A) Przedstawiony poniżej schemat przygotowania geometrii w systemie Unigraphics NX na potrzeby programu
Bardziej szczegółowoTematy: zadania tematyczne
Tematy: zadania tematyczne 1. Ciągi liczbowe zadania typu udowodnij 1) Udowodnij, Ŝe jeŝeli liczby,, tworzą ciąg arytmetyczny ), to liczby,, takŝe tworzą ciąg arytmetyczny. 2) Ciąg jest ciągiem geometrycznym.
Bardziej szczegółowoWymagania edukacyjne niezbędne do uzyskania poszczególnych ocen śródrocznych ocen klasyfikacyjnych z matematyki klasa 8
Wymagania edukacyjne niezbędne do uzyskania poszczególnych ocen śródrocznych ocen klasyfikacyjnych z matematyki klasa 8 Stopień Potęgi i pierwiastki oblicza wartości potęg o wykładniku całkowitym dodatnim
Bardziej szczegółowoWymagania edukacyjne z matematyki - klasa III (poziom rozszerzony) wg programu nauczania Matematyka Prosto do matury
STEREOMETRIA Wymagania edukacyjne z matematyki - klasa III (poziom rozszerzony) wskazać płaszczyzny równoległe i prostopadłe do danej płaszczyzny wskazać proste równoległe i prostopadłe do danej płaszczyzny
Bardziej szczegółowoPDM 3 zakres podstawowy i rozszerzony PSO
PDM 3 zakres podstawowy i rozszerzony PSO STEREOMETRIA wskazać płaszczyzny równoległe i prostopadłe do danej płaszczyzny wskazać proste równoległe i prostopadłe do danej płaszczyzny odróżnić proste równoległe
Bardziej szczegółowoMatematyka 3 wymagania edukacyjne
Matematyka 3 wymagania edukacyjne Zakres podstawowy 1 POZIOMY WYMAGAŃ Wyróżnione zostały następujące wymagania programowe: konieczne (K), podstawowe (P), rozszerzające (R), dopełniające (D) i wykraczające
Bardziej szczegółowoKatalog wymagań programowych na poszczególne stopnie szkolne. Matematyka. Poznać, zrozumieć
Katalog wymagań programowych na poszczególne stopnie szkolne Matematyka. Poznać, zrozumieć Kształcenie w zakresie podstawowym. Klasa 3 Poniżej podajemy umiejętności, jakie powinien zdobyć uczeń z każdego
Bardziej szczegółowoDodawanie grafiki i obiektów
Dodawanie grafiki i obiektów Word nie jest edytorem obiektów graficznych, ale oferuje kilka opcji, dzięki którym można dokonywać niewielkich zmian w rysunku. W Wordzie możesz zmieniać rozmiar obiektu graficznego,
Bardziej szczegółowoWprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka
Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka 1. Kompilacja aplikacji konsolowych w środowisku programistycznym Microsoft Visual Basic. Odszukaj w menu startowym systemu
Bardziej szczegółowoWIZUALIZACJA I STEROWANIE ROBOTEM
Maciej Wochal, Opiekun koła: Dr inż. Dawid Cekus Politechnika Częstochowska, Wydział Inżynierii Mechanicznej i Informatyki, Instytut Mechaniki i Podstaw Konstrukcji Maszyn, Koło Naukowe Komputerowego Projektowania
Bardziej szczegółowoObrazy rekurencyjne. Zastosowanie rekurencji w algorytmice. AUTOR: Martin Śniegoń
Obrazy rekurencyjne Zastosowanie rekurencji w algorytmice AUTOR: Martin Śniegoń Zdolność procedury/funkcji do wywoływania samej siebie Podstawowa i jedna z najważniejszych technik programistycznych Umożliwia
Bardziej szczegółowoI Ogólnopolska Konferencja Twórców Gier Komputerowych Od koncepcji do produktu. Generating procedural caves in Voxlap Cave Demo
I Ogólnopolska Konferencja Twórców Gier Komputerowych Od koncepcji do produktu Generating procedural caves in Voxlap Cave Demo Generowanie proceduralnych jaskiń w Voxlap Cave Demo Tomasz Dobrowolski Abstract
Bardziej szczegółowoOsiadanie kołowego fundamentu zbiornika
Przewodnik Inżyniera Nr 22 Aktualizacja: 01/2017 Osiadanie kołowego fundamentu zbiornika Program: MES Plik powiązany: Demo_manual_22.gmk Celem przedmiotowego przewodnika jest przedstawienie analizy osiadania
Bardziej szczegółowo- parametry geometryczne badanego związku: współrzędne i typy atomów, ich masy, ładunki, prędkości początkowe itp. (w NAMD plik.
Avogadro Tworzenie i manipulacja modelami związków chemicznych. W symulacjach dynamiki molekularnej kluczowych elementem jest przygotowanie układu do symulacji tzn. stworzyć pliki wejściowe zawierające
Bardziej szczegółowoTworzenie nowego rysunku Bezpośrednio po uruchomieniu programu zostanie otwarte okno kreatora Nowego Rysunku.
1 Spis treści Ćwiczenie 1...3 Tworzenie nowego rysunku...3 Ustawienia Siatki i Skoku...4 Tworzenie rysunku płaskiego...5 Tworzenie modeli 3D...6 Zmiana Układu Współrzędnych...7 Tworzenie rysunku płaskiego...8
Bardziej szczegółowoGrafika Komputerowa Wykład 4. Synteza grafiki 3D. mgr inż. Michał Chwesiuk 1/30
Wykład 4 mgr inż. 1/30 Synteza grafiki polega na stworzeniu obrazu w oparciu o jego opis. Synteza obrazu w grafice komputerowej polega na wykorzystaniu algorytmów komputerowych do uzyskania obrazu cyfrowego
Bardziej szczegółowoWymagania edukacyjne z matematyki w klasie III gimnazjum
Wymagania edukacyjne z matematyki w klasie III gimnazjum - nie potrafi konstrukcyjnie podzielić odcinka - nie potrafi konstruować figur jednokładnych - nie zna pojęcia skali - nie rozpoznaje figur jednokładnych
Bardziej szczegółowoZad. 6: Sterowanie robotem mobilnym
Zad. 6: Sterowanie robotem mobilnym 1 Cel ćwiczenia Utrwalenie umiejętności modelowania kluczowych dla danego problemu pojęć. Tworzenie diagramu klas, czynności oraz przypadków użycia. Wykorzystanie dziedziczenia
Bardziej szczegółowostr 1 WYMAGANIA EDUKACYJNE ( ) - matematyka - poziom podstawowy Dariusz Drabczyk
str 1 WYMAGANIA EDUKACYJNE (2017-2018) - matematyka - poziom podstawowy Dariusz Drabczyk Klasa 3e: wpisy oznaczone jako: (T) TRYGONOMETRIA, (PII) PLANIMETRIA II, (RP) RACHUNEK PRAWDOPODOBIEŃSTWA, (ST)
Bardziej szczegółowoAutodesk 3D Studio MAX Teksturowanie modeli 3D
Autodesk 3D Studio MAX Teksturowanie modeli 3D dr inż. Andrzej Czajkowski Instyt Sterowania i Systemów Informatycznych Wydział Informatyki, Elektrotechniki i Automatyki 25 kwietnia 2017 1 / 20 Plan Wykładu
Bardziej szczegółowoZad. 3: Układ równań liniowych
1 Cel ćwiczenia Zad. 3: Układ równań liniowych Wykształcenie umiejętności modelowania kluczowych dla danego problemu pojęć. Definiowanie właściwego interfejsu klasy. Zwrócenie uwagi na dobór odpowiednich
Bardziej szczegółowoTemat: Konstrukcja prostej przechodzącej przez punkt A i prostopadłej do danej prostej k.
Temat: Konstrukcja prostej przechodzącej przez punkt A i prostopadłej do danej prostej k. Cel: Uczeń, przy użyciu programu GeoGebra, stworzy model konstrukcji prostej prostopadłej i wykorzysta go w zadaniach
Bardziej szczegółowo0. 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
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 obserwatora f) w kierunku od obserwatora 1. Obrót dookoła osi
Bardziej szczegółowoMateriały pomocnicze z programu AutoCAD 2014.
Materiały pomocnicze z programu AutoCAD 2014. Poniżej przedstawiony zostanie przykładowy rysunek wykonany w programie AutoCAD 2014. Po uruchomieniu programu należy otworzyć szablon KKM, w którym znajdują
Bardziej szczegółowoSpacery losowe generowanie realizacji procesu losowego
Spacery losowe generowanie realizacji procesu losowego Michał Krzemiński Streszczenie Omówimy metodę generowania trajektorii spacerów losowych (błądzenia losowego), tj. szczególnych procesów Markowa z
Bardziej szczegółowoWYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY MATEMATYKA KLASA 8 DZIAŁ 1. LICZBY I DZIAŁANIA
WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY MATEMATYKA KLASA 8 DZIAŁ 1. LICZBY I DZIAŁANIA zna znaki używane do zapisu liczb w systemie rzymskim; zna zasady zapisu liczb w systemie rzymskim; umie zapisać
Bardziej szczegółowoWymagania edukacyjne niezbędne do otrzymania poszczególnych śródrocznych i rocznych ocen klasyfikacyjnych z matematyki dla klasy VIII
Wymagania edukacyjne niezbędne do otrzymania poszczególnych śródrocznych i rocznych ocen klasyfikacyjnych z matematyki dla klasy VIII Temat 1. System rzymski. 2. Własności liczb naturalnych. 3. Porównywanie
Bardziej szczegółowoWYMAGANIE EDUKACYJNE Z MATEMATYKI W KLASIE II GIMNAZJUM. dopuszczającą dostateczną dobrą bardzo dobrą celującą
1. Statystyka odczytać informacje z tabeli odczytać informacje z diagramu 2. Mnożenie i dzielenie potęg o tych samych podstawach 3. Mnożenie i dzielenie potęg o tych samych wykładnikach 4. Potęga o wykładniku
Bardziej szczegółowoTworzenie prezentacji w MS PowerPoint
Tworzenie prezentacji w MS PowerPoint Program PowerPoint dostarczany jest w pakiecie Office i daje nam możliwość stworzenia prezentacji oraz uatrakcyjnienia materiału, który chcemy przedstawić. Prezentacje
Bardziej szczegółowoNX CAD. Modelowanie powierzchniowe
NX CAD Modelowanie powierzchniowe Firma GM System Integracja Systemów Inżynierskich Sp. z o.o. została założona w 2001 roku. Zajmujemy się dostarczaniem systemów CAD/CAM/CAE/PDM. Jesteśmy jednym z największych
Bardziej szczegółowoPrzedmiotowe zasady oceniania i wymagania edukacyjne z matematyki dla klasy drugiej gimnazjum
Przedmiotowe zasady oceniania i wymagania edukacyjne z matematyki dla klasy drugiej gimnazjum I. POTĘGI I PIERWIASTKI oblicza wartości potęg o wykładnikach całkowitych liczb różnych od zera zapisuje liczbę
Bardziej szczegółowoZastosowania Robotów Mobilnych
Zastosowania Robotów Mobilnych Temat: Zapoznanie ze środowiskiem Microsoft Robotics Developer Studio na przykładzie prostych problemów nawigacji. 1) Wstęp: Microsoft Robotics Developer Studio jest popularnym
Bardziej szczegółowoZad.3. Jakub Trojgo i Jakub Wieczorek. 14 grudnia 2013
Zad.3 Jakub Trojgo i Jakub Wieczorek 14 grudnia 2013 W pierwszej części naszej pracy będziemy chcieli zbadać ciągłość funkcji f(x, y) w przypadku gdy płaszczyzna wyposażona jest w jedną z topologii: a)
Bardziej szczegółowoWYMAGANIA EDUKACYJNE Z ZAJĘĆ KOMPUTEROWYCH DLA KLASY SZÓSTEJ W ZAKRESIE WIADOMOŚCI I UMIEJĘTNOŚCI UCZNIÓW
EDUKACYJNE Z ZAJĘĆ KOMPUTEROWYCH DLA KLASY SZÓSTEJ W ZAKRESIE I UCZNIÓW Ocena celujący bardzo dobry dobry dostateczny dopuszczający Zakres wiadomości wykraczający dopełniający rozszerzający podstawowy
Bardziej szczegółowoWYMAGANIA EDUKACYJN KRYTERIA OCENY Z MATEMATYKI W KLASIE II GIMNAZJUM
Na ocenę dopuszczającą uczeń umie : WYMAGANIA EDUKACYJN KRYTERIA OCENY Z MATEMATYKI W KLASIE II GIMNAZJUM stosować cztery podstawowe działania na liczbach wymiernych, zna kolejność wykonywania działań
Bardziej szczegółowoEGZAMIN ÓSMOKLASISTY od roku szkolnego 2018/2019
EGZAMIN ÓSMOKLASISTY od roku szkolnego 2018/2019 MATEMATYKA rozwiązań zadań z przykładowego arkusza egzaminacyjnego (EO_8) GRUDZIEŃ 2017 Centralna Komisja Egzaminacyjna Warszawa Zadanie 1. (0 2) II. Wykorzystanie
Bardziej szczegółowoPLANIMETRIA CZYLI GEOMETRIA PŁASZCZYZNY CZ. 1
PLANIMETRIA CZYLI GEOMETRIA PŁASZCZYZNY CZ. 1 Planimetria to dział geometrii, w którym przedmiotem badań są własności figur geometrycznych leżących na płaszczyźnie (patrz określenie płaszczyzny). Pojęcia
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.
Bardziej szczegółowoPraca kontrolna z matematyki nr 1 Liceum Ogólnokształcące dla Dorosłych Semestr 5 Rok szkolny 2014/2015
Praca kontrolna z matematyki nr 1 Liceum Ogólnokształcące dla Dorosłych Semestr 5 Rok szkolny 2014/2015 2 6 + 3 1. Oblicz 3. 3 x 1 3x 2. Rozwiąż nierówność > x. 2 3 3. Funkcja f przyporządkowuje każdej
Bardziej szczegółowoUniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania
Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania Celem ćwiczenia jest zapoznanie studentów z najprostszą dynamiczną strukturą
Bardziej szczegółowoRysowanie precyzyjne. Polecenie:
7 Rysowanie precyzyjne W ćwiczeniu tym pokazane zostaną różne techniki bardzo dokładnego rysowania obiektów w programie AutoCAD 2010, między innymi wykorzystanie punktów charakterystycznych. Z uwagi na
Bardziej szczegółowoOkręgi na skończonej płaszczyźnie Mateusz Janus
Okręgi na skończonej płaszczyźnie Mateusz Janus Skończona płaszczyzna, to płaszczyzna zawierająca skończoną liczbę punktów. Punkty utożsamiamy z parami liczb, które są resztami z dzielenia przez ustaloną
Bardziej szczegółowoWYMAGANIA NA POSZCZEGÓLNE STOPNIE KLASA II GIMNAZJUM
WYMAGANIA NA POSZCZEGÓLNE STOPNIE KLASA II GIMNAZJUM OCENA DOPUSZCZAJĄCA -pojęcie potęgi o wykładniku naturalnym, -wzór na mnożenie i dzielenie potęg o tych samych podstawach, -wzór na potęgowanie iloczynu
Bardziej szczegółowo1 TEMAT LEKCJI: 2 CELE LEKCJI: 3 METODY NAUCZANIA 4 ŚRODKI DYDAKTYCZNE. Scenariusz lekcji. Scenariusz lekcji. 2.1 Wiadomości: 2.
Motyle Scenariusz lekcji Scenariusz lekcji 1 TEMAT LEKCJI: Motyle 2 CELE LEKCJI: 2.1 Wiadomości: Uczeń potrafi: opisać sposób tworzenia animacji; opisać sposób zmiany postaci żółwia; wyjaśnić pojęcie klatki;
Bardziej szczegółowoMetody Kompilacji Wykład 3
Metody Kompilacji Wykład 3 odbywa się poprzez dołączenie zasad(reguł) lub fragmentów kodu do produkcji w gramatyce. Włodzimierz Bielecki WI ZUT 2 Na przykład, dla produkcji expr -> expr 1 + term możemy
Bardziej szczegółowoWYMAGANIA EDUKACYJNE Z MATEMATYKI W KLASIE VIII
WYMAGANIA EDUKACYJNE Z MATEMATYKI W KLASIE VIII Uczeń na ocenę dopuszczającą: - zna znaki używane do zapisu liczb w systemie rzymskim, - umie zapisać i odczytać liczby naturalne dodatnie w systemie rzymskim
Bardziej szczegółowoZESPÓŁ SZKÓŁ W OBRZYCKU
Matematyka na czasie Program nauczania matematyki w gimnazjum ZGODNY Z PODSTAWĄ PROGRAMOWĄ I z dn. 23 grudnia 2008 r. Autorzy: Agnieszka Kamińska, Dorota Ponczek ZESPÓŁ SZKÓŁ W OBRZYCKU Wymagania edukacyjne
Bardziej szczegółowoWymagania na poszczególne oceny w klasie II gimnazjum do programu nauczania MATEMATYKA NA CZASIE
Wymagania na poszczególne oceny w klasie II gimnazjum do programu nauczania MATEMATYKA NA CZASIE Wymagania konieczne K dotyczą zagadnień elementarnych, stanowiących swego rodzaju podstawę, powinien je
Bardziej szczegółowoEGZAMIN MATURALNY Z INFORMATYKI
Miejsce na naklejkę z kodem szkoły dysleksja MIN-R1A1P-052 EGZAMIN MATURALNY Z INFORMATYKI POZIOM ROZSZERZONY Czas pracy 90 minut ARKUSZ I MAJ ROK 2005 Instrukcja dla zdającego 1. Sprawdź, czy arkusz egzaminacyjny
Bardziej szczegółowoMatematyka z plusem Klasa IV
Matematyka z plusem Klasa IV KLASA IV SZCZEGÓŁOWE CELE EDUKACYJNE KSZTAŁCENIE Rozwijanie sprawności rachunkowej Wykonywanie jednodziałaniowych obliczeń pamięciowych na liczbach naturalnych. Stosowanie
Bardziej szczegółowoModelowanie krzywych i powierzchni
3 Modelowanie krzywych i powierzchni Modelowanie powierzchniowe jest kolejną metodą po modelowaniu bryłowym sposobem tworzenia części. Jest to też sposób budowy elementu bardziej skomplikowany i wymagający
Bardziej szczegółowoGRAFIKA KOMPUTEROWA. Plan wykładu. 1. Początki grafiki komputerowej. 2. Grafika komputerowa a dziedziny pokrewne. 3. Omówienie programu przedmiotu
GRAFIKA KOMPUTEROWA 1. Układ przedmiotu semestr VI - 20000 semestr VII - 00200 Dr inż. Jacek Jarnicki Instytut Cybernetyki Technicznej p. 226 C-C 3, tel. 320-28-2323 jacek@ict.pwr.wroc.pl www.zsk.ict.pwr.wroc.pl
Bardziej szczegółowoGrafika komputerowa. Obraz w informatyce
Grafika komputerowa Obraz w informatyce Grafika komputerowa dziedzina informatyki (dyscyplina?)zajmująca się wykorzystaniem technik komputerowych do wizualizacji realnych lub wyimaginowanych procesów.
Bardziej szczegółowoWYMAGANIA EDUKACYJNE Z MATEMATYKI W KLASIE III GIMNAZJUM
WYMAGANIA EDUKACYJNE Z MATEMATYKI W KLASIE III GIMNAZJUM 1. 2. 3. 4. 5. 6. czytać dane przedstawione na diagramach i w tabelach przekształcać równania liniowe na równania równoważne ekształcać układy równań
Bardziej szczegółowoTematy lekcji informatyki klasa 4a styczeń 2013
Tematy lekcji informatyki klasa 4a styczeń 2013 temat 7. z podręcznika (str. 70-72); sztuczki 4. i 5. (str. 78); Narysuj ikony narzędzi do zaznaczania i opisz je. 19 Zaznaczamy fragment rysunku i przenosimy
Bardziej szczegółowoNumeryczna symulacja rozpływu płynu w węźle
231 Prace Instytutu Mechaniki Górotworu PAN Tom 7, nr 3-4, (2005), s. 231-236 Instytut Mechaniki Górotworu PAN Numeryczna symulacja rozpływu płynu w węźle JERZY CYGAN Instytut Mechaniki Górotworu PAN,
Bardziej szczegółowoWymagania edukacyjne z matematyki dla klasy II gimnazjum wg programu Matematyka z plusem
Wymagania edukacyjne z matematyki dla klasy II gimnazjum wg programu Matematyka z plusem Ocenę dopuszczającą otrzymuje uczeń, który umie: 1.zapisywać potęgi w postaci iloczynów 2. zapisywać iloczyny jednakowych
Bardziej szczegółowoPRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: moduł specjalności obowiązkowy: Inżynieria oprogramowania Rodzaj zajęć: wykład, laboratorium I KARTA PRZEDMIOTU CEL PRZEDMIOTU GRAFICZNE MODELOWANIE
Bardziej szczegółowowymagania programowe z matematyki kl. III gimnazjum
wymagania programowe z matematyki kl. III gimnazjum 1. Liczby i wyrażenia algebraiczne Zna pojęcie notacji wykładniczej. Umie zapisać liczbę w notacji wykładniczej. Umie porównywać liczy zapisane w różny
Bardziej szczegółowoWstęp Pierwsze kroki Pierwszy rysunek Podstawowe obiekty Współrzędne punktów Oglądanie rysunku...
Wstęp... 5 Pierwsze kroki... 7 Pierwszy rysunek... 15 Podstawowe obiekty... 23 Współrzędne punktów... 49 Oglądanie rysunku... 69 Punkty charakterystyczne... 83 System pomocy... 95 Modyfikacje obiektów...
Bardziej szczegółowoSTEREOMETRIA CZYLI GEOMETRIA W 3 WYMIARACH
STEREOMETRIA CZYLI GEOMETRIA W 3 WYMIARACH Stereometria jest działem geometrii, którego przedmiotem badań są bryły przestrzenne oraz ich właściwości. WZAJEMNE POŁOŻENIE PROSTYCH W PRZESTRZENI 2 proste
Bardziej szczegółowoZAKRES WYMAGAŃ Z MATEMATYKI DLA KLASY II GIMNAZJUM
ZAKRES WYMAGAŃ Z MATEMATYKI DLA KLASY II GIMNAZJUM Ocena dopuszczająca: Uczeń: Zna pojęcie potęgi o wykładniku naturalnym Rozumie pojęcie potęgi o wykładniku naturalnym Umie zapisać potęgi w postaci iloczynów
Bardziej szczegółowoWymagania edukacyjne z matematyki dla klasy II gimnazjum wg programu Matematyka z plusem
Wymagania edukacyjne z matematyki dla klasy II gimnazjum wg programu Matematyka z plusem pojęcie potęgi o wykładniku naturalnym wzór na mnożenie i dzielenie potęg o tych samych podstawach wzór na potęgowanie
Bardziej szczegółowo2) R stosuje w obliczeniach wzór na logarytm potęgi oraz wzór na zamianę podstawy logarytmu.
ZAKRES ROZSZERZONY 1. Liczby rzeczywiste. Uczeń: 1) przedstawia liczby rzeczywiste w różnych postaciach (np. ułamka zwykłego, ułamka dziesiętnego okresowego, z użyciem symboli pierwiastków, potęg); 2)
Bardziej szczegółowoAutomatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych
Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych autor: Robert Drab opiekun naukowy: dr inż. Paweł Rotter 1. Wstęp Zagadnienie generowania trójwymiarowego
Bardziej szczegółowodr inż. Cezary Żrodowski Wizualizacja Informacji WETI PG, sem. V, 2015/16
Zadanie 3 - Karuzela 1. Budowa geometrii felgi i opony a) Szkic i wyciagnięcie obrotowe korpusu karuzeli (1 pkt) b) Szkic i wyciagnięcie liniowe podstawy karuzeli (1pkt) 1 c) Odsunięta płaszczyzna, szkic
Bardziej szczegółowoRozwiązania zadań. Arkusz maturalny z matematyki nr 1 POZIOM PODSTAWOWY
Rozwiązania zadań Arkusz maturalny z matematyki nr POZIOM PODSTAWOWY Zadanie (pkt) Sposób I Skoro liczba jest środkiem przedziału, więc odległość punktu x od zapisujemy przy pomocy wartości bezwzględnej.
Bardziej szczegółowoOsiągnięcia ponadprzedmiotowe
Osiągnięcia ponadprzedmiotowe W rezultacie kształcenia matematycznego w klasie 3 gimnazjum uczeń potrafi: Umiejętności konieczne i podstawowe czytać teksty w stylu matematycznym wykorzystywać słownictwo
Bardziej szczegółowoKRYTERIA OCEN Z MATEMATYKI DLA UCZNIÓW KL. II GIMNAZJUM
KRYTERIA OCEN Z MATEMATYKI DLA UCZNIÓW KL. II GIMNAZJUM POTĘGI I PIERWIASTKI - pojęcie potęgi o wykładniku naturalnym; - wzór na mnożenie i dzielenie potęg o tych samych podstawach; - wzór na potęgowanie
Bardziej szczegółowoKryteria ocen z matematyki w Gimnazjum. Klasa I. Liczby i działania
Kryteria ocen z matematyki w Gimnazjum Klasa I Liczby i działania obliczać wartości wyrażeń arytmetycznych, w których występują liczby wymierne skracać i rozszerzać ułamki zwykłe porównywać dwa ułamki
Bardziej szczegółowoAlgorytm. a programowanie -
Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik
Bardziej szczegółowoROK SZKOLNY 2017/2018 WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY:
ROK SZKOLNY 2017/2018 WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY: KLASA II GIMNAZJUM Wymagania konieczne K dotyczą zagadnień elementarnych, stanowiących swego rodzaju podstawę, powinien je zatem opanować
Bardziej szczegółowoBartosz Bazyluk SYNTEZA GRAFIKI 3D Grafika realistyczna i czasu rzeczywistego. Pojęcie sceny i kamery. Grafika Komputerowa, Informatyka, I Rok
SYNTEZA GRAFIKI 3D Grafika realistyczna i czasu rzeczywistego. Pojęcie sceny i kamery. Grafika Komputerowa, Informatyka, I Rok Synteza grafiki 3D Pod pojęciem syntezy grafiki rozumiemy stworzenie grafiki
Bardziej szczegółowoPrzewodnik po Matlandii 8
Przewodnik po Matlandii 8 1. Liczby i działania 1.1. System rzymski 1.1.1. Wskazywanie równych liczb zapisanych w systemie rzymskim i dziesiątkowym 1.1.2. Zapisywanie liczb w systemie rzymskim 1.1.3. Zapisywanie
Bardziej szczegółowoLABORATORIUM 8,9: BAZA DANYCH MS-ACCESS
UNIWERSYTET ZIELONOGÓRSKI INSTYTUT INFORMATYKI I ELEKTROTECHNIKI ZAKŁAD INŻYNIERII KOMPUTEROWEJ Przygotowali: mgr inż. Arkadiusz Bukowiec mgr inż. Remigiusz Wiśniewski LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS
Bardziej szczegółowoPDM 3. Zakres podstawowy i rozszerzony. Plan wynikowy. STEREOMETRIA (22 godz.) W zakresie TREŚCI PODSTAWOWYCH uczeń potrafi:
PDM 3 Zakres podstawowy i rozszerzony Plan wynikowy STEREOMETRIA ( godz.) Proste i płaszczyzny w przestrzeni Kąt nachylenia prostej do płaszczyzny wskazać płaszczyzny równoległe i płaszczyzny prostopadłe
Bardziej szczegółowoMetoda określania pozycji wodnicy statków na podstawie pomiarów odległości statku od głowic laserowych
inż. Marek Duczkowski Metoda określania pozycji wodnicy statków na podstawie pomiarów odległości statku od głowic laserowych słowa kluczowe: algorytm gradientowy, optymalizacja, określanie wodnicy W artykule
Bardziej szczegółowo