Spis treści. Wstęp... 11



Podobne dokumenty
Grafika, fizyka, metody numeryczne : symulacje fizyczne z wizualizacją 3D / Jacek Matulewski [et al.]. Warszawa, Spis treści.

Symulacje komputerowe

OpenGL i wprowadzenie do programowania gier

Grafika 3D na przykładzie XNA 3.1

Mechanika ogólna / Tadeusz Niezgodziński. - Wyd. 1, dodr. 5. Warszawa, Spis treści

Jan Awrejcewicz- Mechanika Techniczna i Teoretyczna. Statyka. Kinematyka

Plan wykładu. Akcelerator 3D Potok graficzny

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

Oświetlenie. Modelowanie oświetlenia sceny 3D. Algorytmy cieniowania.

GRK 4. dr Wojciech Palubicki

1. Kinematyka 8 godzin

Rozszerzony konspekt preskryptu do przedmiotu Podstawy Robotyki

Karta (sylabus) modułu/przedmiotu INŻYNIERIA MATERIAŁOWA Studia pierwszego stopnia

Załącznik KARTA PRZEDMIOTU. KARTA PRZEDMIOTU Wydział Automatyki, Elektroniki i Informatyki, Rok akademicki: 2009/2010 KOMPUTEROWA

Zaawansowana Grafika Komputerowa

Dowiedz się, jak tworzyć zapierające dech w piersiach gry 3D i efektowne, trójwymiarowe wizualizacje!

Równa Równ n a i n e i ru r ch u u ch u po tor t ze (równanie drogi) Prędkoś ędkoś w ru r ch u u ch pros pr t os ol t i ol n i io i wym

Zastosowanie GeoGebry w realizacji zagadnień związanych z trygonometrią 13. Wykresy funkcji sin x i cos x Paweł Perekietka 13

Śledzenie promieni w grafice komputerowej

Wyznaczenie współczynnika restytucji

Kryteria oceniania z matematyki Klasa III poziom rozszerzony

Spis treści. Wstęp Część I STATYKA

Zadanie polega na zbudowaniu i wyświetleniu przykładowej animowanej sceny przedstawiającej robota spawalniczego typu PUMA.

Bartosz Bazyluk SYNTEZA GRAFIKI 3D Grafika realistyczna i czasu rzeczywistego. Pojęcie sceny i kamery. Grafika Komputerowa, Informatyka, I Rok

GRAKO: ŚWIATŁO I CIENIE. Modele barw. Trochę fizyki percepcji światła. OŚWIETLENIE: elementy istotne w projektowaniu

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

PRZEWODNIK PO PRZEDMIOCIE

Julia 4D - raytracing

STEREOMETRIA CZYLI GEOMETRIA W 3 WYMIARACH

Modelowanie Fizyczne w Animacji Komputerowej

a. Czym różni się sposób liczenia odbicia zwierciadlanego zaproponowany przez Phonga od zaproponowanego przez Blinna?

Symulacje komputerowe

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

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

2 Przygotował: mgr inż. Maciej Lasota

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

Kryteria oceniania z matematyki Klasa III poziom podstawowy

Mechanika ogólna. Kinematyka. Równania ruchu punktu materialnego. Podstawowe pojęcia. Równanie ruchu po torze (równanie drogi)

Mgr inż. Wojciech Chajec Pracownia Kompozytów, CNT Mgr inż. Adam Dziubiński Pracownia Aerodynamiki Numerycznej i Mechaniki Lotu, CNT SMIL

Microsoft Visual C : praktyczne przykłady / Mariusz Owczarek. Gliwice, cop Spis treści

Tomasz Tobiasz PLAN WYNIKOWY (zakres podstawowy)

RUCH OBROTOWY- MECHANIKA BRYŁY SZTYWNEJ

OpenGL przezroczystość

GEOMETRIA PRZESTRZENNA (STEREOMETRIA)

