320 likes | 831 Views
Fizyka w modelowaniu i symulacjach komputerowych Jacek Matulewski (e-mail: jacek@fizyka.umk.pl ) http://www.fizyka.umk.pl/~jacek/dydaktyka/modsym/. Symulacje komputerowe. Dynamika bryły sztywnej. Wersja: 8 kwietnia 2010. Plan (1). Bryła sztywna Środek masy = punkt materialny
E N D
Fizyka w modelowaniu i symulacjach komputerowych Jacek Matulewski (e-mail: jacek@fizyka.umk.pl) http://www.fizyka.umk.pl/~jacek/dydaktyka/modsym/ Symulacje komputerowe Dynamika bryły sztywnej Wersja: 8 kwietnia 2010
Plan (1) • Bryła sztywna • Środek masy = punkt materialny • Kinematyka bryły sztywnej (prędkość kątowa) • Układy odniesienia w ruchu obrotowym • Równania ruchu bryły sztywnej, momenty pędu i siły • Tensor momentu bezwładności • Równania ruchu c.d. - macierz obrotu • Operator gwiazdki
Plan (2) • Kwaterniony lepsze od macierzy obrotu • Reprezentacje obrotów – porównanie • Wykrywanie zderzeń dowolnych brył, siatek (trójkąty) • Idee: otoczka wypukła, hierarchiczna dekompozycja • Obszary ograniczające: BS, AABB, OBB • Jak wykryć kolizję dwóch wypukłych brył sztywnych? • Wyznaczanie przekroju prostopadłościanów OBB • Metoda GJK
Koncepcja bryły sztywnej • Ciała rozciągłe zbudowane z punktów materialnych (np. tkaninę lub sześcian) – odkształcenia, drgania • Bryła sztywna = obiekt, który nie może zmieniać kształtu, zbiór punktów o stałych względnych położeniach • Ruch postępowy i obroty! • Implementacja w C++ i C# (zbiór brył sztywnych)
Środek masy • Środek masy • Prędkość środka masy • Równanie ruchu (postępowego) środka masy:
Środek masy • Równania ruchu takie same jak dla punktu materialnego! • Do opisu środka masy użyjemy gotowej klasy PunktMaterialny z jej metodami całkującymi równanie Newtona (algorytmy Eulera i Verleta)
Kinematyka bryły sztywnej • Oznaczenia:
Kinematyka bryły sztywnej • Wektor prędkości kołowej • Rotujący układ odniesienia – pochodna wekt. • Przykład: prędkość liniowa: wyprowadzenie – zadanie domowe O – układ laboratoryjny (inercyjny) O’ – układ obracający się z prędkością w ruch względem O’ translacja układu odniesienia
Dynamika bryły sztywnej • Do bryły sztywnej przykładamy zewnętrzną niezrównoważoną siłę. • Efektem będzie ruch (postępowy środka masy + obroty) • Opis obrotów bryły – pojęcie momentu pędu
Moment pędu • Moment pędu: przejście do układu nieobracającego się, ale o początku związanym z bryłą sztywną (ułatwia rozdzielenie ruchu śr. masy i obrotów) • momentu bezwładności Te wyrazy znikają, gdy układ O’ związany jest z bryłą sztywną
Moment bezwładności • Moment pędu w układzie związanym z bryłą: • Obliczanie składowych momentu pędu:
Tensor momentu bezwładności • Zawiera całą informację o geometrii bryły(stały gdy obliczane w lokalnym układzie bryły) • Prostopadłościan: wyprowadzenie – zadanie domowe
Tensor momentu bezwładności • Obliczanie momentu bezwładności bryły • Twierdzenie Steinera
Dynamika bryły sztywnej • Pochodna momentu pędu: moment siły • Równanie ruchu obrotowego: • Moment bezwładności nie jest wielkością stałą jeżeli zmienia się oś obrotu! • Duży koszt obliczeniowy
Dynamika bryły sztywnej • Wygodniej byłoby używać stałego tensora • Ruch obrotowy w układzie środka masy: Moment bezwładności obliczany w układzie lokalnym (środka masy)
Równania ruchu • Ruch postępowy środka masy • Ruch obrotowy w układzie środka masy • Do implementacji: Moment bezwładności obliczany w układzie lokalnym (środka masy)
Równania ruchu • Złożenie ruchu postępowego i obrotowego • W układzie środka masy – tylko ruch obrotowy
Macierz obrotu • Po scałkowaniu równań ruchu otrzymamy prędkość liniową i kołową. Jak znaleźć położenie i orientację ciała? • Jak zapisać orientację ciała? Macierz obrotu R • Interpretacja kolumn macierzy obrotu
Macierz obrotu • Pochodna wersora: • Pochodna macierzy obrotu:
Operator gwiazdki • Iloczyn wektorowy: • Operator realizujący iloczyn wektorowy(zaleta: działa na macierze)
Implementacja • Demonstracja kodu • Zbiór swobodnych prostopadłościanów • Gdy moment sił = 0, rozbieżne po 1 000 iter.
Implementacja • Demonstracja c. d. • Gdy przyłożony moment siły, szybka utrata dokładności (skalowanie, pochylenie) Macierze obrotu(jednostajne powiększenie) Kwaterniony(„oddychanie”) Kwaterniony z renormalizacją
Kwaterniony • Cztery pierwiastki -1: • Zapis analogiczny do licz zespolonych: • Dodawanie = dodawanie składowych • Mnożenie – mieszanie składowych (nieprzemienne)
Kwaterniony • Mnożenie (często używany wzór): • Sprzężenie kwaternionu: • Kwaternion odwrotny: • Kwaterniony to nie są rozszerzone wektory:
Kwaterniony jednostkowe • Kwaternion jednostkowy (norma = 1): • Kąt i oś obrotu:
Kwaterniony jednostkowe • Obracanie wektora:
Kwaterniony jednostkowe • Kwaternion jednostkowy jest równoważnymacierzy obrotu (ortonormalna): • Konwersja kwaternionu na macierz (konieczna np. do OpenGL):
Pochodna kwaternionu • Chcemy za pomocą kwaternionów zapisać równanie ruchu Nowe równanie ruchu równoważne macierzowemu
Reprezentacje obrotów • Kąty Eulera (3 liczby) • Macierze obrotu (9 liczb) • Kwaterniony (4 liczby) • Wady i zalety • efekt przegubowy (gimbal lock) • interpolacja • Ilość zajmowanej pamięci • łatwość renormalizacji (vs. koszt ortogonalizacji)