wiggler0xa1

wiggler0xa1

by Eshy Lavi

HTML

<body>
<button id="b" style="position:fixed;bottom:216px;left:67%;">
+-fill
</button>
<button id="d" style="position:fixed;bottom:96px;left:67%;">
-attract
</button>
<button id="e" style="position:fixed;bottom:66px;left:67%;">
+rate
</button>
<button id="y" style="position:fixed;bottom:186px;left:67%;">
+-colorChange
</button>
<button id="bb" style="position:fixed;bottom:156px;left:67%;">
+-connect
</button>
<button id="d2" style="position:fixed;bottom:126px;left:67%;">
+attract
</button>
<button id="e2" style="position:fixed;bottom:36px;left:67%;">
-rate
</button>
<div style="color:white;position:fixed;left:67%;top:3.6%;">
<p class="ps author" id='p1'>
</p>
<p class="ps es" id='p2'>
</p>
<p class="ps hy" id='p3'>
</p>
<p class="ps lavi" id="p4">
By Eshy Lavi
</p>

</div>
<canvas id="c" width="366" height="366" style="border:4px solid white;"></canvas>

</body>

CSS

body{background-color:black;}
.ps{margin:0;padding:0;}
button{min-width:24%;}
#p3{color:blue;}
#p2{color:blue;}
#p1{color:blue;}
#p4{color:#12febe;}

JavaScript

var c      = document.getElementById('c');
var ctx    = c.getContext('2d');
var author = "Eshy Lavi try emailing me at the g."
var _r=123; var _b=28; var _g=113;
var _dg=2 ; var _dr=0.04 ; var _db=0.13 ;
var _a=1;
var xs=[]   ; var ys=[];   //position arrays
var od iss=[];  //original distances
var diss=[];   //distances
var N=64;     //N
var od_i=0;
var d_i=0;     
var d_n=0;
var d_lim=0;
var theta=0;
var rate=2.1;
var drate=0.0001;var ddrate=0.000002;
var delta=199961;
var c_w=document.getElementById('c').width;
var c_h=document.getElementById('c').height;
var maxrad=Math.floor(c_w/2)-20;
var radnow;
var xzero=Math.floor(c_w/2);
var yzero=Math.floor(c_h/2);
var dnf=true;
var oxs=[];var oys=[];
var rnr=0;var nrn=0;
var fillitv;
var fullyconnected=-1;
var changecolors=1;
var j=0;
var xabs=5;var yabs=5;



function updateps(){
  document.getElementById('p1').innerHTML="N     = "+N;
  document.getElementById('p2').innerHTML="rate  = "+rate.toFixed(2);
  document.getElementById('p3').innerHTML="delta = "+delta.toFixed(2);
 if (delta<=6) document.getElementById('p3').style.color="red";
 else document.getElementById('p3').style.color="blue";
 if (rate<0.001&&rate>-0.001) document.getElementById('p2').style.color="red"; 
 else document.getElementById('p2').style.color="blue";
 
}

function filliter(){
  fillitv*=-1;
  if (fillitv>0)fullyconnected=-1;
}
function looserter(){
  delta+=5;
  updateps();
}
function fasterter(){
  rate+=0.05;
  updateps();
}
function loosertera(){
  delta-=5;
  updateps();
}
function fastertera(){
  rate-=0.05;
  updateps();
}
function connected(){
  fullyconnected*=-1;
  if (fullyconnected>0)fillitv=-1;
}
function docolors(){
  changecolors*=-1;  
}
function init(){
  updateps();
  for (var i=0;i<N;i++){
    radnow=/*Math.random()**/maxrad;
    theta=(i*360/N);/*+Math.random()*360/N;*/  
    xs.push(xzero+radnow*Math.cos(theta/57.29578));
    ys.push(yzero-radnow*Math.sin(theta/57.29578));
  }
  d_lim=0;
  for (var iii=0;iii<N;iii++){
   ...