RUCH OBROTOWY- MECHANIKA BRYŁY SZTYWNEJ

FIZYKA klasa 1 Liceum Ogólnokształcącego (4 letniego)

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

Techniki animacji komputerowej

Bryła sztywna. Wstęp do Fizyki I (B+C) Wykład XXI:

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII

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

Animacja komputerowa : algorytmy i techniki / Rick Parent. Warszawa, 2011 Spis treści Przedmowa

Obiekty trójwymiarowe AutoCAD 2013 PL

Rozkład materiału nauczania

Metody rozwiązania równania Schrödingera

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

Wstęp Podstawy Pierwszy program Definiowanie sceny 3D Przekształcenia geometryczne... 47

18. Siły bezwładności Siła bezwładności w ruchu postępowych Siła odśrodkowa bezwładności Siła Coriolisa

1 Wstęp teoretyczny. Temat: Manipulowanie przestrzenią. Grafika komputerowa 3D. Instrukcja laboratoryjna Układ współrzędnych

Podstawy fizyki sezon 1 IV. Pęd, zasada zachowania pędu

Temat: Transformacje 3D

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

Feynmana wykłady z fizyki. [T.] 1.1, Mechanika, szczególna teoria względności / R. P. Feynman, R. B. Leighton, M. Sands. wyd. 7.

PDM 3 zakres podstawowy i rozszerzony PSO

Karta (sylabus) przedmiotu Kierunek studiów Mechatronika Studia pierwszego stopnia. Mechanika Techniczna Rodzaj przedmiotu: Podstawowy Kod przedmiotu:

Metoda elementów skończonych w mechanice konstrukcji / Gustaw Rakowski, Zbigniew Kacprzyk. wyd. 3 popr. Warszawa, cop

Nazwisko i imię: Zespół: Data: Ćwiczenie nr 1: Wahadło fizyczne. opis ruchu drgającego a w szczególności drgań wahadła fizycznego

ZAGADNIENIA DO EGZAMINU Z FIZYKI W SEMESTRZE ZIMOWYM Elektronika i Telekomunikacja oraz Elektronika 2017/18

MINIMUM PROGRAMOWE DLA SŁUCHACZY CKU NR 1

Opis poszczególnych przedmiotów (Sylabus) Fizyka, studia pierwszego stopnia

GRAFIKA KOMPUTEROWA. Plan wykładu. 1. Początki grafiki komputerowej. 2. Grafika komputerowa a dziedziny pokrewne. 3. Omówienie programu przedmiotu

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

1. Prymitywy graficzne

Model oświetlenia. Radosław Mantiuk. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wyznaczanie momentów bezwładności brył sztywnych metodą zawieszenia trójnitkowego

WYMAGANIA EDUKACYJNE Rok szkolny 2018/2019

Podstawy fizyki wykład 4

1.1. Rachunek zdań: alternatywa, koniunkcja, implikacja i równoważność zdań oraz ich zaprzeczenia.

IRONCAD. TriBall IRONCAD Narzędzie pozycjonujące

83 Przekształcanie wykresów funkcji (cd.) 3

Spis treści. Przedmowa do wydania piątego

Trójwymiarowa grafika komputerowa rzutowanie

wymagania programowe z matematyki kl. III gimnazjum

Treści dopełniające Uczeń potrafi:

Zygmunt Wróbel i Robert Koprowski. Praktyka przetwarzania obrazów w programie Matlab

Spis treści. Tom 1 Przedmowa do wydania polskiego 13. Przedmowa 15. Wstęp 19

Wymagania edukacyjne z matematyki : Matematyka z plusem GWO

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

VII.1 Pojęcia podstawowe.

Opis efektów kształcenia dla modułu zajęć

Sphere tracing: integracja z klasycznymi metodami symulacji i renderingu

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski

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

Ćwiczenia nr 4. TEMATYKA: Rzutowanie

