Natknąłem się przypadkowo na interesujący program graficzny - Context Free - narzędzie służące do tworzenia algorytmicznej grafiki.
![]() |
![]() |
![]() |
![]() |
Używa się go w niestandardowy sposób, mianowicie nie rysuje się nic na ekranie, ani na kartce - zamiast tego zadaniem artysty jest stworzenie opisu grafiki w specjalnym języku programowania. Pomysł ten jest krewniakiem idei muzyki algorytmicznej, o której pisałem przy okazji omawiania csound'a . Przypomniałem sobie o swoich starych eksperymentach z tworzeniem algorytmicznej grafiki bezpośrednio w języku C: oto wizerunek "tęczowej planety" i fragment kodu programu, który go narysował. Dość złożony obraz powstaje w wyniku działania tak prostej funkcji !
#define tfi(x) (0.5*(x+1))
float calc_color( float x, float y, int rgb )
{
float d, K;
d = (x-0.4) * (y-0.3) - 0.04;
if ( d < 0 )
K = 0;
else if ( d < 0.03 ) {
K = 1 - (0.03 - d)/0.03;
}
else
K = 1;
switch ( rgb ) {
case 0:
return K * tfi(sin( 41 * x*y ));
case 1:
return K * tfi(cos( 13 * x ));
default:
return K * tfi(cos( 28 * y ));
}
}





Brak komentarzy:
Prześlij komentarz