1 Symulacje komputeroweFizyka w modelowaniu i symulacjach komputerowych Jacek Matulewski ( Symulacje komputerowe Zbiór punktów materialnych Wersja: 18 lutego 2010
2 Plan Model punktu materialnego. KinematykaDynamika punktu materialnego (© I. Newton) Modelowanie oddziaływań punktów materialnych. Równania ruchu Obszar niedostępny. Siły kontaktowe. Odbicie kuli od nieruchomej powierzchni Zderzenie niecentralne i niesprężyste dwóch kul a) detekcja kolizji (geometria) b) reakcja na zderzenie (fizyka)
3 Koncepcja punktu materialnegoRozmiar ciała jest nieistotny w porównaniu z innymi odległościami zagadnienia (np. z przebytą drogą) Masa ciała skupiona jest w punkcie geometrycznym (najlepiej w środku masy) Ruch postępowy, bez obrotów! Implementacja w klasach PunktMaterialny i ZbiorPM
4 Równania ruchu Druga zasada dynamikiRównanie na położenie punktu (konkretna siła) np. w pobliżu powierzchni Ziemi Rozwiązanie wymaga warunków początkowych:
5 Metoda Eulera Taylor 1-go rzędu (jak ilorazy różnicowe) Przepis:Oblicz prędkość w kolejnej chwili czasu: Oblicz położenie w kolejnej chwili korzystając z pr. Zależy od położenia i prędkości w jednej chwili czasu (wygodne przy zmianie stanu punktu)
6 Metoda Verleta Przepis:Obliczani położenia w następnej chwili czasu: Do kolejnych kroków i do wizualizacji prędkość wcale nie jest potrzebna (można jej nie obliczać)! Większa dokładność przy tej samej złożoności obliczeniowej. Metoda dynamiki molekularnej
7 Metoda Eulera i VerletaImplementacja w klasie PunktMaterialny template
8 Metoda Eulera i VerletaImplementacja w klasie ZbiorPunktowMaterialnych template
9 Siły sprężystości Siła harmoniczna - oscylacje Siła tłumiącaSiła oporu Siła harmoniczna tłumienie oscylacji opory
10 Siły sprężystości Oscylatory sprzężone (demonstracja)Sztywność (siła zależąca od kąta vs. dalsi sąsiedzi Lina i włos (demonstracja)
11 Siły kontaktowe Ciało nieruchome (masa, więzy), obszar niedostępny (zabroniony), nieruchomy obszar kolizji Równoważenie składowej siły normalnej do powierzchni , gdy Modyfikacja prędkości (odbicie)
12 Siły kontaktowe Siła tarcia (składowa równoległa siły kontaktowej)Tarcie nie zależy od rozmiaru powierzchni styku (Leonardo da Vinci, Amontos) Tarcie dynamiczne i statyczne
13 Siły kontaktowe Implementacja – klasa ObszarZabronionyPole klasy ZbiorPunktowMaterialnych Zadania: Czy punkt wszedł do obszaru niedostępnego? Określenie normalnej do powierzchni w punkcie penetracji
14 Siły kontaktowe Implementacja – klasa ObszarZabronionytemplate
15 Zaimplementowane obszary zabr.Podłoże bool CzyWObszarzeZabronionym(Wektor polozenie, Wektor poprzedniePolozenie, double margines,Wektor* normalna) { bool wynik=(polozenie.Y
16 Zaimplementowane obszary zabr.Kula bool CzyWObszarzeZabronionym(Wektor polozenie, Wektor poprzedniePolozenie, double margines,Wektor* normalna) { Wektor wektorPromienia=polozenie-srodek; bool wynik=wektorPromienia.Dlugosc()
17 Zaimplementowane obszary zabr.Podłoże, kula, walec (demonstracje) Walec nieograniczony w kierunku OZ (demo.) Prostopadłościan nieograniczony w kierunku OZ Uwzględnienie marginesu (rozmiar punktu mat.)
18 Rozpraszanie na kuli Demonstracja Woda (brak odbicia, wobs=0)Metalowe kulki (odbicie sprężyste , wobs=1)
19 Układy dwuwymiarowe (np. tkaniny)Ile potrzeba wiązań?
20 Układy trójwymiarowe (c. miękkie)Ile wiązań?
21 Zderzenia Dwa etapy: Detekcja kolizji (geometria zderzenia)Reakcja na zderzenie (fizyka zderzenia)
22 Niesprężyste i niecentralne zderzenie dwóch kulDetekcja kolizji (geometria zderzenia) Zderzenie jeżeli odległość środków jest nie większa od sumy promieni
23 Niesprężyste i niecentralne zderzenie dwóch kulReakcja na kolizję (fizyka zderzenia) Zagadnienie jest w istocie jednowymiarowe Normalna zderzenia:
24 Niesprężyste i niecentralne zderzenie dwóch kulPopęd = zmiana pędu w momencie zderzenia Jeżeli nie ma tarcia, nie ma obrotów: współczynnik restytucji (miara niesprężystości) Trzy niewiadome!!!
25 Niesprężyste i niecentralne zderzenie dwóch kulPopęd = zmiana pędu w momencie zderzenia Jeżeli nie ma tarcia, nie ma obrotów Rozwiązanie:
26 Niesprężyste i niecentralne zderzenie dwóch kulTest – problem bilardzisty (demostracja) Jeżeli bile mają równe masy, to powinny rozbiec się pod kątem prostym. Bilard (demonstracja)
27 Sterowanie – „fizyczna” ingerencjaZmiana pozycji punktu myszą – sprężyna między położeniem punktu i myszy w 3D Bezpośrednie związanie – problemy numeryczne Demonstracja Zmiana pozycji za pomocą klawiatury – kontrola prędkości czy przyspieszenia
28 Woda uderzająca w tkaninęDemostracja – źródła niedoskonałości Przecięcie odcinka z trójkątem Omówienie implementacji
29 Optymalizacja przy dużej ilości pkt.Periodyczne warunku brzegowe (PBC) Podział na komórki – ograniczenie ilości oddział. Złożoność oblicz. problemu z N2 zmienia się w N Analiza implementacji
30 Przykład użycia implementacji zbioru punktów materialnychWorld of Goo (demonstracja)