Koordinaatiston peilaus

Tutkitaan kuinka peilaukset onnistuvat scale(x,y); komennolla. Lähdetään esimerkistä liikkeelle.

SANALLINEN ALGORITMI
  1. Aseta ikkunan kooksi 400 px vaakaan ja 400 px pystyyn.
  2. Aseta ikkunan taustaväriksi valkoinen.
  3. Aseta täyttöväriksi musta.
  4. Aseta viivan väriksi musta.
  5. Aseta viivan paksuudeksi 5.
  6. Siirrä origoa 200 px oikealle ja 200 px alas eli siirrä origo ikkunan keskelle.
  7. Laita peilaus-komento päälle. Vaakasuuntainen peilaus on 1 ja pystysuuntainen peilaus on 1.
  8. Piirrä x-akseli eli viiva, jonka alkupiste on (-200, 0) ja loppupiste on (200, 0).
  9. Piirrä y-akseli eli viiva, jonka alkupiste on (0, 200) ja loppupiste on (0, -200).
  10. Piirrä piste paikkaan (100, 50).

// Ohjelman tehnyt e-Oppi Oy
// 30.8.2017
void setup () {
size(400,400); // Ikkunan koko
background(255); // Taustaväri valkoinen
fill(0); // Täyttöväri musta
stroke(0); // Viivanväri musta
strokeWeight(5); // Viivan paksuus 5
}
void draw () {
translate(200,200); // Origo ikkunan keskelle
scale(1,1); // Ei peilausta
line(-200,0,200,0); // x-akseli
line(0,200,0,-200); // y-akseli
point(100,50); // 100 oikealle ja 50 alas
}


Määritetään ikkunan kooksi 400 x 400. Siirretään koordinaatisto ikkunan keskelle. Koska meillä ei vielä ole käytössä peilausta, niin x-koordinaatit kasvavat oikealle ja y-koordinaatit kasvavat alaspäin. Piste piirretään origosta eli ikkunan keskeltä 100 px oikealle ja 50 px alas. Lopputulos on kuvan mukainen.




Tutkitaan mitä arvoja scale(x,y); komentoon voidaan laittaa, jos haluamme peilata koordinaatistoja.

scale(1,1);

scale(1,-1);
Koordinaatistossa ei ole peilausta eli x:n arvot
kasvavat oikealle ja y:n arvot kasvavat alas.
Peilataan y-akseli peilikuvaksi. X:n arvot
kasvavat oikealle ja y:n arvot kasvavat ylös.


scale(-1,1);
scale(-1,-1);
Peilataan x-akseli peilikuvaksi. X:n arvot
kasvavat vasemmalle ja y:n arvot alas.
Peilataan, sekä x-akseli, että y-akseli peilikuvaksi.
X:n arvot kasvavat vasemmalle ja y:n arvot ylös.