Hiiren suuntaan liikkuminen

Mikä on näin periaatteessa kaava siihen että asia x liikkuu hiireä kohti, otetaan nyt vaikka luoti näin esimerkiksi...

Luodilla on seuraavat muuttujat.
X (sijainti x-akselilla)
Y (sijainti y-akselilla)
XS (Nopeus x-suunnassa)
XY (Nopeus y-suunnassa)

Ja hiirellä tietenkni
MX (Hiiren sijainti x-akselilla)
MY (Hiiren sijainti y-akselilla)

Mikä olisi kaava että ohjelma laskisi jotenkin että XS ja XY toimisivat siten että ne liikkuisivat MX ja MY:tä kohti.

Kiitos!
6462
Äänestä

Muut lukivat myös

Vastaukset 6

Vanhimmat

vähentämällä kohteen koordinaateista alkupisteen koordinaatit saat kohdetta kohti osoittavan vektorin. eli:

XS = MX - X
XY = MY - Y

nyt (XS,XY) on hiirtä kohti osoittava vektori. nyt voit sitten normalisoida sen tai suoraan kertoa sen jollakin sopivalla luvulla muuttaaksesi nopeutta.

Äänestä
  • Toimii muuten paitsi että kun hiiri on lähellä pelaajaa luodit lähtevät hitaasti ja kun hiiri on kaukana pelaajasta, luodit lähtevät erittäin lujaa!

    Elikkä miten nyt jotenkin saisi laskettua että se menee yhtä nopeasti aina? (Normalisointi?)

    Äänestä

  • qweasddfgertqwe kirjoitti:

    Toimii muuten paitsi että kun hiiri on lähellä pelaajaa luodit lähtevät hitaasti ja kun hiiri on kaukana pelaajasta, luodit lähtevät erittäin lujaa!

    Elikkä miten nyt jotenkin saisi laskettua että se menee yhtä nopeasti aina? (Normalisointi?)

    Normalisointi eli yksikkövektorin muodostaminen tapahtuu jakamalla vektori omalla pituudellaan. (Yksikkövektorin pituus on 1)
    Pituus lasketaan 2D:ssä näin |a| = sqrt(x^2 y^2)
    ja yksikkövektori a/|a| eli jos vektori merkitään (x,y) niin (x/sqrt(x^2 y^2), y/sqrt(x^2 y^2)) on kyseinen yksikkövektori. Varo nolla vektoria, tulee nollalla jako.
    Sitten vielä kerrot vektorin jollain s (nopeus) (s*x, s*y), niin nopeus on vakio.

    Vektoreista:
    http://matwww.ee.tut.fi/jkkm/vektorit/vekto02.htm

    Äänestä

  • ...vektori kirjoitti:

    Normalisointi eli yksikkövektorin muodostaminen tapahtuu jakamalla vektori omalla pituudellaan. (Yksikkövektorin pituus on 1)
    Pituus lasketaan 2D:ssä näin |a| = sqrt(x^2 y^2)
    ja yksikkövektori a/|a| eli jos vektori merkitään (x,y) niin (x/sqrt(x^2 y^2), y/sqrt(x^2 y^2)) on kyseinen yksikkövektori. Varo nolla vektoria, tulee nollalla jako.
    Sitten vielä kerrot vektorin jollain s (nopeus) (s*x, s*y), niin nopeus on vakio.

    Vektoreista:
    http://matwww.ee.tut.fi/jkkm/vektorit/vekto02.htm

    Pitkään tuota mietin ja yritin siitä saada jotain tolkkua mutta ei kyllä tajua tuosta paskaakaan. :S

    Ensinnäkin:
    "Pituus lasketaan 2D:ssä näin |a| = sqrt(x^2 y^2)"

    Mikä tuo "|a|" on mitä nuo |||| merkit on?

    Mikä tarkoittaa ykkösvektori?

    "(x/sqrt(x^2 y^2), y/sqrt(x^2 y^2))"
    Since when matematiikassa on käytetty pilkkuja keskellä laskulauseketta? :S

    Mitä nuo x ja y ovat? hiiren sijainteja? luodin sijainteja? mhäh? häh? :SSS

    Jos joku voisi laittaa Suomeksi niin ur welcome!

    Äänestä

  • 012301230123 kirjoitti:

    Pitkään tuota mietin ja yritin siitä saada jotain tolkkua mutta ei kyllä tajua tuosta paskaakaan. :S

    Ensinnäkin:
    "Pituus lasketaan 2D:ssä näin |a| = sqrt(x^2 y^2)"

    Mikä tuo "|a|" on mitä nuo |||| merkit on?

    Mikä tarkoittaa ykkösvektori?

    "(x/sqrt(x^2 y^2), y/sqrt(x^2 y^2))"
    Since when matematiikassa on käytetty pilkkuja keskellä laskulauseketta? :S

    Mitä nuo x ja y ovat? hiiren sijainteja? luodin sijainteja? mhäh? häh? :SSS

    Jos joku voisi laittaa Suomeksi niin ur welcome!

    http://matwww.ee.tut.fi/jkkm/vektorit/vekto01.htm

    Äänestä

  • 012301230123 kirjoitti:

    Pitkään tuota mietin ja yritin siitä saada jotain tolkkua mutta ei kyllä tajua tuosta paskaakaan. :S

    Ensinnäkin:
    "Pituus lasketaan 2D:ssä näin |a| = sqrt(x^2 y^2)"

    Mikä tuo "|a|" on mitä nuo |||| merkit on?

    Mikä tarkoittaa ykkösvektori?

    "(x/sqrt(x^2 y^2), y/sqrt(x^2 y^2))"
    Since when matematiikassa on käytetty pilkkuja keskellä laskulauseketta? :S

    Mitä nuo x ja y ovat? hiiren sijainteja? luodin sijainteja? mhäh? häh? :SSS

    Jos joku voisi laittaa Suomeksi niin ur welcome!

    "Mikä tuo "|a|" on mitä nuo |||| merkit on? "

    Tapa merkitä vektorin pituutta, aivan samoin kuin on *tapa* merkitä yhteenlaskua merkillä esim. 3 4.

    "Mikä tarkoittaa ykkösvektori?"

    Sen pituus on aina tasan yksi (1.0).

    ""(x/sqrt(x^2 y^2), y/sqrt(x^2 y^2))"
    Since when matematiikassa on käytetty pilkkuja keskellä laskulauseketta? :S "

    Monesti, tarkoittaa yleensä järjestettyä paria (tai useampaa järjestettyä esim. (3,4,5,1)), mutta kyseessä on tietysti aina sopimus. Kerro ihmeessä mikä on sinun mielestäsi parempi merkintätapa (voin käyttää sitä jatkossa).

    "Mitä nuo x ja y ovat? hiiren sijainteja? luodin sijainteja? mhäh? häh? :SSS"

    Ei, vaan ihan niitä tavallisia x- ja y-koordinantteja, pitää vain hieman *soveltaa* jotta saa "luodit ja hiiret".

    "Jos joku voisi laittaa Suomeksi niin ur welcome!"

    Matematiikan kieltä väitetään universaaliksi(=mitä kaikki ymmärtävät, myös *ulkoavaruudenoliot*), eikä tätä juurikaan enää sen enempää voi "suomentaa". Jos kerrot **mikä** kohta on epäselvä niin voin ehkä auttaa.

    Äänestä

Kommentoi aloitusta


Ulla-son kirjoitti:

Mikä on näin periaatteessa kaava siihen että asia x liikkuu hiireä kohti, otetaan nyt vaikka luoti näin esimerkiksi...

Luodilla on seuraavat muuttujat.
X (sijainti x-akselilla)
Y (sijainti y-akselilla)
XS (Nopeus x-suunnassa)
XY (Nopeus y-suunnassa)

Ja hiirellä tietenkni
MX (Hiiren sijainti x-akselilla)
MY (Hiiren sijainti y-akselilla)

Mikä olisi kaava että ohjelma laskisi jotenkin että XS ja XY toimisivat siten että ne liikkuisivat MX ja MY:tä kohti.

Kiitos!

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu