
Kahden pisteen välinen etäisyys (ohjelmointi)

Hanki lisää sisältöä päivittämällä
One point has the coordinate (4,6). What is then the x coordinate?
Lina ohjelmoi peliä, missä pelaaja on kissa, joka välttelee kissanpyydystäjää. Jos kissan ja kissanpyydystäjän välinen etäisyys on vähemmän kuin haavin pituus, kissa jää kiinni. Miten ohjelma saa selville, onko kissa jäänyt kiinni? Meidän täytyy tietää kissan ja kissanpyydystäjän välinen etäisyys. Voimme jakaa näytön ruudukkoon Matematiikassa me kutsumme tätä koordinaatistoksi.
Vaaka-akseli on nimeltään x-akseli ja pystyakseli y-akseli. Me luemme kissan ja kissanpyydystäjän x- ja y-arvot. Kissan x-arvo on 0 ja y-arvo on 0. Kissanpyydystäjän x-arvo on 30 ja y-arvo on 20. Tarvitsemme matematiikasta toisenkin asian: Pythagoraan lauseen.
Miksi tarvitsemme sitä? Noh, katsopas tätä! Piirrämme janan kissan ja kissanpyydystäjän välille. Sitten vaakaviiva kissasta kissanpyydystäjän x-arvoon. Lopuksi piirrämme pystysuoran janan kissanpyydystäjästä kissan y-arvoon.
Mikä geometrinen kuvio tämä on? Kyllä, suorakulmainen kolmio. Ja sen hypotenuusa on kissan ja pyydystäjän välimatka. Jos haavi on vähintään yhtä pitkä kuin hypotenuusa, silloin kissa jää kiinni! Käytämme Pythagoraan lausetta laskeaksemme kolmion hypotenuusan.
Ennen kuin alamme ohjelmoimaan, kirjoitamme tämän kaiken ylös selkeinä käskyinä: pseudokoodina. Meidän täytyy tietää kissanpyydystäjän koordinaatit ja samoin kissan. Kirjaa kissanpyydystäjän x- ja y-arvot. Kirjaa kissan x- ja y-arvot. Kirjaa haavin pituus.
Haluamme laskea kolmion hypotenuusan pituuden, jota merkitään kirjaimella "c" Pythagoraan lauseessa. Sivun "a" pituuden saamme laskemalla kissanpyydystäjän x-arvon ja kissan x-arvon erotuksen. Luo muuttuja "a", määritä arvoksi kissanpyydystäjän x-arvo miinus kissan x-arvo. Saamme sivun "b" laskemalla kissanpyydystäjän y-arvon ja kissan y-arvon erotuksen. Luo muuttuja "a2" ja määritä sille arvo "a" kertaa "a".
Sama juttu b:n kanssa: korota b toiseen potenssiin ja tallenna tulo uuteen muuttujaan "b2". Luo "c2" ja anna sille arvo, joka on a2:n ja b2:n summa. "c2" on hypotenuusa korotettuna toiseen potenssiin. Laskeaksemme hypotenuusan, otamme neliöjuuren muuttujasta "c2" ja tallennamme tuloksen muuttujaan "c". Nyt meillä on "c", joka on kissan ja pyydystäjän välinen etäisyys. Aika testata tätä: Jos etäisyys "c" on suurempi kuin laskeutuvan haavin pituus, sano: "kissa pääsi pakoon".
Muuten, sano: "kissa saatiin kiinni!". Tehdään selväksi, mitkä pseudokoodin rivit kuuluvat yhteen. Sisennämme rivit, jotka alkavat "sano" Tämä rivi suoritetaan vain, kun jos-rivi on tosi, ja tämä vain silloin, jos muuten-rivi on tosi. Nyt enää kissan on yritettävä pysyä niin kaukana pyydystäjästä kuin mahdollista.