Esimerkki: Piirtelyä rotaation avulla
Tutkitaan seuraavaa esimerkkiä.
Kun ajat ohjelman, voit piirtää yhtä aikaa neljällä eri värillä siten, että jokainen eri väri piirtojälki kiertyy 90 astetta myötäpäivään edelliseen nähden. Eli pidä hiiren vasen painike pohjassa ja liikuta hiirtä ikkunassa. Origo on nyt ikkunan keskellä. Kannattaa huomata, että translate()- komento ei vaikuta hiiren koordinaatteihin (mouseX, mouseY). Tarvitaan siis korjaus, kun määritellään muuttujille x ja y arvot. Koska origo on ikkunan keskellä, mouseX ja mouseY arvoista pitää vähentää puolet ikkunan koosta pois, jotta piirtäminen sujuu oikein.
|
// Ohjelman tehnyt e-Oppi Oy
// 30.8.2017
void setup () {
size(800,800); // Ikkunan koko voi olla mikä tahansa
background(0); // Taustaväri musta
noStroke(); // Ei reunaviivaa
}
void draw () {
translate(width/2,height/2); // Origo ikkunan keskelle
int x = mouseX-(width/2); // Lue hiiren x-koordinaatti
int y = mouseY-(height/2); // Lue hiiren y-koordinaatti
if (mousePressed == true) { // Jos hiiren painike on pohjassa
fill(255,0,0); // Punainen väri
ellipse(x,y,20,20); // Piirrä ympyrä ennen siirrosta
rotate(radians(90)); // Pyöritä koordinaatistoa 90°:tta
fill(0,0,255); // Sininen väri
ellipse(x,y,20,20); // Piirrä ympyrä siirroksen jälkeen
rotate(radians(90)); // Pyöritä koordinaatistoa 90°:tta
fill(0,255,0); // Vihreä väri
ellipse(x,y,20,20); // Piirrä ympyrä siirroksen jälkeen
rotate(radians(90)); // Pyöritä koordinaatistoa 90°:tta
fill(255,255,0); // Keltainen väri
ellipse(x,y,20,20); // Piirrä ympyrä siirroksen jälkeen
}
}
Kun ajat ohjelman, voit piirtää yhtä aikaa neljällä eri värillä siten, että jokainen eri väri piirtojälki kiertyy 90 astetta myötäpäivään edelliseen nähden. Eli pidä hiiren vasen painike pohjassa ja liikuta hiirtä ikkunassa. Origo on nyt ikkunan keskellä. Kannattaa huomata, että translate()- komento ei vaikuta hiiren koordinaatteihin (mouseX, mouseY). Tarvitaan siis korjaus, kun määritellään muuttujille x ja y arvot. Koska origo on ikkunan keskellä, mouseX ja mouseY arvoista pitää vähentää puolet ikkunan koosta pois, jotta piirtäminen sujuu oikein.