Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C: Kimpoaminen

kayttaja-3842 [24.10.2006 19:03:52]

#

Elikkäs, voisiko joku valaista minulle miten kimpoaminen tehdään? Eli on pallo joka ylittäessään tietyn rajan kimpoaa, eikös tämä tulisi toteuttaa jotenkin SIN COS menetelmällä?

if(pallo.x < 0)
{
//pallo kimpoaa
}

Antti Laaksonen [24.10.2006 19:21:54]

#

Jos pallo törmää pystysuoraan seinään, vaakasuuntainen nopeus muuttuu vastakkaiseksi. Jos pallo törmää vaakasuoraan seinään, pystysuuntainen nopeus muuttuu vastakkaiseksi.

Pallon nopeus on jaettu kahteen osaan: vaakasuuntaiseen nopeuteen (vx) ja pystysuuntaiseen nopeuteen (vy). Sovitaan, että koordinaatistossa positiivinen vx osoittaa oikealle ja positiivinen vy osoittaa alas. Näin on tietokoneen näytöllä.

Jos esim. vx = 3 ja vy = -1, pallo liikkuu tietyssä ajassa kolme yksikköä oikealle ja yhden yksikön ylös. Kokonaistulos on, että pallo liikkuu yläoikealle.

Jos pallo törmää yläreunaan, sen uusi vy on 1. Nyt pallo liikkuu alaoikealle.

Jos pallo törmää oikeaan reunaan, sen uusi vx on -3. Nyt pallo liikkuu ylävasemmalle.

Nämä kaavat ovat kaikki, mitä tarvitset, jos pallo kohtaa vain vaaka- ja pystysuoria seiniä.

kayttaja-3842 [24.10.2006 19:36:37]

#

Kiitos paljon Antti...

Vastaus

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

Tietoa sivustosta