Wprowadzenie do fizyki w grach, animacjach i symulacjach Flash - Helion

Tytuł oryginału: Physics for Flash Games, Animation, and Simulations
Tłumaczenie: Julia Szajkowska
ISBN: 978-83-246-4473-5
stron: 536, Format: 180x235 , okładka: miękka
Data wydania: 2013-03-29
Księgarnia: Helion
Cena książki: 79,00 zł
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!
Osoby które kupowały "Wprowadzenie do fizyki w grach, animacjach i symulacjach Flash", wybierały także:
- Learning ActionScript 3.0. A Beginner's Guide. 2nd Edition 157,37 zł, (29,90 zł -81%)
 - Flash CS5.5: The Missing Manual. 6th Edition 124,58 zł, (29,90 zł -76%)
 - Learning ActionScript 3.0. The Non-Programmer's Guide to ActionScript 3.0 124,58 zł, (29,90 zł -76%)
 - ActionScript 3.0 Cookbook. Solutions for Flash Platform and Flex Application Developers 124,58 zł, (29,90 zł -76%)
 - Perl Graphics Programming. Creating SVG, SWF (Flash), JPEG and PNG files with Perl 115,00 zł, (29,90 zł -74%)
 
Spis treści
Wprowadzenie do fizyki w grach, animacjach i symulacjach Flash -- 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)
         





