Vytvorte skeč, ktorý nakreslí hviezdu. Hviezdu tvorí 30 lúčov, ktoré začínajú v strede obrazovky a končia v nejakom náhodnom bode na obrazovke.
Riešenie
size(400, 400);
background(0);
stroke(255, 255, 0);
for (int i = 0; i < 30; i++)
{
line(width/2, height/2, random(width), random(height));
}
Úloha 2
Vytvorte skeč, ktorý takéto hviezdy kreslí pri kliknutí myšou.
Lúče už nezačínajú v strede obrazovky, ale v pozícii myši.
Koncová pozícia lúča je náhodná v okolí -50 až 50 od pozície myši.
Vytvorte skeč, ktorý pre každý bod na hornom okraji obrazovky nakreslí čiaru náhodnej farby do bodu na dolnom okraji obrazovky:
Riešenie
size(400, 400);
for (int i = 0; i < width; i++)
{
stroke(random(256), random(256), random(256));
line(i, 0, i, height);
}
Úloha 4
Upravte predošlý skeč, aby každý bod na hornom okraji obrazovky bol spojený s diagonálnym bodom na dolnom okraji obrazovky:
Riešenie
size(400, 400);
for (int i = 0; i < width; i++)
{
stroke(random(256), random(256), random(256));
line(i, 0, width-i, height);
}
Úloha 5
Vytvorte skeč, ktorý obsahuje premennú pocet, ktorá určuje počet dielikov, na koľko chceme rozdeliť celú šírku obrazovky. Vypočítajte z nej premennú dielik, ktorá určuje, akú šírku bude mať jeden dielik. Následne vykreslite náhodnými farbami tieto dieliky:
Riešenie
size(400, 400);
float pocet = 6;
float dielik = width/pocet;
for (int i = 0; i < pocet; i++)
{
fill(random(256), random(256), random(256));
rect(i*dielik, 0, sirka, height);
}
Úloha 6
Vytvorte skeč, ktorý na obrazovke s rozmermi 400x400 nakreslí každých 25 pixelov nakreslí horizontálnu čiaru:
Riešenie
size(400, 400);
background(0);
stroke(0,255,255);
float medzera = 25;
for (int i = 0; i < height/medzera; i++)
{
line(0, i*medzera, width, i*medzera);
}
Úloha 7
Vytvorte skeč, ktorý každých 25 pixelov spojí body na ľavom okraji obrazovky s ich diagonálnymi bodmi na hornom okraji obrazovky:
Riešenie
size(400, 400);
background(0);
stroke(0, 255, 255);
float medzera = 25;
for (int i = 0; i < height/medzera; i++)
{
line(0, i*medzera, width - i*medzera, 0);
}
Úloha 8
Doplňte svoj cyklus o ďalšie 3 čiary, čím vznikne takýto obrazec:
Vytvorte náhodný stĺpcový graf. Šírka stĺpcov je 25 pixelov, výška je náhodná.
Riešenie
size(400, 400);
float medzera = 25;
for (int i = 0; i < width/medzera; i++)
{
float vyska = random(height);
rect(i*medzera, height-vyska, medzera, vyska);
}
Úloha 10
Vytvorte 10-poschodovú pyramídu. Každé poschodie je vysoké 30 pixelov. Spodné poschodie je široké 300 pixelov. Každé ďalšie poschodie je o 30 pixelov kratšie:
Riešenie
size(400, 400);
int sirka = 300;
int vyska = 30;
int y = height - vyska;
for (int i = 0; i < 10; i++)
{
rect(width/2 - sirka/2, y, sirka, vyska);
sirka = sirka - 30;
y = y - vyska;
}
Úloha 11
Upravte predošlý program tak, aby sa poschodie skracovalo o náhodnú hodnotu z rozsahu 30 až 60:
Riešenie
size(400, 400);
float sirka = 300;
int vyska = 30;
int y = height - vyska;
for (int i = 0; i < 10; i++)
{
rect(width/2 - sirka/2, y, sirka, vyska);
sirka = sirka - random(30,60);
y = y - vyska;
}
Úloha 12
Upravte predošlý program tak, aby každé poschodie malo náhodnú výšku z intervalu 10 až 40:
Riešenie
size(400, 400);
float sirka = 300;
float y = height;
for (int i = 0; i < 10; i++)
{
float vyska = random(10,40);
rect(width/2 - sirka/2, y - vyska, sirka, vyska);
sirka = sirka - random(30,60);
y = y - vyska;
}