03 - Podmienka, cyklus
Kaleidoskop
Last updated
Kaleidoskop
Last updated
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.
Vytvor prázny sketch -> editor.p5js.org
Nastave velkosť plátna (canvas) na celú dostupnú šírku/výšku.
Nastav pozadie na čisto biele alebo čierne. Podľa preferencie.
Vytvor jednoduché kreslenie pomocou zobrazenia kruhu (ellipse
) na pozíci myši.
Miesto ellipse
použi line
. Pre spojenie predchádzajúcej pozície myši a aktuálnej.
Pozor na stroke
color.
Kresli len keď je stlačená myš:
Bonus: Pri stlačení pravého tlačidla na myši zresetuj/zmaž plochu. Ak chceš zakázať kontextové menu, použi:
Použi random
pre generovanie farby čiary.
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.
Hue— 0 to 360 by default. Saturation—0 to 100 by default. Brightness—0 to 100 by default.
Pre postupnú zmenu farby máme niekoľko možností.
lineárny prírastok (hue = (hue + hueShift) % 360
použiť funkciu perlin noise (a viac info a príklad)
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á)
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.
Máme celkom pekné kreslenie myšou... ale posuňme to kúsok ďalej. Kresli čiaru hneď 2x - pridaj zrkadlový odraz.
Odčítaním mouseX
od width
otočíš pozíciu horizontálne – predstav si, že prevrátiš polohu myši oproti pravej strane plátna namiesto ľavej. Rovnaký trik funguje aj pre vertikálne zrkadlenie, ale použiješ height - mouseY
.
Teraz, keď si zvládol zrkadlenie, poďme na vyšší level s kaleidoskopickým efektom. Využijeme silu rotácie, aby sme opakovane kreslili tvoje čiary v rôznych uhloch – presne ako kaleidoskop. 🌈✨
Nakreslíme čiaru, otočíme plátno o kúsok, a znova kreslíme... a znova... a znova…
Poďme skombinovať čary! Je čas kresliť zrkadlené čiary vo všetkých smeroch. 💫
bonusy:
zmena veľkosti strokeWeight podľa pozície myši
Experimentuj s farbami (Použi Perlinov šum na zmenu farby hladko počas kreslenia)
Dynamické rotácie: Skús meniť počet rotácií podľa polohy myši alebo rýchlosti.
Animuj kaleidoskop: Namiesto rotovania o pevnú hodnotu, nech sa uhol rotácie mení časom pre neustále sa meniaci vzor.
použiť tvary
Ďaľšie tipy a info: