Wprowadzenie do fizyki w grach, animacjach i symulacjach Flash - ebook
Wprowadzenie do fizyki w grach, animacjach i symulacjach Flash - ebook
Twoje gry i animacje jeszcze nigdy nie były tak realne!
Dobre odwzorowanie praw fizyki w grach zazwyczaj sprawia, że stają się one bardziej atrakcyjne. Dlaczego tak uważamy? Pewnie ma to związek z naszą intuicją - lubimy, gdy przedmioty w grze zachowują się zgodnie z oczekiwaniami. Realistyczne zderzenia, grawitacja, odbicia to tylko część elementów, których zastosowanie zwiększy Twoją szansę na sukces!
Ta książka porusza wszystkie aspekty związane z wykorzystaniem praw fizyki w grach, animacjach i symulacjach tworzonych we Flashu. W trakcie lektury zostaniesz stopniowo i bezboleśnie wprowadzony w świat obliczeń numerycznych - od najprostszych, pozwalających nadać ruch odbijającej się piłce, do najbardziej skomplikowanych, odwzorowujących na przykład prawdziwy ruch planet w Układzie Słonecznym. Ponadto dowiesz się, jaki wpływ na ruch ma tarcie oraz jak zaprezentować siłę wyporu. Książka ta jest idealną pozycją dla każdego programisty chcącego Tworzyć gry i animacje jak najbliższe rzeczywistemu światu.
Zdobądź tę książkę i opanuj wiedzę na temat:
- wykorzystania praw fizyki w projektowaniu gier i animacji
- symulowania uderzeń, odbić i zderzeń
- wpływu siły grawitacji i tarcia na ruch obiektów
Odwzoruj prawdziwy świat w najdrobniejszych szczegółach!
Spis treści
O autorach (17)
O recenzencie technicznym książki (17)
O twórcy grafiki na okładce książki (18)
Podziękowania (18)
Przedmowa (19)
Część I. Podstawy (23)
Rozdział 1. Wprowadzenie do oprogramowywania zjawisk fizycznych (25)
- Po co modeluje się zjawiska fizyczne? (25)
- Uzyskanie realistycznie wyglądających efektów (26)
- Tworzenie realistycznie wyglądających gier (26)
- Tworzenie symulacji i modeli (26)
- Tworzenie dzieł sztuki (27)
- Czy nie wystarczy użyć biblioteki fizycznej? (27)
- Czym jest fizyka? (28)
- Wszystko wokół nas podlega prawom fizyki (29)
- Prawa i zasady fizyki można zapisać za pomocą równań matematycznych (29)
- Opisywanie ruchu ciała (29)
- Oprogramowywanie zjawisk fizycznych (30)
- Na czym polega różnica między animacją a symulacją? (30)
- Prawa fizyki są proste (31)
- Dlatego można w prosty sposób zapisać je w postaci kodu! (31)
- Cztery kroki oprogramowywania fizyki (31)
- Prosty przykład (32)
- Odbijająca się piłka - opis fizyczny (32)
- Opisanie kodem ruchu piłki w dwóch wymiarach (33)
- Podsumowanie (35)
Rozdział 2. Programowanie w języku ActionScript 3.0 - wybrane zagadnienia (37)
- Klasy w języku ActionScript 3.0 (38)
- Klasy i obiekty (39)
- Budowa klasy w AS3.0 (39)
- Funkcje, metody i konstruktory (40)
- Właściwości (40)
- Statyczne metody i statyczne właściwości (41)
- Dziedziczenie (41)
- Podstawy programowania w języku skryptowym ActionScript 3.0 (42)
- Zmienne i stałe (42)
- Typy danych (43)
- Operatory (46)
- Klasa Math (47)
- Logika (48)
- Pętle (49)
- Zdarzenia w języku ActionScript 3.0 (51)
- Procedury wykrywające wystąpienie zdarzenia i obsługujące zdarzenie (51)
- Zdarzenia w działaniach użytkownika (52)
- Przeciągnij i upuść (52)
- Układ współrzędnych we Flashu (53)
- Współrzędne w dwóch wymiarach (53)
- Układ trójwymiarowy we Flashu (54)
- Graficzny interfejs programowania Flasha (56)
- Rysowanie prostych i krzywych (56)
- Wypełnienia i gradienty (57)
- Przykład - piłka wewnątrz pudełka (58)
- Tworzenie animacji za pomocą kodu (60)
- Wbudowane odliczanie klatek w roli zegara (60)
- Praca z klasą Timer (61)
- Wyznaczanie upływu czasu za pomocą funkcji getTimer() (62)
- Przygotowywanie danych do wykonania animacji (64)
- Wykrywanie zderzeń (65)
- Praca z metodą hitTestObject() (65)
- Praca z metodą hitTestPoint() (65)
- Wykrywanie zderzeń na podstawie wyznaczania odległości (65)
- Złożone algorytmy wykrywania zderzeń (67)
- Podsumowanie (67)
Rozdział 3. Nieco podstaw z matematyki (69)
- Układ współrzędnych i proste wykresy (70)
- Narzędzie rysujące - klasa Graph (70)
- Tworzenie wykresów funkcji za pomocą klasy Graph (71)
- Proste (73)
- Wykresy wielomianów (73)
- Wzrost i zanik - funkcje wykładnicze i logarytmiczne (74)
- Wprawianie obiektu w ruch wzdłuż krzywej (76)
- Odległość pomiędzy dwoma punktami (82)
- Podstawy trygonometrii (83)
- Stopnie i radiany (84)
- Funkcja sinus (84)
- Funkcja cosinus (85)
- Funkcja tangens (87)
- Funkcje cyklometryczne (88)
- Funkcje trygonometryczne w animacjach (89)
- Wektory i podstawy algebry wektorowej (93)
- Czym są wektory? (93)
- Wektory i skalary (94)
- Sumowanie wektorów (94)
- Rozkładanie wektorów na składowe (96)
- Mnożenie wektorów - iloczyn skalarny (98)
- Mnożenie wektorów - iloczyn wektorowy (99)
- Algebra wektorów w klasie Vector2D (100)
- Podstawy rachunku różniczkowo-całkowego (102)
- Kąt nachylenia, czyli gradient (102)
- Tempo zmian - pochodna (104)
- Sumowanie - całki (108)
- Podsumowanie (110)
Rozdział 4. Podstawy fizyki (111)
- Podstawowe pojęcia z dziedziny fizyki i stosowane zapisy (112)
- Wielkości fizyczne i ich jednostki (112)
- Notacja naukowa (112)
- Cząstki i pozostałe obiekty fizyczne (113)
- Czym jest cząstka? (114)
- Właściwości cząstek (114)
- Tworzenie klasy Particle (115)
- Przesuwanie cząstek - klasa Mover (118)
- Rozwijanie klasy Particle (120)
- Opisywanie ruchu - kinematyka (124)
- Idee - przemieszczenie, prędkość, szybkość i przyśpieszenie (124)
- Dodawanie wielkości wektorowych (127)
- Ilustrowanie ruchu na wykresach (128)
- Równania ruchu jednostajnie przyśpieszonego (128)
- Przykład zastosowania równań ruchu - lot pocisku (130)
- Inne pojęcia związane z ruchem - bezwładność, masa i pęd (133)
- Przewidywanie ruchu ciała - siły i dynamika (134)
- Siła - przyczyna ruchu (134)
- Zależność łącząca siłę, masę i przyśpieszenie (135)
- Rodzaje sił (135)
- Rozkładanie sił - składanie wektorów i siła wypadkowa (136)
- Siły w stanie równowagi (138)
- Przykład - spadające ciało (139)
- Energia (142)
- Pojęcie pracy w fizyce (143)
- Zdolność do wykonania pracy - energia (144)
- Przekazywanie, przekształcanie i zachowanie energii (144)
- Energia potencjalna i energia kinetyczna (145)
- Moc (146)
- Przykład - prosta symulacja "samochodu" (147)
- Podsumowanie (150)
Część II. Cząstki, siły i ruch (151)
Rozdział 5. Zasady rządzące ruchem (153)
- Zasady dynamiki Newtona (154)
- Pierwsza zasada dynamiki Newtona (N1) (154)
- Druga zasada dynamiki Newtona (N2) (155)
- Trzecia zasada dynamiki Newtona (N3) (157)
- Stosowanie zasad dynamiki Newtona (158)
- Ogólna metoda pracy z równaniem F = m.a (158)
- Klasa Forcer (158)
- Klasa Forces (159)
- Prosty przykład - lot pocisku w powietrzu (160)
- Bardziej złożony przykład - pływająca piłka (162)
- Różniczkowa postać drugiej zasady dynamiki Newtona (164)
- Co kryje się za wzorem F = m.a? (165)
- Przykład - ponownie spadające ciało (166)
- Zasada zachowania energii (167)
- Zasada zachowania energii mechanicznej (168)
- Przykład - zmiany energii w czasie lotu pocisku (168)
- Zasada zachowania pędu (171)
- Przykład - zderzenie dwóch cząstek w jednym wymiarze (173)
- Zasady obowiązujące w ruchu obrotowym (175)
- Podsumowanie (175)
Rozdział 6. Grawitacja, orbity i statki kosmiczne (177)
- Grawitacja (177)
- Grawitacja, ciężar i masa (178)
- Prawo powszechnego ciążenia (178)
- Przygotowanie funkcji gravity (179)
- Orbity (181)
- Klasa Orbiter (181)
- Prędkość ucieczki (185)
- Ruch dwóch ciał (186)
- Grawitacja przy powierzchni Ziemi (189)
- Przyśpieszenie grawitacyjne w pobliżu powierzchni Ziemi (189)
- Zależność przyśpieszenia ziemskiego od wysokości (190)
- Przyśpieszenie grawitacyjne na innych ciałach niebieskich (191)
- Rakiety (192)
- Prawdziwie odlotowa nauka! (192)
- Modelowanie odrzutu (193)
- Tworzenie symulacji lotu rakiety (193)
- Podsumowanie (199)
Rozdział 7. Siły kontaktowe i dynamika płynów (201)
- Siły kontaktowe (202)
- Siły normalne (202)
- Naprężanie i ściskanie (203)
- Tarcie (204)
- Przykład - ruch ciała po równi pochyłej (205)
- Ciśnienie (211)
- Czym jest ciśnienie? (211)
- Gęstość (212)
- Ciśnienie na określonej głębokości wywierane przez płyn (213)
- Ciśnienie statyczne i ciśnienie dynamiczne (213)
- Wypór hydrostatyczny (214)
- Prawo Archimedesa (215)
- Ciężar pozorny (215)
- Ciała całkowicie zanurzone (216)
- Ciała pływające (216)
- Przykład - balon (217)
- Siła oporu (219)
- Siła oporu przy małych prędkościach (219)
- Siła oporu przy dużych prędkościach (220)
- Której siły oporu mam używać? (221)
- Wprowadzenie ruchu oporu powietrza do symulacji lotu balonu (222)
- Przykład - piłka pływająca po powierzchni wody (223)
- Prędkość końcowa (227)
- Przykład - spadochron (229)
- Siła nośna (231)
- Współczynnik wznoszenia (232)
- Przykład - samolot (233)
- Wiatr i turbulencje (235)
- Wiatr źródłem siły (235)
- Wiatr a opór (235)
- Przepływ stabilny i turbulentny (236)
- Przykład - ruch baniek przy stałym wietrze (236)
- Modelowanie przepływu turbulentnego (238)
- Podsumowanie (239)
Rozdział 8. Siła sprężystości - drgania sprężyny (241)
- Sprężyny i oscylatory - podstawowe zjawiska (241)
- Ruch drgający (242)
- Siła sprężystości, tłumienie i wymuszanie (242)
- Prawo Hooke'a (243)
- Drgania swobodne (244)
- Funkcja wyznaczająca siłę sprężystości (244)
- Przygotowanie prostego oscylatora (244)
- Prosty ruch harmoniczny (246)
- Drgania a dokładność obliczeń numerycznych (248)
- Drgania tłumione (252)
- Siła tłumiąca (252)
- Skutek tłumienia drgań (253)
- Analityczne rozwiązanie równania ruchu drgającego z tłumieniem (254)
- Drgania wymuszone (255)
- Siła wymuszająca (255)
- Przykład - okresowa siła wymuszająca (256)
- Przykład - losowa siła wymuszająca (257)
- Grawitacja jako siła wymuszająca - skoki na bungee (257)
- Przykład - siła wymuszająca sterowana przez użytkownika (261)
- Układy oscylatorów - wiele ciał na sprężynach (263)
- Przykład - łańcuch mas połączonych sprężynami (263)
- Podsumowanie (267)
Rozdział 9. Siła dośrodkowa. Ruch obrotowy (269)
- Kinematyka jednostajnego ruchu po okręgu (269)
- Kąt przemieszczenia (270)
- Prędkość kątowa (271)
- Przyśpieszenie kątowe (271)
- Okres, częstotliwość i prędkość kątowa (271)
- Zależność między prędkością kątową a liniową (272)
- Przykład - toczące się koło (274)
- Obracające się cząstki (276)
- Przykład - satelita okrążający obracającą się Ziemię (277)
- Przyśpieszenie dośrodkowe i siła dośrodkowa (280)
- Przyśpieszenie dośrodkowe (280)
- Przyśpieszenie dośrodkowe, prędkość i prędkość kątowa (281)
- Siła dośrodkowa (282)
- Często popełniane błędy (282)
- Przykład - kolejna próba opisania ruchu satelity (283)
- Przykład - orbity kołowe dla siły grawitacji (284)
- Przykład - samochód na zakręcie (287)
- Niejednostajny ruch po okręgu (290)
- Siła styczna i przyśpieszenie styczne (291)
- Przykład - wahadło matematyczne (291)
- Podsumowanie (295)
Rozdział 10. Siły dalekozasięgowe (297)
- Oddziaływanie między cząstkami a pole siły (298)
- Oddziaływanie na odległość (298)
- Od oddziaływań międzycząsteczkowych do pól sił (298)
- Grawitacja w ujęciu Newtona (299)
- Pole grawitacyjne wytwarzane przez ciało (300)
- Wiele ciał w polu grawitacyjnym (300)
- Pole grawitacyjne układu dwóch mas (302)
- Trajektoria pocisku poruszającego się w polu grawitacyjnym (305)
- Prosta gra - uniknij czarnej dziury (308)
- Siła elektrostatyczna (315)
- Ładunek elektryczny (315)
- Prawo Coulomba oddziaływań elektrostatycznych (316)
- Przyciąganie i odpychanie między naładowanymi cząstkami (317)
- Pole elektrostatyczne (319)
- Siła elektromagnetyczna (322)
- Pole magnetyczne i działające w nim siły (322)
- Siła Lorentza (323)
- Siły innych rodzajów (325)
- Siły centralne (326)
- Grawitacja sprężysta? (329)
- Grawitacja w polu wielu źródeł generujących różne pola (331)
- Podsumowanie (333)
Część III. Układy wielu cząstek i układy wielopokoleniowe (335)
Rozdział 11. Zderzenia (337)
- Modelowanie zderzeń (338)
- Odbicie od poziomej lub pionowej ściany (338)
- Odbicie sprężyste (339)
- Rozpraszanie energii na zderzenie (342)
- Odbicie od ukośnej ściany (343)
- Wykrywanie zderzeń (343)
- Przesuwanie cząstki w nowe położenie (345)
- Obliczanie nowej prędkości (346)
- Korygowanie prędkości przed zderzeniem (347)
- Przykład - piłka odbijająca się od nachylonej ściany (349)
- Przykład - piłka odbijająca się od wielu ścian (353)
- Zderzenia między cząstkami w jednym wymiarze (354)
- Przenoszenie cząstek w nowe położenie (355)
- Zderzenia sprężyste (357)
- Zderzenia niesprężyste (360)
- Zderzenia międzycząsteczkowe w dwóch wymiarach (362)
- Przykład - zderzenie dwóch cząstek w dwóch wymiarach (363)
- Przykład - zderzenia wielu cząstek (366)
- Przykład - zderzenia wielu cząstek z odbiciami (366)
- Podsumowanie (370)
Rozdział 12. Układy cząstek (371)
- Wprowadzenie do modelowania układów cząstek (372)
- Uzyskiwanie ciekawych efektów w animacjach z udziałem układów cząstek (373)
- Prosty przykład - rozbryzg wody (373)
- Przygotowanie emitera cząstek (376)
- Efekt dymu (378)
- Efekt ognia (382)
- Fajerwerki (383)
- Układy cząstek i siły zasięgowe (389)
- Ścieżka cząstek w polu siły (389)
- Tunele czasoprzestrzenne (392)
- Układy cząstek oddziałujących ze sobą (394)
- Układ wielu oddziałujących grawitacyjnie cząstek (395)
- Prosta symulacja ruchu gwiazd w galaktyce (399)
- Podsumowanie (403)
Rozdział 13. Ciała złożone (405)
- Bryła sztywna (406)
- Podstawy opisu ruchu bryły sztywnej (406)
- Modelowanie bryły sztywnej (411)
- Dynamika ruchu obrotowego bryły sztywnej (414)
- Symulacje uwzględniające dynamikę bryły sztywnej (418)
- Przykład - prosta symulacja turbiny wiatrowej (421)
- Przykład - toczenie na równi pochyłej (424)
- Zderzenia i odbicia ciał sztywnych (430)
- Przykład - symulacja odbić bryły sztywnej (434)
- Przykład - zderzenie bloków (437)
- Ciała odkształcalne (439)
- Układy sprężyn (439)
- Symulacja liny (440)
- Symulacja tkaniny (445)
- Podsumowanie (447)
Część IV. Tworzenie bardziej złożonych symulacji (449)
Rozdział 14. Metody całkowania numerycznego (451)
- Ogólne zasady całkowania numerycznego (452)
- Określenie problemu (452)
- Charakterystyka metod całkowania numerycznego (454)
- Rodzaje metod całkowania (456)
- Przygotowanie klasy Forcer do wykonywania obliczeń różnymi metodami (456)
- Całkowanie metodą Eulera (457)
- Całkowanie jawną metodą Eulera (458)
- Całkowanie niejawną metodą Eulera (458)
- Całkowanie półjawną metodą Eulera (459)
- Porównanie jawnej i półjawnej metody Eulera (459)
- Wady i zalety metod Eulera (460)
- Całkowanie metodą Rungego-Kutty (461)
- Metoda Rungego-Kutty drugiego rzędu (RK2) (461)
- Metoda Rungego-Kutty czwartego rzędu (RK4) (462)
- Stabilność i dokładność metod RK2 i RK4 w porównaniu z metodą Eulera (463)
- Całkowanie metodą Verleta (465)
- Całkowanie położeniową metodą Verleta (465)
- Całkowanie prędkościową metodą Verleta (467)
- Sprawdzenie stabilności i dokładności metod Verleta (467)
- Podsumowanie (468)
Rozdział 15. Pozostałe kwestie techniczne (469)
- Fizyka w trzech wymiarach (470)
- Różnica między fizyką w dwóch i w trzech wymiarach (470)
- Matematyka w trzech wymiarach (470)
- Przygotowanie klas opisujących trójwymiarowe ciała i ich ruch (476)
- Przygotowanie modeli trójwymiarowych (478)
- Przykład - obracający się sześcian (480)
- Dołączanie bibliotek 3D (483)
- Nieco na temat Stage3D (483)
- Przygotowywanie modeli w skali (483)
- Uzyskiwanie realistycznych efektów (484)
- Prosty przykład (484)
- Dobieranie jednostek (484)
- Współczynniki skalowania i wartości parametrów (485)
- Skalowanie równań (486)
- Przygotowywanie dokładnych symulacji (487)
- Prowadzenie obliczeń na zmiennych typu Number (487)
- Staranne dobranie metody całkowania (488)
- Dobranie odpowiedniego kroku obliczeń (488)
- Staranne dobieranie warunków początkowych (488)
- Ostrożność przy określaniu warunków brzegowych (488)
- Podsumowanie (489)
Rozdział 16. Projekty symulacji (491)
- Projekt łodzi podwodnej (491)
- Krótki opis teoretyczny (492)
- Przygotowanie sceny (492)
- Kod animacji (492)
- Kod napędzający łódź (494)
- Sterowanie i efekty wizualne (495)
- Pełny kod klasy SubmarineMover (496)
- Dalszy rozwój symulacji (498)
- Symulator lotów (499)
- Fizyka lotu a sterowanie samolotem (499)
- Jak będzie wyglądać symulacja? (503)
- Przygotowanie sceny (504)
- Fizyka symulacji (505)
- Mechanizm sterowania (509)
- Wyświetlanie informacji o locie (509)
- Sprawdzenie symulatora (510)
- Dalszy rozwój symulacji (511)
- Dokładny model Układu Słonecznego (511)
- Nad czym będziemy pracować? (511)
- Nieco fizyki (512)
- Wybranie odpowiedniego algorytmu (512)
- Symulacja ruchu jednej planety w warunkach idealnych (514)
- Dobranie współczynników skalowania (516)
- Dane dotyczące planet i warunków początkowych (518)
- Prosty model Układu Słonecznego (518)
- Wprowadzenie dokładnych warunków początkowych (523)
- Porównanie wyników symulacji z danymi z NASA (524)
- Dalszy rozwój symulacji (527)
- Podsumowanie (527)
Skorowidz (529)
Kategoria: | Grafika komputerowa |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-246-7182-3 |
Rozmiar pliku: | 7,7 MB |