oletetaan että on kaksi laatikkoa 3-ulotteisessa avaruudessa joiden paikka ja pyörimisnopeus on mielivaltainen. jos nämä kaksi liikkuvaa kappaletta törmäävät, niin miten lasketaan kappaleiden törmäyskohta, pyörimisnopeus ja nopeusvektorit törmäyksen jälkeen?
dynamiikkaa
pitäis tehdä
3287
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 3
Vanhimmat
käytetään vektoreita. Tietokoneohjelma pyörii silmukassa, jossa se askeltaa aikaa (reaaliaikaa). Jokaisella kierroksella lasketaan voimat, nopeudet ja kiihtyvyydet ja niistä seuraavat sijainnit uudelleen. Voimien annetaan vaikuttaa kappaleisiin ja niistä syntyy kiihtyvyyttä. Menetelmä on tarkka ja tehokas.
http://www.simlabs.arc.nasa.gov/library/mcfarland/Basis.pdf
http://www.simlabs.arc.nasa.gov/library/mcfarland/Toms.pdf
NASA:lta löytyy LaRCSim, joka on erittäin selkeä ja yksinkertainen kappaleen (lentokoneen) fysiikan reaaliaikainen mallinnus. Tätä on käytetty lukuisien lentokonesimulaattorien ytimenä (taikka ohjelman lähtökohtana). Minulta saa lähdekoodin, jollei sitä löydä netistä.
http://techreports.larc.nasa.gov/ltrs/PDF/NASA-95-tm110164.pdf
----
Kappaleiden tehokkaaseen kääntelyyn käytetään matemaattisena apuvälineenä quaternion'eja lähes joka ohjelmassa:
http://en.wikipedia.org/wiki/Quaternion
http://www.movesinstitute.org/~zyda/pubs/Presence.1.4.pdf
http://www.movesinstitute.org/~zyda/pubs/Presence.1.4.pdf
----
Esim lentokoneen muodon vaikutusta sen aerodynaamiseen käyttäytymiseen ilmakehässä voi tutkia vaikkapa ohjelmalla DATCOM:
http://www.jsbsim.org/AIAA-1985-4070-141.pdf
http://www.jsbsim.org/AIAA-2005-5086-424.pdf
Tätä ei tietenkään tarvitse, jos kappaleet ovat avaruudessa, jossa ei ole ilmakehää.
----
Kaikki edelliset linkit ja lisää löytyvät JSBSim-ohjelman sivuilta, jota en silti ohjelmana pidä kovinkaan opettavaisena (paljon turhaa C hurskastelua). Jos ohjelma kiinnostaa, niin kannattaa tutustua LaRCSim'iin. Se on yksinkertainen ja tehokas. Ja pitää sisällää todellisen ytimen.
http://jsbsim.sourceforge.net/fslinks.html
--------
McFarland on se, jonka papereita kannattaa vilkaista ja joita edellisissä linkeissä on käsitelty:
http://www.simlabs.arc.nasa.gov/library/mcfarland/mcfarland.html
Tuon aikaiset tietokoneet olivat hitaampia, joten varsin paljon on keskitytty siihen, että saataisiin algoritmistä riittävän nopea ja tarkka. Nykyään kun on nopeammat koneet, niin tämä ei ole enään päänvaiva, mutta näitä menetelmiä silti pyörittää ilolla uudemmissakin koneissa....
(Lycka till)
Törmäys ei tietenkään ole muuta kuin uusi voima systeemiin. Jokaisella laskentakierroksella tarkistetaan sijaintikoordinaateista yms., että koskettaako kappale jotain kiinteää vaiko ei. Jos niin on, niin kappaleiden jäykkyydestä riippuen lisätään riittävä määrä voimia kappaleisiin, siten että ne käyttäytyvät törmäyksen laatuun nähden sopivasti.
Pitää jatkuvasti olla selvillä kaikista voimavektoreista ja antaa niiden vaikuttaa kappaleisiin.
laskutelineen törmäystä tarkemmin. Siitä saanee ideoita muunkinlaisiin törmäyksiin:
http://www.simlabs.arc.nasa.gov/library/mcfarland/shock.pdf