Chaos Game
https://codegolf.stackexchange.com/questions/38173/play-the-chaos-game
by John Doe
JavaScript
//c.strokeStyle = '#000';
/*
u=prompt();m=s=prompt().split(',');r=prompt();l=prompt('x1,y1;x2,y2;...').split(';').map(function(e){return e.split(',');});*/
u = '4000';
m = s = ['1','300'];
r = '0.5';
//list = [['1','1'],['300','522'],['600','1']];
l = [[1,300],[300,1],[300,600],[600,300]];
c=document.createElement('canvas');c.width=c.height=1000;document.body.appendChild(c);c=c.getContext('2d');q=Math;l.push(s);for(i=0;i++<u;){c.fillRect(m[0]|0,m[1]|0,2,2);do{e=l[q.random()*l.length|0];}while(q.pow(s[0]-e[0],2)+q.pow(s[1]-e[1],2)<3);for(k=0;k<2;)m[k]=s[k]*(1-r)+e[k++]*r;s=e;l.push(e=m)}
/*
c = document.createElement('canvas');
c.width = 1000;
c.height = 1000;
document.body.appendChild(c);
c = c.getContext('2d');
//c.strokeStyle = '#000';
limit = prompt('number of points');
start = prompt('startx,starty').split(',');
r = prompt('weight r'); //start*(1-r)+end*(r)
list = prompt('x1,y1;x2,y2;...').split(';').map(function(e){return e.split(',');});
limit = '4000';
mid = start = ['1','1'];
r = '0.5';
//list = [['1','1'],['300','522'],['600','1']];
list = [[1,300],[300,1],[300,600],[600,300]];
list.push(start);
for(var i = 0; i<limit*1;i++){
c.fillRect(mid[0]|0,mid[1]|0,2,2);
do {
end = list[Math.random()*list.length|0];
} while (Math.pow(start[0]-end[0],2)+Math.pow(start[1]-end[1],2)<6);
mid[0] = start[0]*(1-r)+end[0]*r;
mid[1] = start[1]*(1-r)+end[1]*r;
start = end;end=mid;
list.push(mid);
}
*/