KINEMATYKA I DYNAMIKA CIAŁA STAŁEGO. dr inż. Janusz Zachwieja wykład opracowany na podstawie literatury

Fizyka 1 Wróbel Wojciech. w poprzednim odcinku

GRAFIKA KOMPUTEROWA 7: Kolory i cieniowanie

Symulacja samochodu z kamerą stereowizyjną. Krzysztof Sykuła 15 czerwca 2007

Synteza i obróbka obrazu. Tekstury. Opracowanie: dr inż. Grzegorz Szwoch Politechnika Gdańska Katedra Systemów Multimedialnych

Transkrypt:

Księgarnia PWN: Jacek Matulewski, Tomasz Dziubak, Marcin Sylwestrzak, Radosław Płoszajczak - Grafika. Fizyka. Metody numeryczne Wstęp... 11 Część I. Grafika trójwymiarowa w OpenGL... 13 Rozdział 1. Inicjacja okna dla grafiki 3D generowanej za pomocą OpenGL... 15 Visual C++ i WinAPI/WGL... 17 Tworzenie projektu i dostosowywanie go do współpracy z OpenGL... 17 Tworzenie okna za pomocą funkcji WinAPI... 19 Przystosowanie okna do współpracy z OpenGL za pomocą funkcji biblioteki WGL... 25 Przygotowanie i rysowanie sceny (wreszcie OpenGL!)... 27 Visual C++ i MFC... 31 C++Builder i VCL... 35 Tryb pełnoekranowy... 36 Rozdział 2. Macierze w OpenGL... 41 Macierz rzutowania... 42 Macierz model-widok... 44 Stosy macierzy... 48 Współrzędne jednorodne... 51 Odczytywanie wartości macierzy... 56 Rozdział 3. Rysowanie i animacja figur i brył... 59 Wyodrębnianie metody służącej do budowania aktorów... 63 Kolor... 66 Funkcja glcolor... 66 Cieniowanie... 66 Kolor tła... 67 Model 1: Prostopadłościan... 68 Unikanie rysowania tylnych powierzchni... 72 Model 2: Niszczyciel gwiazd... 74 Podłoże... 77 Listy wyświetlania... 79 Animacja... 81 Rozdział 4. Kontrola położenia kamery... 85 Rozglądanie się, czyli kamera w centrum (FPP)... 86 Ruch w poziomie kontrolowany klawiszami... 90

4 Ruch kamery po sferze z wyróżnioną płaszczyzną (TPP)... 93 Przesuwanie kamery myszą... 94 Kontrola odległości kamery od modelu za pomocą rolki myszy... 95 Rotacja sferyczna... 96 Implementacja rotacji sferycznej... 98 Użycie klasy ArcBall... 105 Wektor położenia kamery... 110 Swobodne obroty kamery... 111 Jeszcze raz o rzutowaniu... 117 Rozdział 5. Oświetlenie... 119 Trójwymiarowa przestrzeń barw... 119 System oświetlenia OpenGL. Światło tła... 121 Model oświetlenia Phonga... 124 Model Lamberta światła rozproszonego... 125 Model rozbłysku Phonga... 127 Uśrednianie normalnych... 129 Definiowanie wektorów normalnych... 130 Definiowanie źródła światła rozproszonego... 134 Uśrednianie i interpolacja normalnych... 138 Rozbłysk... 140 Mieszanie kolorów (alpha blending)... 142 Sortowanie ścian... 145 Rozdział 6. Odwzorowywanie tekstur... 153 Proste teksturowanie... 154 Wiązanie tekstur (współrzędne teksturowania)... 158 Wiele tekstur... 160 Przezroczyste tekstury... 163 Wczytywanie tekstur z plików (bitmap)... 165 Czytanie tekstur z zasobów aplikacji... 172 Lakierowanie tekstur... 173 Układanie tekstur obok siebie... 175 Rozdział 7. Napisy... 177 Tworzenie czcionek do wyświetlania napisów... 177 Używanie czcionek bitmapowych... 179 Używanie czcionek 3D... 183 Rozdział 8. Biblioteka GLU... 185 Kwadryki... 185 Teksturowanie kwadryki... 188 Inne kwadryki... 190 GLU i macierze... 194 glulookat... 194 gluperspective... 195 Inne... 196

