-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhiiren-painallukset-varin-valinta.org
45 lines (37 loc) · 1.19 KB
/
hiiren-painallukset-varin-valinta.org
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#+NAME: hiiren-painallukset-varin-valinta
#+BEGIN_SRC processing :exports none
final int VARIT_LEVEYS = 200; // palettien leveys kuvassa
float valittuSavy; // piirretyn ympyrän värisävy
float ympyraX; // ympyrän keskipisteen x-koordinaatti
void setup ()
{
size (600, 100);
colorMode (HSB, 100);
valittuSavy = 0; // alkuarvo värisävylle
// ympyrä piirretään paletin oikealle puolelle jäävän osan
// keskikohtaan
ympyraX = (VARIT_LEVEYS + width) / 2.0;
}
void draw ()
{
background (0);
// piirretään paletti; kutakin värisävyä 0, 1, ..., 100 vastaava
// viiva piirretään vaakatasoon vastaavaan y-koordinaattiin
for (int savy = 0; savy < 100; savy++)
{
stroke (savy, 100, 100);
line (0, savy, VARIT_LEVEYS, savy); // viivan y-koordinaatti on värisävy
}
// piirretään ympyrä
final float HALKAISIJA = height;
noStroke ();
fill (valittuSavy, 100, 100);
ellipse (ympyraX, height / 2.0, HALKAISIJA, HALKAISIJA);
}
void mousePressed ()
{
// ympyrän värisävy on suoraan hiiren kursorin y-koordinaatti, koska
// paletti piirrettiin siten
valittuSavy = mouseY;
}
#+END_SRC