Koordinaatiston skaalaus

Tällä tunnilla tutkitaan skaalaus-komentoa, joka on muotoa.

scale(x,y); Komento skaalaa koordinaatistoa joko isommaksi tai pienemmäksi. Skaalaus voidaan tehdä erikseen vaaka- ja pystysuunnassa. Kun lukuarvo x tai y on suurempi kuin 1, niin koordinaatisto skaalautuu isommaksi. Kun lukuarvo x tai y on pienempi kuin 1, niin koordinaatisto skaalautuu pienemmäksi. Käyttämällä negatiivisia arvoja, voidaan koordinaatistosta ottaa peilikuva.
x Ilmoittaa skaalauksen suuruuden vaakasuunnassa.
y Ilmoittaa skaalauksen suuruuden pystysuunnassa.

Lähdetään esimerkistä liikkeelle. Tehdään seuraava esimerkki ohjelma.

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 punainen.
  4. Aseta asetus: Ei reunaviivaa.
  5. Skaalaa koordinaatisto 1-kertaiseksi.
  6. Piirrä ellipsi, jonka keskipiste on kohdassa (50, 50) ja halkaisija 100.

// Ohjelman tehnyt e-Oppi Oy
// 30.8.2017
void setup () {
size(400,400); // Ikkunan koko
background(255); // Taustaväri valkoinen
fill(255,0,0); // Täyttöväri punainen
noStroke(); // Poista reunaviiva
}
void draw () {
scale(1); // Zoomaa 1-kertaiseksi
ellipse(50,50,100,100);
}


Ohjelma piirtää punaisen ympyrän ilman reunaviivaa valkeaan ikkunaan, jonka koko on 400 x 400. Lisätään ennen ympyrän piirtämistä scale(1); komento. Arvolla 1 emme skaalaa koordinaatistoa, vaan kuvio piirtyy alkuperäisenä.



Lähdetään muuttamaan esimerkin scale(1); arvoja ja katsotaan mitä tapahtuu.

scale(2);
scale(4);
Komento muuttaa pysty- ja vaakasuunnan
kaksinkertaiseksi. Ikkunaan mahtuu
koordinaatisto, jonka koko on 200 x 200.
Matematiikassa tämä vastaa mittakaavaa 2:1.
Komento muuttaa pysty- ja vaakasuunnan
nelinkertaiseksi. Ikkunaan mahtuu
koordinaatisto, jonka koko on 100 x 100.
Matematiikassa tämä vastaa mittakaavaa 4:1.



scale(0.5);
scale(0.1);
Komento kutistaa koordinaatiston puoleen
alkuperäisestä. Ikkunaan mahtuu
koordinaatisto, jonka koko on 800 x 800.
Matematiikassa tämä vastaa mittakaavaa 1:2.
Komento kutistaa koordinaatiston 10-osaan
alkuperäisestä. Ikkunaan mahtuu
koordinaatisto, jonka koko on 4 000 x 4 000.
Matematiikassa tämä vastaa mittakaavaa 1:10.


scale(2,4);
scale(4,2);
Komento muuttaa vaakasuunnan
kaksinkertaiseksi ja pystysuunnan
nelinkertaiseksi. Ikkunaan mahtuu

koordinaatisto, jonka koko on 200 x 100.

Komento muuttaa vaakasuunnan
nelinkertaiseksi ja pystysuunnan
kaksinkertaiseksi. Ikkunaan mahtuu

koordinaatisto, jonka koko on 100 x 200.