5 Rozdział 9. Bufor szablonowy... 199 Przygotowanie sceny... 199 Płaszczyzny obcinające... 201 Przygotowanie szablonu... 203 Użycie szablonu do przycięcia odbicia... 205 Rozdział 10. Szablon projektów korzystających z grafiki OpenGL... 209 Zadania... 213 Część II. Wizualizacja danych... 215 Rozdział 11. Wizualizacja obiektów przestrzennych na przykładzie molekuł białek... 217 Zadanie... 217 Format PDB... 217 Odczyt danych z pliku PDB... 219 Klasa Atom... 220 Klasa PDB... 222 Wizualizacja... 224 Położenie atomów... 225 Wiązania chemiczne... 229 Wybór atomu i wyświetlanie etykiety, czyli interakcja z użytkownikiem w OpenGL... 232 Stos nazw... 233 Renderowanie w trybie zaznaczania... 235 Odczytywanie informacji z bufora zaznaczania... 237 Wyróżnianie wybranego atomu... 238 Rozdział 12. Wizualizacja funkcji dwóch zmiennych... 241 Format plików z danymi... 242 Klasy reprezentujące wczytywane dane... 244 Czytanie danych... 247 Wczytywanie parametrów programu z pliku... 247 Wczytywanie parametrów sieci z pliku... 250 Wczytywanie danych... 252 Przygotowanie wykresu... 253 Wyznaczenie zakresu tablicy, w którym znajdują się dane do wyświetlania... 253 Wyznaczenie wartości minimalnej i maksymalnej... 254 Wyznaczenie współczynnika skalowania... 255 Wyznaczenie koloru odpowiadającego wartości funkcji... 255 Wyświetlenie danych... 257 Destruktor klasy... 263 Osie układu współrzędnych... 264 Rysowanie osi... 264 Opis osi... 266 Oświetlenie... 268 Źródło światła... 268 Sterowanie pozycją źródła światła... 270

6 Rozdział 13. Trójwymiarowa wizualizacja z wykorzystaniem teksturowania przeźroczystego... 275 Tomografia optyczna... 275 Wczytywanie danych... 276 Metoda wizualizacji za pomocą przeźroczystego teksturowania... 279 Mapy kolorów... 281 Przygotowanie powierzchni do teksturowania... 285 Przygotowanie tekstur... 288 Regulacja jasności, kontrastu i przeźroczystości... 296 Część III. Świat modelowany zbiorem punktów materialnych... 299 Rozdział 14. Dynamika punktu... 301 Ruch... 301 Siła... 302 Równania ruchu... 303 Przykładowe rozwiązanie... 304 Zamiana na równania pierwszego stopnia... 305 Rozdział 15. Metody numeryczne, czyli dyskretyzacja równań ruchu... 307 Szereg Taylora... 307 Algorytm Eulera... 309 Algorytm Verleta... 311 Rozdział 16. Implementacja... 313 Klasa TPunktMaterialny... 313 Implementacja algorytmów Eulera i Verleta... 317 Klasa ZbiorPunktowMaterialnych... 320 Definiowanie układu punktów materialnych... 324 Wizualizacja punktów... 325 Dynamika punktów... 327 Wstrzymywanie symulacji... 330 Mechanizm odświeżania sceny w symulacjach... 330 Rozdział 17. Modelowanie układów elastycznych... 333 Zbiór oscylatorów... 333 Rysowanie linii... 337 Tłumienie... 339 Sztywność... 342 Lina... 346 Dalsi sąsiedzi... 348 Włos... 349 Podłoże... 351 Rozdział 18. Siły kontaktowe... 357 Reakcja na kontakt z obszarem niedostępnym... 357 Wzory... 359 Tarcie... 360

