Simulace mechaniky tuhých těles v reálném čase

Podobné dokumenty
Fyzika - Kvinta, 1. ročník

3.2. ANALYTICKÁ GEOMETRIE ROVINY

BIOMECHANIKA DYNAMIKA NEWTONOVY POHYBOVÉ ZÁKONY, VNITŘNÍ A VNĚJŠÍ SÍLY ČASOVÝ A DRÁHOVÝ ÚČINEK SÍLY

12 DYNAMIKA SOUSTAVY HMOTNÝCH BODŮ

JEDNOTKY. E. Thöndel, Ing. Katedra mechaniky a materiálů, FEL ČVUT v Praze. Abstrakt

3. ÚVOD DO ANALYTICKÉ GEOMETRIE 3.1. ANALYTICKÁ GEOMETRIE PŘÍMKY

Mechanika kontinua. Mechanika elastických těles Mechanika kapalin

Odvození středové rovnice kružnice se středem S [m; n] a o poloměru r. Bod X ležící na kružnici má souřadnice [x; y].

ODR metody Runge-Kutta

1 Rozdělení mechaniky a její náplň

Maturitní témata z matematiky

Lingebraické kapitolky - Analytická geometrie

Mechanika s Inventorem

MATEMATIKA V MEDICÍNĚ

Fyzikální vzdělávání. 1. ročník. Učební obor: Kuchař číšník Kadeřník. Implementace ICT do výuky č. CZ.1.07/1.1.02/ GG OP VK

Dynamika soustav hmotných bodů

ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ

Obyčejnými diferenciálními rovnicemi (ODR) budeme nazývat rovnice, ve kterých

Dynamika vázaných soustav těles

MECHANIKA TUHÉHO TĚLESA

Zadání semestrální práce z předmětu Mechanika 2

MATURITNÍ TÉMATA Z MATEMATIKY

TÍHOVÉ ZRYCHLENÍ TEORETICKÝ ÚVOD. 9, m s.

Sestavení pohybové rovnosti jednoduchého mechanismu pomocí Lagrangeových rovností druhého druhu

Maturitní otázky z předmětu MATEMATIKA

Projekt OPVK - CZ.1.07/1.1.00/ Matematika pro všechny. Univerzita Palackého v Olomouci

Střední škola automobilní Ústí nad Orlicí

I N V E S T I C E D O R O Z V O J E V Z D Ě L Á V Á N Í

19 Eukleidovský bodový prostor

FYZIKA I. Rovnoměrný, rovnoměrně zrychlený a nerovnoměrně zrychlený rotační pohyb

Numerická matematika. Zadání 25. Řešení diferenciální rovnice Rungovou Kuttovou metodou

1. Úvod do pružnosti a pevnosti

Gymnázium Jiřího Ortena, Kutná Hora

ANALYTICKÁ GEOMETRIE V ROVINĚ

INOVACE ODBORNÉHO VZDĚLÁVÁNÍ NA STŘEDNÍCH ŠKOLÁCH ZAMĚŘENÉ NA VYUŽÍVÁNÍ ENERGETICKÝCH ZDROJŮ PRO 21. STOLETÍ A NA JEJICH DOPAD NA ŽIVOTNÍ PROSTŘEDÍ

Systematizace a prohloubení učiva matematiky. Učebna s dataprojektorem, PC, grafický program, tabulkový procesor. Gymnázium Jiřího Ortena, Kutná Hora

Matematika 1 MA1. 1 Analytická geometrie v prostoru - základní pojmy. 4 Vzdálenosti. 12. přednáška ( ) Matematika 1 1 / 32

Aplikované úlohy Solid Edge. SPŠSE a VOŠ Liberec. Ing. Aleš Najman [ÚLOHA 38 KONTROLA A POHONY]

Cvičení 7 (Matematická teorie pružnosti)

Fyzika_6_zápis_8.notebook June 08, 2015

