220 likes | 325 Views
Możliwości biblioteki logiczno-fizycznej opartej na systemie masa-sprężyna jako środowiska modelowania rzeczywistości wirtualnej. Przegląd zagadnień Seminarium dyplomowe – cz. 1 Rudnicki Piotr, 2010. Plan prezentacji. Wstęp do tematu Zagadnienia obejmujące temat
E N D
Możliwości biblioteki logiczno-fizycznej opartej na systemie masa-sprężyna jako środowiska modelowania rzeczywistości wirtualnej. Przegląd zagadnień Seminarium dyplomowe – cz. 1 Rudnicki Piotr, 2010
Plan prezentacji • Wstęp do tematu • Zagadnienia obejmujące temat • Omówienie już istniejących rozwiązań • Cel pracy
Wstęp do tematu • Fizyka to realizm • Fizyka a obliczenia komputerowe
Wstęp do tematu • Przykłady rozwoju sprzętu i oprogramowania: • procesory: wielordzeniowe procesory, MIMD • karty graficzne: SLI / CrossFire, Tesla • karty fizyczne: PhysX • technologie GPGPU: CUDA, OpenCL, Direct Compute • Praktyczne wykorzystanie obliczeń fizycznych
Wstęp do tematu • Systemy naukowe i komercyjne • obliczenia naukowe, bezpieczeństwo • Przemysł rozrywkowy, gry komputerowe • wizualizacja zjawisk • gry oparte przede wszystkim na symulacji fizycznej realizm ↔ koszty, realizm != sukces
Zagadnienia obejmujące temat • Symulacja (np. w grach komputerowych): • pierwotny proces fizyczny • modelowanie • algorytm symulacji • program komputerowy • symulacja – uruchomiony program • wizualizacja
Zagadnienia obejmujące temat • System cząsteczkowy • punkty materialne • 3 stopnie swobody • najbardziej zbliżony do rzeczywistości • ograniczone zastosowanie w grach
Zagadnienia obejmujące temat • Zastosowanie systemów cząsteczkowych: • „rzadkie” obiekty, np. zjawiska atmosferyczne • obiekty złożone, w których nie występują bezpośrednie siły wewnętrzne • przepływ substancji ściśliwych
Zagadnienia obejmujące temat • Model bryły sztywnej • punkty materialne z ograniczeniami • 6 stopni swobody • skomplikowana matematyka • zastosowanie tylko tej metody staje się dla graczy niezadowalające
Zagadnienia obejmujące temat • Zastosowanie brył sztywnych: • typowe obiekty bez możliwości zmiany kształtu • wykrywanie i obsługa kolizji • W systemach obsługujących bryły sztywne można też znaleźć: • ograniczniki (ang. constrains) • połączenia (ang. joints) • inne specyficzne – hydraulika, motory itp.
Zagadnienia obejmujące temat • System masa-sprężyna – model ciała plastycznego • struktury punktów materialnych • 3 stopnie swobody plus kolejne 3 ukryte • bardziej zbliżone do rzeczywistości • umożliwia stworzenie ciekawych obiektów • innego rodzaju problemy niż przy bryłach sztywnych
Zagadnienia obejmujące temat • Zastosowanie systemu masa-sprężyna: • liny – włosy, kable • tkaniny – flaga, obrus, ubranie • ciała plastyczne – miękkie kolizje, gumowa piłka, amortyzatory • substancje – ściśliwość • fale na obiektach
Zagadnienia obejmujące temat • Dodatkowe elementy symulacji mogą być związane z logiką gry • gadżety – elementy logiczne: czujniki, przełączniki • elementy wpływające bezpośrednio na właściwości fizyczne: wentylatory, wiry, antygrawitacja itp.
Omówienie już istniejących rozwiązań • Wiele komercyjnych i darmowych rozwiązań • Wielkie silniki fizyczne (z dokumentacją w języku angielskim): • ODE • Bullet • Ageia, Havok, Newton
Omówienie już istniejących rozwiązań • ODE - darmowy silnik na licencji BSD • Wsparcie dla fizyki ciał sztywnych i pojazdów • wiele różnych rodzajów połączeń pomiędzy bryłami sztywnymi • obsługa kolizji • tarcie
Omówienie już istniejących rozwiązań • Bullet - Open Source / licencja Zlib • Symulacje brył sztywnych • detekcja kolizji • ograniczniki i połączenia • wsparcie dla fizyki pojazdów i kreatur • obliczenia równoległe • Wsparcie dla ciał plastycznych • budowanie ciał z trójkątów • proste kolizje
Omówienie już istniejących rozwiązań • Ageia, Havok, Newton • Rozbudowane • Brak możliwości podejrzenia kodu
Omówienie już istniejących rozwiązań • Główne wady istniejących rozwiązań: • brak wyraźnego wsparcia dla ciał plastycznych • brak piaskownicy • nastawione na obsługę gotowych modeli 3d • przejmowanie kontroli nad programistą • skomplikowane rozwiązania i setki tysięcy linii kodu
Omówienie już istniejących rozwiązań • Przykład zgrabnego silnika 2d – Phun • rozbudowana piaskownica • wsparcie dla ciał sztywnych • wsparcie dla substancji • edytor połączeń • walory edukacyjne
Cel pracy • Stworzenie biblioteki – nie silnika • możliwość częściowego wykorzystania • z myślą o nieskomplikowanych grach • Wsparcie dla systemu masa-sprężyna • symulacja lin, tkanin i substancji ściśliwych / ciał plastycznych • systemy cząsteczkowe
Cel pracy • Elementy logiczne • pola działające na właściwości ciał • przełączniki, czujki itd. • Piaskownica – możliwość wprowadzenia modyfikacji w czasie działania symulacji: • modelowanie ciał i określanie ich właściwości • pełna kontrola nad symulacją
Pytania? Uwagi?