7 Implementacja obszaru niedostępnego... 361 Abstrakcyjny typ danych... 361 Podłoże... 363 Kula... 364 Dwa inne przykłady... 365 Zbiór punktów materialnych z obszarem niedostępnym... 370 Przykłady układów z obszarami niedostępnymi... 375 Punkty uderzające w kulę... 375 Lina na podłożu... 378 Lina opadająca na stolik... 379 Łączenie dwóch obszarów zabronionych... 383 Układy dwuwymiarowe... 384 Siatka, czyli kawałek tkaniny... 384 Pierwszy test i metody rysowania siatki... 388 Siatka w kontakcie z obszarem niedostępnym... 392 Układ trójwymiarowy, czyli dynamika brył miękkich... 393 Rozdział 19. Zderzenie dwóch punktów... 399 Fizyka zderzenia dwóch kul... 399 Zasady zachowania energii i pędu w zderzeniach... 400 Dynamika niecentralnego zderzenia dwóch kul... 403 Projekt testu... 405 Uproszczenia... 406 Implementacja zderzenia dwóch kul... 407 Pudło... 412 Dwa testy obnażające wady naiwnej implementacji... 413 Implementacja zderzeń niecentralnych... 415 Symulacja ruchów Browna... 417 Rozdział 20. Zderzenia punktów z tkaniną... 419 Wykrywanie kolizji punktu z trójkątem... 419 Czy odcinek przecina płaszczyznę?... 419 Gdzie odcinek przecina płaszczyznę?... 421 Czy punkt przecięcia znajduje się wewnątrz trójkąta?... 422 Modelowanie reakcji tkaniny i punktów na zderzenie... 424 Implementacja wody i tkaniny... 425 Implementacja wykrywania zderzeń... 428 Implementacja reakcji na zderzenia... 432 Rozdział 21. Sterowanie... 435 Przeciąganie punktu myszą... 435 Kontrola obiektu za pomocą klawiatury, czyli trening intuicji fizycznej... 442 Bilard... 447 Klasa Bilard... 447 Rysowanie bil, stołu i kija... 451 Implementacja kija... 452 Implementacja łuz... 456

8 Rozdział 22. O dwóch trikach używanych w symulacjach cząsteczkowych... 461 Jakie problemy chcemy rozwiązać?... 461 Grawitacja... 461 Dwa triki... 462 Odcięcie i podział na komórki... 462 Periodyczne warunki brzegowe... 463 Implementacja... 464 Klasa Galaktyka... 464 Wizualizacja... 467 Naiwna implementacja oddziaływań... 468 Podział obszaru na komórki... 469 Implementacja periodycznych warunków brzegowych... 474 Przejście przez granicę... 474 Obliczanie odległości... 475 Zadania... 477 Część IV. Obiekty modelowane zespołem brył sztywnych... 481 Rozdział 23. Dynamika bryły sztywnej... 483 Środek masy... 483 Kinematyka bryły sztywnej... 485 Prędkość liniowa i prędkość kątowa... 485 Rotujący układ odniesienia... 485 Dynamika bryły sztywnej, czyli równania Newtona w ruchu postępowym i obrotowym... 489 Moment pędu... 489 Moment bezwładności... 490 Moment siły i równanie ruchu... 493 Czego brakuje w równaniach ruchu?... 495 Moment bezwładności prostopadłościanu... 496 Macierz obrotu... 498 Całkowanie prędkości kątowej... 499 Rozdział 24. Implementacja metody Eulera dla dynamiki bryły sztywnej... 503 Metoda numeryczna... 503 Implementacja klas opisujących bryły sztywne... 504 Szablon klasy TBrylaSztywna... 504 Przykład bryły sztywnej: klasa Prostopadloscian... 509 Menedżer zbioru brył sztywnych... 510 Zbiór prostopadłościanów... 514 Wizualizacja... 515 Rozdział 25. Kwaterniony... 519 Algebra kwaternionów... 520 Kwaterniony jednostkowe... 524 Konwersja między kwaternionem i macierzą... 528 Pochodna kwaternionu i równanie ruchu... 531 Implementacja dynamiki opartej na kwaternionach... 533

