Dynaaminen simulointi - Dynamical simulation
Dynaaminen simulointi , laskennallisessa fysiikassa , on vapaasti liikkuvien esineiden järjestelmien simulointia , yleensä kolmiulotteisena Newtonin dynamiikkalakien tai niiden arvioiden mukaan. Dynaamista simulaatiota käytetään tietokoneanimaatiossa auttamaan animaattoreita tuottamaan realistista liikettä, teollisuussuunnittelussa (esimerkiksi kaatumien simulointi varhaisen askelin kaatumitestauksessa ) ja videopeleissä . Kehon liikkeet lasketaan käyttämällä aikaintegraatiomenetelmiä .
Sisällys
Fysiikan moottorit
In Computer Science , ohjelma nimeltään fysiikkamoottori on mallintaa käyttäytymistä esineitä avaruudessa. Nämä moottorit sallivat simuloida tapaa, jolla monen tyyppiset ruumiit vaikuttavat moniin fyysisiin ärsykkeisiin. Niitä käytetään myös dynaamisten simulaatioiden luomiseen tarvitsematta tietää mitään fysiikasta. Fysiikan moottoreita käytetään koko videopeli- ja elokuvateollisuudessa, mutta kaikki fysiikan moottorit eivät ole samanlaisia; Ne jaotellaan yleensä reaaliaikaisiin ja erittäin tarkkoihin, mutta nämä eivät ole ainoita vaihtoehtoja. Useimmat reaaliaikaiset fysiikkamoottorit ovat epätarkkoja ja tuottavat vain reaalimaailman pelkän lähestymistavan, kun taas useimmat tarkkuusmoottorit ovat aivan liian hitaita käytettäväksi päivittäisissä sovelluksissa. Fysiikan perusteiden ymmärtäminen edellyttää ymmärtää, kuinka nämä fysiikan moottorit rakennetaan. Fysiikan moottorit perustuvat maailman todellisiin käyttäytymisiin, kuten klassinen mekaniikka kuvaa . Moottorit eivät tyypillisesti ota huomioon nykyaikaista mekaniikkaa (katso suhteellisuusteoria ja kvantimekaniikka ), koska suurin osa visualisoinnista käsittelee suuria kappaleita, jotka liikkuvat suhteellisen hitaasti, mutta monimutkaisimmat moottorit tekevät laskelmia sekä nykyaikaiselle mekaniikolle että klassiselle. Dynaamisissa simulaatioissa käytetyt mallit määrittävät näiden simulaatioiden tarkkuuden.
Hiukkasmalli
Ensimmäinen malli, jota voidaan käyttää fysiikan moottoreissa, ohjaa äärettömän pienten esineiden liikettä äärellisellä massalla, jota kutsutaan ”hiukkasiksi”. Tämä yhtälö, jota kutsutaan Newtonin toiseksi lakiksi (katso Newtonin lait ) tai voiman määritelmä, on peruskäyttäytyminen, joka ohjaa kaikkia liikkeitä:
Tämän yhtälön avulla voimme mallintaa hiukkasten käyttäytymisen kokonaan, mutta se ei riitä useimmissa simulaatioissa, koska se ei ota huomioon jäykien kappaleiden pyörimisliikettä . Tämä on yksinkertaisin malli, jota voidaan käyttää fysiikan moottorissa, ja sitä käytettiin laajasti varhaisissa videopeleissä.
Inertiaalinen malli
Todellisessa maailmassa olevat elimet vääristyvät voimien kohdistuessa niihin, joten kutsumme niitä ”pehmeiksi”, mutta usein muodonmuutos on merkityksettömästi pieni verrattuna liikkeeseen, ja sen mallintaminen on erittäin monimutkaista, joten suurin osa fysiikan moottoreista jättää muodonmuutoksen huomiotta. Kehoa, jonka oletetaan olevan epämuodostuva, kutsutaan jäykäksi vartaloksi . Jäykkä kehon dynamiikka käsittelee esineiden liikettä, jotka eivät voi muuttaa muotoa, kokoa tai massaa, mutta voivat muuttaa suuntaa ja sijaintia.
Pyörimisenergian ja -momentin huomioon ottamiseksi meidän on kuvailtava, kuinka voima kohdistuu esineeseen hetkeä käyttämällä , ja selvitettävä esineen massajakauma inertiatesentorin avulla . Kuvailemme näitä monimutkaisia vuorovaikutuksia yhtälöllä, joka on jonkin verran samanlainen kuin yllä oleva voimamääritys:
missä on keskimääräinen hitaustesensori , on kulmanopeuden vektori ja on j: nnen ulkoisen voiman hetki massakeskuksen ympärillä .
Inertia tensor kuvaa sijainnin jokaisen hiukkasen massa tietyn objektin suhteessa objektin massakeskipisteen. Tämän avulla voimme määrittää, kuinka esine pyörii riippuen siihen kohdistuvista voimista. Tämä kulmaliike määritetään kulmanopeusvektorilla.
Niin kauan kuin pysymme relativistisen nopeuden alapuolella (katso relativistinen dynamiikka ), tämä malli simuloi tarkasti kaikkea asiaankuuluvaa käyttäytymistä. Tämä menetelmä vaatii fysiikan moottorin ratkaisemaan kuusi tavallista differentiaaliyhtälöä joka hetki, jonka haluamme tuottaa, mikä on yksinkertainen tehtävä nykyaikaisille tietokoneille.
Euler-malli
Inertiaalinen malli on paljon monimutkaisempi kuin me yleensä tarvitsemme, mutta sitä on helpointa käyttää. Tässä mallissa meidän ei tarvitse muuttaa voimiamme tai rajoittaa järjestelmäämme. Jos teemme kuitenkin muutaman älykkään muutoksen järjestelmäämme, simuloinnista tulee paljon helpompaa ja laskenta-aikamme lyhenee. Ensimmäinen rajoitus on asettaa jokainen vääntömomentti pääakselien suhteen. Tämä tekee kunkin vääntömomentin huomattavasti vaikeammaksi ohjelmoida, mutta yksinkertaistaa yhtälöitämme huomattavasti. Kun sovellamme tätä rajoitusta, diagonaalistamme hitausmomentin momentin, mikä yksinkertaistaa kolme yhtälöämme erityiseksi yhtälöjoukkoksi, jota kutsutaan Eulerin yhtälöiksi . Nämä yhtälöt kuvaavat kaikkia pyörimisliikkeitä pääakselien suhteen:
- N ehtoja sovelletaan vääntömomentit noin pääakselit
- I termit ovat tärkeimmät jäyhyysmomentit
- Ehdot ovat kulmikas nopeuksia noin pääakseleille
Tämän mallin haittana on, että kaikki laskennat ovat käyttöliittymässä, joten se on silti hitaampaa kuin haluaisimme. Todellinen hyödyllisyys ei ole ilmeinen, koska se riippuu edelleen epälineaaristen differentiaaliyhtälöiden järjestelmästä. Tämän ongelman lievittämiseksi meidän on löydettävä menetelmä, jolla voidaan poistaa toinen termi yhtälöstä. Tämän avulla voimme integroitua paljon helpommin. Helpoin tapa tehdä tämä on olettaa tietty symmetria.
Symmetrinen / vääntömomentti
Kaksi tyyppiä symmetrisiä objekteja, jotka yksinkertaistavat Eulerin yhtälöitä, ovat ”symmetriset yläosat” ja “symmetriset pallot”. Ensimmäisessä oletetaan yksi symmetriaaste, tämä tekee kahdesta I-lauseesta samanarvoisen. Nämä esineet, kuten sylinterit ja yläosat, voidaan ilmaista yhdellä hyvin yksinkertaisella yhtälöllä ja kahdella hieman yksinkertaisemmalla yhtälöllä. Tämä ei tee meistä paljon hyvää, koska yhdellä lisäsymmetrialla voimme saavuttaa suuren nopeuden hypyn lähes ulkonäön muuttumatta. Symmetrinen pallo tekee kaikki I- termit yhtä suuret ( inertia- asteikon momentti ), mikä tekee kaikista näistä yhtälöistä yksinkertaisia:
- N ehtoja sovelletaan vääntömomentit noin pääakselit
- Ehdot ovat kulmikas nopeuksia noin pääakseleille
- I termi on skalaari Pintahitausmomentti :
- missä
- V on kohteen tilavuusalue,
- r on etäisyys pyörimisakselista,
- m on massa,
- v on tilavuus,
- ρ on esineen pisteen tiheysfunktio ,
- x , y , z ovat suorakulmaiset koordinaatit.
Nämä yhtälöt antavat meille mahdollisuuden simuloida objektin käyttäytymistä, joka voi pyöriä tavalla, joka on hyvin lähellä menetelmää, joka simuloi liikettä ilman pyöriä. Tämä on yksinkertainen malli, mutta se on riittävän tarkka tuottamaan realistista tulosta reaaliaikaisissa dynaamisissa simulaatioissa . Se mahdollistaa myös fysiikan moottorin keskittymisen muuttuviin voimiin ja vääntömomentteihin inertin vaihtamisen sijasta.