Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>HAKMEM Circle</title>
<!--[if IE]>
  <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<style>
  article, aside, figure, footer, header, hgroup, 
  menu, nav, section { display: block; }
</style>
</head>
<body>
  <canvas id="c" style="border:1px solid #333;width:800px;height:800px;"></canvas>
</body>
</html>
 
if (document.getElementById('c')) {
  var C = document.getElementById('c');
  C.width=C.height=800;
  var c = C.getContext('2d');
  var I = c.createImageData(800,800);
  //Starting state
  var oldX = 200, oldY = 200, ep = 0.1;
  for(var i=0,p=0,x,y;i<100000;i++) {
    
    //NEW X = OLD X - epsilon * OLD Y 
    x=oldX-ep*oldY%23;
    
    //NEW Y = OLD Y + epsilon * NEW(!) X
    y=oldY+ep*x%13;
    
    //convert x,y to array index
    p = (parseInt((x*0.8+(x%y)*0.2)+400)+parseInt(y+400)*C.width)*4;
    //plot
    I.data[p+0]=0;
    I.data[p+1]=0;
    I.data[p+2]=0;
    I.data[p+3]=255;
    
    oldX=x;
    oldY=y;
  }
  //draw to canvas
  c.putImageData(I,0,0);
  
}
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
anonymouspro
0viewers