03 - Podmienka, cyklus

Kaleidoskop

V tejto kapitole si zopakujeme premenné, vyskúšame eventy a cyklus.

Začneme s jednoduchým kreslením. A na konci kapitoly si budeš vedieť vytvoriť vlastný kresliaci kaleidoskop s toľkými zkladlami, kolko sa do skutočného ani nezmestí. A výsledný obrazok si budeš môcť uložiť.

Táto lekcia je členená do kapitol / receptov.

0. príprava

Vytvor prázny sketch -> editor.p5js.org

Nastave velkosť plátna (canvas) na celú dostupnú šírku/výšku.

Pomôžu ti zabudované properties windowWidth a windowHeight

Nastav pozadie na čisto biele alebo čierne. Podľa preferencie.

1. kreslenie

Pozri zabudované properties mouseX a mouseY

1.1 spojitá čiara

Miesto ellipse použi line. Pre spojenie predchádzajúcej pozície myši a aktuálnej.

Pozri zabudované properties pmouseX a pmouseY

Pozor na stroke color.

1.2 začiatok a koniec

Kresli len keď je stlačená myš:

mouseIsPressed

Bonus: Pri stlačení pravého tlačidla na myši zresetuj/zmaž plochu. Ak chceš zakázať kontextové menu, použi:

<body oncontextmenu="return false;">

2. farba

2.1 náhodná farba

Použi random pre generovanie farby čiary.

Nastav hrubšiu šírku hrany strokeWeight()

2.2 HSB

Ak nechceme úplne divoko náhodné farby. Pomôže nám model HSB.

Zafixuj saturation a brightness na rovnakých hodntách a generuj len náhodné Hue.

Budeš potrebovať metódu colorMode() Aký rozsah hodnôt môžeme zadať pre Hue? (Hint .... má tvar kruhu) Viac info na -> https://p5js.org/learn/color.html

2.3 plynulá zmena farby

Pre postupnú zmenu farby máme niekoľko možností.

Ken Perlin developed the noise function while working on the original Tron movie in the early 1980s; he used it to create procedural textures for computer-generated effects. In 1997, Perlin won an Academy Award in technical achievement for this work. Source: https://www.khanacademy.org/computing/computer-programming/programming-natural-simulations/programming-noise/a/perlin-noise

O farbách v p5.js sa dočítaš aj na https://celiawrite.medium.com/learn-apply-p5-js-b927e254cf11

Bonus: pri kliknutí myšou začni s náhodnou (alebo s komplementárnou farbou k tej, ktorá bola naposledy použitá)

3. Uloženie obrazku "S"

Načo by bol Paintbrush, keby sme nevedeli výsledný obrázok uložiť?

Pre stlačenie kávesy "s" ulož práve nakreslený obrázok.

Budeš potrebovať metódu keyPressed() a save()

4. zrkadlenie

Kresli čiaru hneď 2x - pridaj zrkadlový odraz.

viac zrkadiel (for cyklus)

V kaleidoskope je viac zrkadiel. Aspoň tri. Skús to implementovať

Metódy: translate() a rotate()

bonusy:

zmena veľkosti strokeWeight podľa pozície myši

rotácie

použiť tvary

Ďaľšie tipy a info:

Last updated