Gymnázium Jiřího Ortena, Kutná Hora. Průřezová témata Poznámky. Téma Školní výstupy Učivo (pojmy) volné rovnoběžné promítání průmětna

l, l 2, l 3, l 4, ω 21 = konst. Proved te kinematické řešení zadaného čtyřkloubového mechanismu, tj. analyticky

Parametrická rovnice přímky v rovině

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

2. Kinematika bodu a tělesa

Nelineární problémy a MKP

Přijímací zkouška na navazující magisterské studium 2015

VZÁJEMNÁ POLOHA DVOU PŘÍMEK V ROVINĚ

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/ Množiny, funkce

TUHÉ TĚLESO. Mgr. Jan Ptáčník - GJVJ - Fyzika - Mechanika - 1. ročník

PŘÍMKA A JEJÍ VYJÁDŘENÍ V ANALYTICKÉ GEOMETRII

ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ

3. Obecný rovinný pohyb tělesa

Teorie tkaní. Modely vazného bodu. M. Bílek

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ PRŮVODCE GB01-P03 MECHANIKA TUHÝCH TĚLES

B) výchovné a vzdělávací strategie jsou totožné se strategiemi vyučovacího předmětu Matematika.

Pohyby tuhého tělesa Moment síly vzhledem k ose otáčení Skládání a rozkládání sil Dvojice sil, Těžiště, Rovnovážné polohy tělesa

Přijímací zkouška na navazující magisterské studium Studijní program Fyzika obor Učitelství fyziky matematiky pro střední školy

Tematický plán Obor: Informační technologie. Vyučující: Ing. Joanna Paździorová

Gymnázium Česká a Olympijských nadějí, České Budějovice, Česká 64, 37021

Počítačová geometrie. + algoritmy DG

Dynamika. Dynamis = řecké slovo síla

Matematika I, část I Vzájemná poloha lineárních útvarů v E 3

Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/ TĚŽIŠTĚ

Zobrazování těles. problematika geometrického modelování. základní typy modelů. datové reprezentace modelů základní metody geometrického modelování

úloh pro ODR jednokrokové metody

Seriál II.II Vektory. Výfučtení: Vektory

Aplikace metody konečných prvků

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

Kinetická teorie ideálního plynu

Matematika II, úroveň A ukázkový test č. 1 (2017) 1. a) Napište postačující podmínku pro diferencovatelnost funkce n-proměnných v otevřené

KLASICKÁ MECHANIKA. Předmětem mechaniky matematický popis mechanického pohybu v prostoru a v čase a jeho příčiny.

Úvod do analytické mechaniky

14. přednáška. Přímka

Poznámka. V některých literaturách se pro označení vektoru také používá symbolu u.

Matematika 1 Jiˇr ı Fiˇser 19. z aˇr ı 2016 Jiˇr ı Fiˇser (KMA, PˇrF UP Olomouc) KMA MAT1 19. z aˇr ı / 19

Počítačová grafika RHINOCEROS

PRAKTIKUM I. Oddělení fyzikálních praktik při Kabinetu výuky obecné fyziky MFF UK. Pracoval: Pavel Ševeček stud. skup.: F/F1X/11 dne:

Rozvoj tepla v betonových konstrukcích

Mechanika tekutin. Hydrostatika Hydrodynamika

Experimentální realizace Buquoyovy úlohy

Rovnice přímky vypsané příklady. Parametrické vyjádření přímky

Mechanika tuhého tělesa

Práce, energie a další mechanické veličiny

Zimní semestr akademického roku 2014/ prosince 2014

Jaroslav Tuma. 8. února 2010

1 Projekce a projektory

Lineární algebra : Metrická geometrie

Určete velikost zrychlení, kterým se budou tělesa pohybovat. Vliv kladky zanedbejte.

Nelineární rovnice. Numerické metody 6. května FJFI ČVUT v Praze

F - Mechanika tuhého tělesa

2.5 Rovnováha rovinné soustavy sil

Mechanika - kinematika

Diferenciální rovnice kolem nás

maticeteorie 1. Matice A je typu 2 4, matice B je typu 4 3. Jakých rozměrů musí být matice X, aby se dala provést

Dynamika systémů s proměnnou hmotností. Vojtěch Patočka Univerzita Karlova - MFF

Sedmé cvičení bude vysvětlovat tuto problematiku:

SERIOVÉ A PARALELNÍ ZAPOJENÍ PRUŽIN

Moment síly výpočet

4. Statika základní pojmy a základy rovnováhy sil

Transkript:

Simulace mechaniky tuhých těles v reálném čase L. Pohanka Fakulta jaderná a fyzikálně inženýrská ČVUT, Břehová 7, 115 19 Praha 1 lukas.pohanka@inina.net Abstrakt Práce si bere za cíl předvést jednoduché možnosti konstrukce simulace tuhého tělesa v reálném čase a její 2D vizualizace v počítačovém rozhraní. Tyto pokročilé fyzikálněvizuální modely jsou běžně používány ve filmových efektech nebo komerčních 3D aplikacích a hrách. Model se zakládá na aplikaci klasické mechaniky a matematických metodách detekce kolizí. Součástí práce je také aplikace demonstrující autorův vlastní jednoduchý 2D model klasické newtonovské mechaniky. 1 Úvod S rostoucím výkonem dnešních počítačů roste i poptávka po reálnějších napodobeninách či simulacích reality. Počítače už ve chvíli svého vzniku byly předurčeny k tomu, aby nám pomohly předpovídat chování nebo simulovat věci, které nelze řešit analyticky nebo jsou příliš obtížné pro výpočet. Fyzika nabízí spoustu problémů, které nelze řešit jinak než numericky, tj. nemají přesné či dokonce žádné analytické řešení např.: úloha tří a více těles. Problematikou numerických řešení se zabývá mnoho oborů. Časem se zjistilo, že právě výsledky zkoumání této problematiky lze poměrně s úspěchem využít v místech, kde se snažíme nějakým způsobem přiblížit realitě (např. při použití filmových triků, ve 3D hrách). Je jasné, že toho půjde nejlépe docílit, když se budeme snažit naši každodenní fyziku, kterou tolik známe ze života přenést i do této virtuální reality. Znamená to tedy vytvořit jakýsi malý model světa zakládající se na fyzikálních zákonech jedná se o skloubení dvou věcí: numerické simulace fyzikálního systému (ta nám popíše jak systém vypadá číselně v kterémkoliv stavu) a následné použití těchto výsledků při konstrukci virtuální reality - tj. vizualizace. Takový komplexní vizuální model fyziky lze pak s úspěchem využít a šetřit tak například práci mnoha animátorů. Ti by se snažili animovat předměty virtuálního světa tak, aby odpovídal jejich pojetí reality a každodenní zkušenosti s fyzikou. Je zbytečné podotýkat, že taková animace by v případě mnoha předmětů byla velmi náročná a hlavně by vůbec nemusela odpovídat tomu, jak se daná věc či předmět chová ve skutečnosti. Nakonec animátor není fyzik. S velikým úspěchem se proto používá těchto hotových fyzikálních modelů, kdy se pouze vytvoří základní grafický model předmětu a ten se poté nechá rozpohybovat. Model je tím univerzálnější, čím více vstupních parametrů obsahuje. Můžeme tak např. použít jeden grafický objekt kosmonauta a nechat animovat jeho pohyb třeba na Marsu, Měsíci, Zemi nebo v beztíži, aniž by animátor hnul prstem. 2 Rovnice klasické mechaniky Obecně lze pohyb v takto modelovaném systému tuhých těles vyjádřit pomocí vzorců klasické mechaniky. Síla, která způsobuje pohyb, má obecně 2 faktory: posuvný účinek a rotační účinek. Posuvný účinek vyjadřuje vektor výslednice všech sil, rotační účinek sil zas vyjadřuje celkový moment síly. Newtonovy pohybové rovnice lze obecně vyjádřit i pro rotaci - to charakterizuje tabulka 1 (1).

