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!
Darmowy fragment publikacji:
Tytuł oryginału: The Essential Guide to Physics for Flash Games, Animation, and Simulations
Tłumaczenie: Julia Szajkowska
ISBN: 978-83-246-4473-5
Original edition copyright © 2011 by Dev Ramtal and Adrian Dobre
All rights reserved.
Polish edition copyright © 2013 by HELION SA.
All rights reserved.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic
or mechanical, including photocopying, recording or by any information storage retrieval system, without
permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji
w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną, a także
kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich
niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli.
Wydawnictwo HELION dołożyło wszelkich starań, by zawarte w tej książce informacje były kompletne i rzetelne.
Nie bierze jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne
naruszenie praw patentowych lub autorskich. Wydawnictwo HELION nie ponosi również żadnej
odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail: helion@helion.pl
WWW: http://helion.pl (księgarnia internetowa, katalog książek)
Pliki z przykładami omawianymi w książce można znaleźć pod adresem: ftp://ftp.helion.pl/przyklady/wprofi.zip
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/wprofi
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
• Kup książkę
• Poleć książkę
• Oceń książkę
• Księgarnia internetowa
• Lubię to! » Nasza społeczność
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
5
Spis treĂci
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
6
Spis treĂci
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
7
Spis treĂci
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
8
Spis treĂci
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
9
Spis treĂci
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
10
Spis treĂci
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
11
Spis treĂci
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
12
Spis treĂci
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
13
Spis treĂci
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
14
Spis treĂci
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
15
Spis treĂci
16
Rozdziaï 8.
Siïa sprÚĝystoĂci — drgania sprÚĝyny
Sprężyny to jedno z najbardziej przydatnych narzędzi wykorzystywanych do wywoływania interesujących
zjawisk fizycznych oraz ich modelowania. Okazuje się, że drgania sprężyste występują w bardzo wielu
układach, przez co zachowanie ciał należących do tych układów daje się opisywać za pomocą równań zwią-
zanych z ruchem ciała na sprężynie. Stąd prosty wniosek — czas poświęcony na poznanie ruchu drgającego
nie będzie czasem straconym. Uważaj jednak, sprężyny uzależniają!
W tym rozdziale opiszemy następujące tematy:
Drgania swobodne — ruch ciała, na które działa siła sprężystości.
Drgania tłumione — tłumienie to wynik rozpraszania energii drgań, więc w efekcie doprowadza
do ustania ruchu ciała.
Drgania wymuszone — odpowiednia siła zewnętrzna działająca na układ może wprowadzić ciało
w drgania i utrzymać te drgania mimo występowania w układzie sił tłumiących.
Układy oscylatorów — tworzenie układów wielu sprężyn i ciał o różnych masach pozwala uzyskać
bardzo interesujące efekty.
SprÚĝyny i oscylatory — podstawowe zjawiska
O oscylatorach pisaliśmy już w rozdziale 3., gdy wprowadziliśmy pojęcie funkcji sinusoidalnej oraz ideę łącze-
nia ze sobą funkcji okresowych (szczegóły znajdziesz w podrozdziale „Funkcje trygonometryczne w ani-
macjach”). Drgania to ruch powtarzalny i następujący względem określonego położenia równowagi. Naj-
prostszymi przykładami ruchu drgającego są wahania wahadła czy też wychylenia huśtawki.
Drgania pojawiają się także w przyrodzie. Ruch drzew na wietrze to jeden z przykładów drgań, innym może
być ruch ciał unoszących się i opadających na wodzie w wyniku jej falowania. Podobny ruch obserwujemy
241
Rozdziaï 8.
w urządzeniach zawierających sprężyny, dlatego też ruch drgający nazywa się bardzo często drganiami
sprężystymi — sami będziemy stosować te określenia wymiennie. Co więcej, podobieństwo zjawisk nie ogra-
nicza się do synonimicznych nazw: układy drgające modeluje się właśnie za pomocą zestawów „sprężyn”.
Co jest źródłem drgań i dlaczego są one tak często spotykane? Zanim zajmiemy się przygotowywaniem
modeli, postaramy się odpowiedzieć na te pytania.
Ruch drgajÈcy
Wspominaliśmy już o ruchu drgającym, choć nie zrobiliśmy tego jawnie. Przypomnij sobie symulację piłki
wypływającej z wody, którą przygotowałeś w czasie pracy z poprzednim rozdziałem — piłka oscylowała
przez chwilę wokół położenia równowagi, nim ostatecznie określiła swoje położenie. Podobny ruch staje
się udziałem wielu innych ciał — w ten sam sposób zachowuje się samochód wykorzystujący układ amor-
tyzacji, podobny ruch wykonują drzewa gnące się na wietrze, ich gałęzie czy liście poruszane podmuchami
powietrza. Inną grupę stanowią ciała, których ruch pozornie nie ma nic wspólnego z drganiami spręży-
stymi, a mimo to modeluje się go za pomocą układów wirtualnych sprężyn. Typowe przykłady to odkształ-
cenia ciał, na przykład lin, tkaniny czy włosów. Domyślasz się już zapewne, że musi istnieć wspólny mia-
nownik wszystkich tych układów, który sprawia, że ich zachowanie można przyrównać do zachowania
odkształconej sprężyny. Jakie to cechy?
Siïa sprÚĝystoĂci, tïumienie i wymuszanie
W układzie drgającym wyróżnia się:
punkt równowagi, czyli takie położenie ciała, w którym to ciało pozostałoby na stałe, gdyby się
nie poruszało;
siłę sprężystości, czyli czynnik przesuwający ciało w stronę położenia równowagi, jeśli wcześniej
zostanie ono z niego wychylone;
siłę tłumiącą, czyli czynnik zmniejszający z czasem zakres drgań;
siłę wymuszającą, czyli siłę wychylającą ciało z położenia równowagi.
Pierwsze dwa z wymienionych pojęć pojawiają się w opisie ruchu każdego oscylatora, natomiast dwa następne
opisują czynniki, które mogą towarzyszyć drganiom, ale nie są konieczne do ich występowania. Złożone
układy pozornie pozostają poza zasięgiem analizy za pomocą przedstawionych tu pojęć, ale okazuje się,
że zazwyczaj można je rozłożyć na czynniki, dla których podane powyżej terminy mają już znaczenie (tak zwane
modelowanie). Przykładem jest oddawanie natury liny za pomocą układu połączonych ze sobą sprężyn.
Do opisu zjawisk wynikających z istnienia siły sprężystości, tłumienia i wymuszania niezbędne jest zrozumie-
nie pojęcia amplitudy. Amplituda drgań to termin, którym określa się maksymalne wychylenie z położenia
równowagi. Amplituda to na przykład początkowe wychylenie huśtawki z położenia równowagi, do którego
przeciągasz ją, by rozpocząć jej ruch.
Siła sprężystości powoduje, że położenie ciała zmienia się z czasem, ale jej wartość nie zmienia amplitudy
(maksymalnego przemieszczenia). Amplituda zależy wyłącznie od ilości energii, jaką dysponuje układ. Siła
tłumiąca sprawia, że układ traci energię, co w efekcie prowadzi do zmniejszenia amplitudy drgań. To właśnie
spotyka huśtawkę, którą wychylisz z położenia równowagi i której pozwolisz poruszać się pod wpływem
tego jednokrotnego dostarczenia energii. Siła wymuszająca dostarcza energię do układu, zatem może zwięk-
242
Siïa sprÚĝystoĂci — drgania sprÚĝyny
szyć amplitudę drgań. Gdy w układzie działa zarówno siła tłumiąca, jak i siła wymuszająca, możliwe jest
osiągnięcie stanu równowagi, w którym ilość traconej energii będzie natychmiast kompensowana dostar-
czaną energią. W takim przypadku amplituda drgań nie ulegnie zmianie tak długo, jak długo będzie dzia-
łać siła wymuszająca. Innymi słowy, huśtawka będzie się huśtać tak długo, jak długo co jakiś czas pchniesz
ją dodatkowo z odpowiednią siłą.
Prawo Hooke’a
Do opisu większości układów drgających można zastosować prawo Hooke’a (nazwane tak na cześć jego
odkrywcy — Roberta Hooke’a).
Prawo Hooke’a jest stosunkowo proste. Wyjaśnimy je na przykładzie sprężyny, ponieważ takim układem
posłużył się jego odkrywca. Spójrz na rysunek 8.1, gdzie przedstawiliśmy sprężynę w stanie nieodkształco-
nym (o długości l) zamocowaną na jednym z końców oraz sprężynę, która została rozciągnięta o długość x,
przez co osiągnęła wymiar l+x.
Rysunek 8.1. Na rozciągniętą sprężynę działa siła proporcjonalna do wydłużenia x
Prawo Hooke’a stwierdza, że sprężyna została rozciągnięta siłą o wartości F równą:
F = ík·x.
Oznacza to, że siła rozciągająca jest proporcjonalna do wydłużenia x. Stałą proporcjonalności k pojawiającą
się w tym równaniu określamy mianem stałej sprężystości. Jest ona miarą sztywności sprężyny. Im więk-
sza będzie wartość stałej k, tym większa siła będzie wiązać się z danym odkształceniem, zatem sprężyna
będzie ściągana z większą siłą po tym, jak zostanie odkształcona.
Znak minus sygnalizuje, że wektor siły jest zwrócony w przeciwnym kierunku niż wektor przemieszczenia.
Zatem jeśli sprężyna zostanie ściśnięta, siła sprężystości będzie usiłowała doprowadzić do jej rozprężenia.
Wektorowo równanie to zapisuje się następująco, przyjmując r za wektor przemieszczenia swobodnego
końca sprężyny:
F = ík·r.
W większości zagadnień tego rozdziału nie będziemy poświęcać większej uwagi samej sprężynie (a i Ty
zapewne szybko dojdziesz do wniosku, że jest ona mało interesującym
Pobierz darmowy fragment (pdf)