Vektorit

Home » Blogi » Vektorit

Perusasiat. Vektorit, mistä ne tulevat?

Jos olet yrittänyt tehdä joitain pelejä, on erittäin todennäköistä, että olet jo yrittänyt sijoittaa ja siirtää elokuvapätkiä lavalla. Tiedät jo, kuinka jokaisella elokuvaleikkeellä on 2 koordinaattia: x ja y. Joten voit sanoa, että jokainen vaiheen piste voidaan ilmoittaa seuraavasti:

p={x:10, y:5};
Hienoa, 1 yksittäisellä rivillä olemme luoneet uuden objektin nimeltä “p” (pisteenä) ja emme vain ole ilmoittaneet sitä, vaan olemme myös onnistuneet antamaan sille 2 ominaisuutta “x” ja “y”. Voit nyt käyttää kiinteistöjä milloin tahansa seuraavasti:

p.x
p.y
Joten pisteobjektin p x-ominaisuus on asetettu arvoon 10 ja y-ominaisuus on asetettu arvoon 5. Voit nyt luoda elokuvaleikkeen ja sijoittaa elokuvaleikkeen näihin koordinaatteihin. Elokuvaleikkeitä ei tietenkään tarvitse luoda ja sijoittaa, kaikki matematiikka toimii silti ilman elokuvapätkiä, käytämme elokuvaleikkeitä vain asioiden havainnollistamiseen ja yleensä oikeassa pelissä sinulla on lavalla vielä jotain, joka liikkuu tai muuten se olla erittäin hyvin koodattu mutta erittäin tylsä ​​peli.

Muista, että Flash käyttää käänteistä y-koordinaattia, useimmissa universumissa ihmisen tiedossa positiivinen y-koordinaatti nousee, mutta Flashissa se suuntaa alaspäin.

Joten, olemme luoneet 1 pisteen ja voimme nähdä kuinka se voidaan asettaa lavalle, sen aika on mennä tekemään jotain vaikeampaa. Teemme nyt 2 pistettä:

p0={x:10, y:5};
p1={x:12, y:6};
Ja ennen kuin edes huomasit, että olet tehnyt ensimmäisen vektorisi. Älä häpeä, se voi tapahtua kenelle tahansa ja on todella normaalia, että ihmiset tekevät vektoreita. Vektoreita, näette, voidaan tehdä kahdella pisteellä, pistettä p0 kutsutaan “aloituspisteeksi” ja pistettä p1 (pidä hengitystä) on “päätepiste”. On tärkeää muistaa, että vektoreilla on suunnat, kuten ihmisillä on tunteet, ja vektori p0->p1 ei ole sama vektori kuin p1->p0, ne ovat hyvin samankaltaisia, niillä on sama pituus ja samat pisteet, mutta niillä on vastakkaiset suunnat. Ja esikoisemme julisti kauniisti kaikessa loistossaan:

v={
p0:{x:10, y:5},
p1:{x:12, y:6}
};
Ja voimme jopa piirtää vektorin pisteineen:

Saatat ajatella, että nyt se on liian helppoa ja saatat myös ajatella, miksi kahvi maistuu joskus oudolta, mutta emme ole vielä valmiita. Vektoreita voidaan tehdä myös aloituspiste- ja suuntakomponenteilla. Odota, älä vielä heitä huonoa p1-pistettä pois Windowsista! Saatamme tarvita sitä myöhemmin. Joten, kuinka teemme vektorin ilman päätepistettä? Helppo:

v={
p0:{x:10, y:5},
vx:2,
vy:1
};
Näyttääkö tutulta? Sen pitäisi olla, koska tämä on täsmälleen sama vektori kuin teimme aiemmin. Meillä on sama aloituspiste (tarkista!) ja olemme tehneet x-komponentin arvolla 2 ja y-komponentin arvolla 1. Tämä vektori sanoo (jos vektorit voisivat puhua) “aloita pisteestä, jonka koordinaatit x=10 ja y= 5 ja mene 2 askelta oikealle ja 1 askel alas”. Se on uskomatonta, mutta jos teet niin, päädyt täsmälleen samaan kohtaan, jossa piste p1 oli. Itse asiassa jokaisen vektorin loppupiste voidaan laskea sen aloituspisteestä ja sen x- ja y-komponenteista:

v.p1={};
v.p1.x=v.p0.x+v.vx;
v.p1.y=v.p0.y+v.vy;
Ja jos aloitat vektorista, jossa on 2 pistettä, voit aina löytää sen x- ja y-komponentit:

v.vx=v.p1.x-v.p0.x;
v.vy=v.p1.y-v.p0.y;
Tästä lähtien aina kun puhumme jostain vektorista, tiedämme, että sillä on 2 pistettä p0 ja p1, molemmilla pisteillä on myös x/y-koordinaatit ja vektorilla on x/y-komponentteja.

Jos sinulla on aloituspiste ja vektori kohteen siirtämiseen, tätä vektoria voidaan kutsua useilla eri nimillä, jotka kaikki tarkoittavat periaatteessa samaa: “nopeus”, “nopeus”, “liike”, “siirtymä”. Älä hämmenny kaikista nimistä, ne silti vain siirtävät objektia x- ja y-suunnissa.