Hei!
Voi nyt vaikuttaa vähän tyhmältä tämä kysymys...
Mutta mulla on siis pelaaja joka pystyy kääntymään 360 astetta ja näkökenttä on vaihteleva.
Tarkoituksena olisi tarkistaa onko jääkö piste X kulman taakse niin ettei se ole näkökentässä. Uskoisi olevan helppoa mutta ei se jos niitä ole koulussa opetellut kunnolla (tai "yhtään")
Jos jollakin sattuu olemaan tylsää niin pls help.
Kiitos :D
Jos pisteen koordinaatit ovat (x,y)
suhteessa pelaajaan (pelaaja on origossa) on piste näkökentässä, jos
|θ - α| < β tai |θ - α + 360°| < β tai |θ - α - 360°| < β missä θ = y > 0 ? acos(x/h) : 180° + acos(-x/h) h = sqrt(x^2 + y^2) α = kulma, johon pelaaja katsoo β = näkökentän laajuus
Kaavat saattavat olla aivan pielessä ja lisäksi on mahdollista, että yksinkertaisempikin tapa löytyy. Väsäsin nopeasti.
Teet janan, jonka päätepisteet ovat pelaaja ja X ja tarkistat, leikkaako jana kulman kylkiä.
Kysymyksestä vähän epäselväksi jäi, mitä tarkoittaa ”kulman taakse”. Ainakin nyt fergusq ja Jaska ovat käsittäneet tämän eri tavoin. Eli tarkoititko ”pelaajan taakse” vai ”nurkan taakse”?
Jos tarkoitit ”pelaajan taakse”, fergusq:n kaavasta ei paljon helpommaksi pääse. Vastaavan laskun voi tehdä myös vektorien pistetulolla: Otetaan vektori A pelaajasta eteenpäin ja vektori B pelaajasta tutkittavaan pisteeseen, normalisoidaan molemmat, lasketaan pistetulo ja siitä arkuskosini. Saadaan kulma pelaajan katsontasuunnan ja tarkasteltavan pisteen välillä. Voidaan verrata tätä pelaajan näkökentän leveyteen.
Aihe on jo aika vanha, joten et voi enää vastata siihen.