9 Dwa testy... 537 Kąty Eulera, kwaterniony i macierze obrotu... 538 Rozdział 26. Detekcja kolizji: obszary ograniczające... 541 Sfery ograniczające (BS)... 541 Prostopadłościany ograniczające ustawione wzdłuż osi sceny (AABB)... 546 Twierdzenie SAT... 551 Twierdzenie SAT w przypadku prostopadłościanów OBB... 553 Czytelna implementacja SAT dla prostopadłościanów OBB... 556 Optymalizacja implementacji SAT... 558 Rozdział 27. Detekcja kolizji: wyznaczanie punktu styku oraz normalnej i stycznej zderzenia... 567 Normalna zderzenia dwóch prostopadłościanów... 569 Punkt zderzenia dwóch prostopadłościanów... 573 Zderzenie wierzchołka ze ścianą... 573 Zderzenie dwóch krawędzi... 574 Odległość dwóch prostych... 578 Podsumowanie... 581 Styczna zderzenia dwóch prostopadłościanów... 582 Rozdział 28. Fizyka zderzeń brył sztywnych... 585 Popęd liniowy, czyli zasada zachowania pędu... 585 Popęd kątowy, czyli zasada zachowania momentu pędu... 586 Współczynnik restytucji, czyli zasada (nie)zachowania energii... 587 Rozwiązanie... 587 Tarcie... 589 Implementacja... 590 Zadania... 593 Wybrana literatura tematu... 595 Mechanika... 595 Geometria obliczeniowa (w tym detekcja kolizji)... 596 OpenGL i grafika 3D... 596 Metody numeryczne... 597 Prace inżynierskie i dyplomowe wykorzystane w książce... 598 Dodatek A. Korzystanie z biblioteki GLUT do zarządzania oknem w projektach przenośnych... 599 GLUT (Visual C++)... 600 Tworzenie okna OpenGL za pomocą GLUT... 600 Interakcja z użytkownikiem... 606 GLUT w C++Builder... 611 Kompilacja projektu korzystającego z GLUT za pomocą g++ w systemie Linux i powłoce Cygwin... 612 Dodatek B. Macierz rzutowania punktu na płaszczyznę... 613

10 Dodatek C. Wczytywanie modelu z pliku OBJ... 619 Opis formatu Wavefront OBJ... 619 Klasy CScena i CModel... 622 Rysowanie wczytanej sceny. Klasa CScenaRysowana... 634 Przykładowy projekt... 637 Dodatek D. Klasy implementujące wektor, macierz i kwaternion... 643 Wektor... 643 Projekt interfejsu... 643 Definicja klasy i jej pola... 644 Operator indeksowania... 645 Konwersja do tablicy... 646 Operatory relacji... 647 Operatory arytmetyczne... 647 Iloczyny wektorów... 649 Metody... 651 Konkretyzacja... 652 Testy... 653 Macierz kwadratowa 3 3... 656 Przechowanie i dostęp do elementów macierzy... 657 Operatory... 660 Metody... 663 Testy... 668 Kwaternion... 670 Pola i konstruktory... 670 Operatory... 671 Metody... 673 Testy... 677 Funkcja TworzMacierzObrotuZKataIOsiObrotu... 679 Dodatek E. Animacja szkieletowa... 681 Kości i stawy... 683 Projektowanie szkieletu... 685 Rysowanie ręki... 687 Modelowanie ułożenia... 690 Modelowanie animacji... 691 Indeks... 695