Poloha r φ Rychlost Zrychlení Hmotnost m I Síla F = ma M = Iε Tabulka 1: Pohybové rovnice posuvného a rotačního pohybu Jak snadno vidíme z tabulky 1, všechny základní pohybové rovnice klasické mechaniky jsou diferenciální. To znamená, že numerické řešení systému postaveného na silách bude vyžadovat nějakou numerickou metodu řešení diferenciálních rovnic pro výpočet příslušných veličin. 3 Metody numerického řešení obyčejných diferenciálních rovnic Metody se liší především tím, jak rychle jejich řešení konverguje ke správnému analytickému řešení problému. Těchto metod existuje velké množství, avšak obecně se pro typy fyzikálních simulací, se kterými se zde zabývám, používají následující tři metody (2). Eulerova metoda Nejjednodušší metoda, jejíž použití je však vykoupeno velkou chybou, neboť k analytickému řešení konverguje nejpomaleji. Verletova metoda Pravděpodobně nejčastěji používaná metoda v real-time simulacích (2). Kompromis mezi chybou a složitostí implementace. Metoda Runge-Kutta Je nejspolehlivější metoda pro numerické řešení - k analytickému řešení konverguje nejrychleji. V první řadě se však hodí spíše pro jednorázové simulace. Do obecných systémů nemusí být jednoduché ji implementovat. Pro úplnost zde uvádím rovnice metody RK čtvrtého řádu (RK4):,,

V závislosti na tom, jakou zvolíme metodu, bude simulace vykazovat buď menší, nebo větší tzv. energetický drift. Vzhledem k tomu, že numerické řešení se vždy bude jen blížit k ideálnímu analytickému, nemůžeme z principu docílit dokonale všech zákonů zachování (zejména zákona zachování energie - proto energetický drift). Kyvadlo se tak v prostředí bez odporu nebude kývat pořád stejně, ale na každou periodu kyvu připadne nějaká chyba. Celková energie kyvadla se tak bude buď ztrácet, nebo bude přibývat. V konečném čase se tak kyvadlo buď zastaví, nebo přepadne a začne se otáčet. Podle toho, jakou zvolíme numerickou metodu, můžeme v závislosti na její chybě ovlivnit pouze velikost driftu, nelze jej však zcela vyloučit. 4 Detekce a reakce na kolizi Jelikož celou simulovanou scénu nyní zobrazujeme a jedná se o soustavu těles, mohou tělesa také interagovat mezi sebou. Stojíme tak před problémem detekce srážky dvou (či více těles) a posléze pak i nutností reagovat na takovou srážku v souladu s fyzikou. Samotný problém detekce závisí na typu zvolené zobrazovací metody. Způsobů detekce je mnoho, a protože se jedná o matematický problém, uvedu jen stručně mnou zvolenou metodu ve dvojrozměrném zobrazení, poté se vrátíme k fyzikálnímu problému reakce na probíhající srážku. Věta o oddělující přímce (Separating axis theorem) Jeden z nejspolehlivějších způsobů detekce průniku dvou útvarů je využití tzv. věty o oddělující přímce (SAT). Tento poznatek analytické geometrie udává nutnou a postačující podmínku pro neexistenci průniku dvou geometrických útvarů v rovině (větu lze ale také upravit i pro případ v prostoru z přímky tak bude rovina): Nechť jsou dány 2 konvexní útvary. Potom existuje taková přímka, na které jsou projekce těchto útvarů disjunktní právě tehdy, když neexistuje průnik těchto útvarů. Obrázek 1: Dělící přímka dvou konvexních útvarů Na obrázku 1 můžeme vidět, že skutečně pro dva konvexní disjunktní útvary existuje taková společná přímka (zeleně), na které jsou i jejich projekce disjunktní. V praxi se tedy musí projít jednotlivé hrany obou kandidátů na kolizi a udělat projekci těchto hran na všechny možné přímky, které se zase vytvoří z hran. Maximální počet kroků je tedy (k 1 +k 2 ) 2, kde k 1 a k 2 jsou počty hran dvou těles. Výhodou však je, že algoritmus může skončit okamžitě, jakmile se nalezne disjunktní projekce na jediné přímce. Tedy v reálném případě kdy kolize nestávají příliš často - je tento algoritmus velmi efektivní. Nevýhodou je, že věta platí jen pro konvexní útvary, takže jakákoliv nekonvexní tělesa je nutné zabalit do konvexního obalu vznikají tak nepřesnosti v detekci kolizí.

