Sztuka generatywna
Sztuka generatywna (zwana też sztuką algorytmiczną) to coś, co bardzo robić i na co uwielbiam patrzeć. Połączenie matematyki, algorytmów i losowości do tworzenia obrazów ma w sobie taką magię i siłę przyciągania, że naprawdę trudno mi się oprzeć urokowi tej dziwnej dziedziny.
Czasami, na poprawę humoru, wymyślam, jaki efekt chcę z grubsza osiągnąć i piszę krótki skrypt, który generuje obrazek. Sprawia mi to ogromną radość, i choć rezultaty nie są może najwyższych lotów - nie ma to kompletnie żadnego znaczenia. Po prostu tworzę.
Moje zabawki w piaskownicy
JavaScript - biblioteka p5js
Jakiś czas temu natknęłam się na małą i bardzo wdzięczną bibliotekę do generowania grafiki rastrowej w przeglądarce - p5js.org.
Kilka eksperymentów wrzuciłam dawno temu do repozytorium GitLab-a, a całkiem niedawno dorzuciłam tam jeszcze swoje ostatnie skrypciki.
Quill - Clojure
W czasach mojej fascynacji językiem Clojure używałam biblioteki Quill i wtedy natknęłam się na Tylera Hobbsa , który wciąż pozostaje jednym z najważniejszych artystów, którzy inspirują mnie w dziedzinie sztuki gerneratywnej .
Sztuczki z wiaderkiem i łopatką
A w jaki sposób stworzyć własną, ładną graficzkę? Co sprawia, że graficzka jest ciekawa? To pytanie bardziej z dziedziny psychologii, niż inżynierii. Może nawet jest to pytanie z dziedziny sztuki wizualnej. Na żadnej z tych dziedzin się nie znam, więc się wypowiem.
Zwykle dobre (czytaj: ciekawe) rezultaty dają poniższe techniki:
- połączenie w wynikowym obrazie kilku bardzo prostych elementów graficznych (linie, kwadraty, koła)
- transformacje: przesunięcia, obroty, odbicia, symetrie, skalowanie
- łączenie kilku kształtów w losowy sposób
- losowe wartości atrybutów rysowanych elementów: ich położenia, koloru, wzajemnej odległości, grubości linii
- praca z istniejącym obrazem (zdjęciem) i nałożenie/miksowanie innych obrazów z obrazem istniejącym
- tworzenie alorytmów generujacych kolory punktów, kształty bądź kolory obrazu na podstawie np. ich położenia w układzie współrzędnych
- użycie interesujących matematycznie liczb/proporcji/ciągów
Techniki zawansowane to przede wszystkim:
- wykorzystanie L-systemów do generowania struktur samopodobnych (fraktali) - tu można zobacyzć przykłady na podstawie klasycznej książki Algorithmic Beauty of Plants - do pobrania za darmo
- użycie teorii pokrywania płaszczyzny (powtarzającymi się lub niepowtarzającymi elementami)