Scribbles
"Programar é uma forma de arte tanto quanto, digamos, a pintura é um processo técnico." (Adrian Ward, 1999)
Este é um programa que cria um rabisco, autoria de Adrian Ward, e descrito em seu artigo "How I Drew One Of My Pictures" (1999).
Dê refresh no browser para reiniciar o rabisco.
Built with Processing
Código em Processing:
int angle = Math.round(random(2*3.141));
int distance = 10;
int px = 128;
int py = 90;
int opx = 0;
int opy = 0;
int wander = 1;
int jerk = 5;
int time = 1000;
void setup() {
background(255,255,255);
size(500,500);
color cw = color(0,0,0);
stroke(cw);
strokeWeight(1);
strokeCap(PROJECT);
point(px,py);
}
void draw() {
if(time>0){
time -= 1;
opx=px;
opy=py;
px+=Math.round(Math.sin(angle)*random(10));
py+=Math.round(Math.cos(angle)*random(10));
line(opx,opy,px,py);
angle+=Math.round(random(10)/10*wander);
if(random(10)<jerk){angle+=3.141;}
}
}
Código original (em ZX BASIC):
5 REM – Scribbles.ZX –
10 LET angle=RND*(2*3.141)
20 LET distance=10
30 LET px=128
40 LET py=90
50 LET wander=1
60 LET jerk=0.5
70 LET time=100
80 FOR i=0 TO time
90 PLOT px,py
95 LET opx=px: LET opy=py
100 LET px=px+(SIN(angle)*RND*distance)
110 LET py=py+(COS(angle)*RND*distance)
120 DRAW px-opx,py-opy
130 LET angle=angle+(RND*wander)
140 IF RND<jerk THEN LET angle=angle+3.141
150 NEXT i