Reakce na kolizi Jakmile detekční algoritmus zjistí kolizi dvou těles, dává hned automaticky podnět fyzikálnímu modelu, který musí zařídit adekvátní odpověď na právě nastávající srážku. Při srážce v reálném světě působí v okamžik srážky na obě tělesa impuls síly. Tento okamžik je však nekonečně malý a tudíž nejsme schopni něco takového nasimulovat. Je tedy nutné uchýlit se k tomu, že změníme rychlosti dvou kolidujících těles přímo rychlosti obou těles po srážce schopni přesně spočítat. V klasické mechanice existují rovnice, kterými lze popsat libovolnou srážku jen na základě hmotností a rychlostí obou těles. Lze do nich také velmi elegantně zapojit i fakt, že při srážce, která není ideálně pružná, se ztratí určitá energie v pružnosti obou těles. Tento jev vystihuje tzv. koeficient restituce. Udává poměr rychlosti dvou těles před srážkou a po srážce. Z definice koeficientu restituce tedy vyjdeme i při odvození (n je normálový vektor ke společné hraně srážky) Pro výstupní rychlost prvního tělesa však také platí a pro výstupní rychlost druhého tělesa rovnice (1.1) (1.2). (1.3) Rozdíl rovnic (1.2) a (1.3) dosadíme za člen na levé straně v rovnici (1.1) a vyjádříme j (přitom označíme v 1 A -v 1 B = v 1 AB ) (1.4) Když dosadíme j zpátky do rovnic (1.2) a (1.3) získáme rychlosti těles po srážce. Srážka však nemá pouze posuvný účinek, ale opět i rotační. Použitím stejného j z rovnice (1.4) získáme z rovnic (1.5) a (1.6) úhlové rychlosti těles po srážce ( je vektor kolmý k vektoru vzájemné polohy těles). Pro první těleso máme výstupní uhlovou rychlost a pro druhé těleso výstupní úhlovou rychlost (1.5). (1.6)

5 Závěr Ve své vlastní implementaci fyzikálního modelu jsem kvůli jednoduchosti použil Eulerovu metodu. Je na ní možné demonstrovat velikost její chyby, resp. energetický drift. Model každému tělesu přiřazuje tzv. akumulátor celkové síly a momentu sil působící na těleso. Z těchto celkových veličin se pak výše zmíněnou integrační metodou získávají kinematické veličiny. Zobrazovací metodu jsem rovněž, kvůli jednoduchosti implementace, zvolil 2D. Celkově tedy tento dokument shrnuje použité metody v mojí implementaci simulace fyziky. Celá má vlastní implementace je dostupná ke stažení, a to včetně zdrojových kódů (3). Reference [1] I. Štoll, Mechanika, ČVUT, Praha (1995) [2] O. Mocný, Real-time fyzikální simulace pro mobilní zařízení, MFF UK, Praha (2009) [3] L. Pohanka, PhysBox, https://github.com/numberfour8/physbox [4] kol. autorů, Numerické řešení obyčejných diferenciálních rovnic, http://cs.wikipedia.org/wiki/numerické_řešení_obyčejných_diferenciálních_rovnic. [5] Ch. Hecker, Rigid body dynamics, http://chrishecker.com/rigid_body_dynamics