Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Törmäystarkistus sekä toiminta törmäyksen jälkeen

Burton [05.06.2008 21:35:41]

#

Olen nyt oppinut tutkimaan törmäystarkistuksia pallomenetelmän avulla, mutta kiinnostavaa olisi tietää, miten törmäyksiin kuuluisi reagoida. Luin putkan törmäysopasta, mutta se on varsin sekava minulle. Tarvitsisin pienen, mutta perusteellisen oppaan, joka kertoisi niin massallisten kuin massattomienkin kappaleiden törmäyksistä 2D-avaruudessa. Sen ei välttämättä tarvitse olla hieno ja täsmällinen opas, joka mukailee täydellisen tarkasti oikean maailman fysikaalisia olosuhteita, vaan lähinnä keino, jolla pelin sisällä voisi kontrolloida törmäyksiä vaivatta.

Kiitos.

Metabolix [05.06.2008 21:47:25]

#

Fysiikassa on muutama perussääntö: ideaalitapauksessa liikemäärä, pyörimismäärä ja energia säilyvät. Näiden perusteella saadaan muutama yhtälö, joista voidaan ratkaista, mitä tapahtuu. Usein näitä arvoja on mukava hieman pienentää, jottei kyseessä ole ideaalitapaus; esimerkiksi seinää päin juokseva ukkeli tuskin lentää samalla vauhdilla takaisin.

Törmäyksessä voidaan vaikkapa ensin selvittää, mitkä pisteet törmäävistä kappaleista kohtasivat ja minne päin ne toisiinsa nähden liikkuivat (sekä eteneminen että pyöriminen tulee huomioida). Voiman voidaan olettaa olevan tämän suhteellisen liikevektorin suuntainen (tai näkökulmasta riippuen vastainen), ja voiman ja vaikutuspisteen avulla saadaan laskettua aiheutuva momentti. Vaikutukselle voidaan approksimoida jokin kesto, esimerkiksi kymmenesosasekunti, ja tämän avulla voimasta ja momentista saadaan vastaavat impulssit eli liikemäärän ja pyörimismäärän muutokset.

Nyt vain MAOLin taulukkokirja, kynä ja paperi esiin. :)

Edit. Kerropa muuten, mikä on tämä Putkan törmäysopas, itse kun en ole sellaiseen törmännyt.

Burton [05.06.2008 21:51:43]

#

Oho, sen kuuluisi tietenkin olla "törmäyskoodi", ei opas. Koodivinkeissä on nimittäin C/C++:n puolella koodi, jossa käsitellään vähän 2D- ja 3D-törmäyksiä. :)

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta