wiggler0xbe
wiggler0xbe
by Eshy Lavi
HTML
<body>
<div style="color:white;position:fixed;left:71.4%;top:3.6%;">
<p class="ps lavi" id="p4">
By Eshy Lavi
</p>
</div>
<canvas id="c" width="561" height="379" style="border:4px solid white;"></canvas>
</body>
CSS
body{background-color:black;}
.ps{margin:0;padding:0;}
JavaScript
var c = document.getElementById('c');
var ctx = c.getContext('2d');
var author = "Eshy Lavi try emailing me at the g."
var _r=243;var _b=228;var _g=213;
var _dg=2;var _dr=1;var _db=3;
var _a=1;
var xs=[];
var ys=[];
var odiss=[];
var diss=[];
var odis;
var N=16;
var theta=0;
var rate=0.0;
var delta=14;
var c_w=document.getElementById('c').width;
var c_h=document.getElementById('c').height;
var maxrad=Math.floor(c_w/2)
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 aqa=0;
var fillitv;
function filliter(){
fillitv*=-1;}
function looserter(){
delta+=0.75;
}
function fasterter(){
rate+=0.25;
}
function loosertera(){
delta-=0.75;
}
function fastertera(){
rate-=0.25;
}
var H=50;
function init(){
for (var i=0;i<N;i++){
//radnow=maxrad;
theta=(i*360/N);/*+Math.random()*360/N;*/
xs.push(xzero+(i-N/2)*(c_w)/(N-1));
ys.push(yzero+H*Math.sin(theta/57.3));
//xs.push(xzero+radnow*Math.cos(theta/57.3));
//ys.push(yzero-radnow*Math.sin(theta/57.3));
}
for (var ii=1;ii<N;ii++){
odiss[ii]=Math.sqrt((xs[i]-xs[i-1])*(xs[i]-xs[i-1])+(ys[i]-ys[i-1])*(ys[i]-ys[i-1]));
}
odiss[0]=Math.sqrt((xs[0]-xs[N-1])*(ys[0]-ys[N-1])+(ys[0]-ys[N-1])*(ys[0]-ys[N-1]));
fillitv=-1;
/*document.getElementById('b').onclick=function(){filliter();};
document.getElementById('d').onclick=function(){looserter();};
document.getElementById('e').onclick=function(){fasterter();};
document.getElementById('d2').onclick=function(){loosertera();};
document.getElementById('e2').onclick=function(){fastertera();};
*/
window.requestAnimationFrame(draw);
}
function draw(){
ctx.fillStyle='rgba(0,0,0,1)';
ctx.fillRect(0,0,561,379);
ctx.fillStyle="rgba("+_r+","+_g+","+_b+","+_a+")";
ctx.strokeStyle="rgba("+_r+","+_g+","+_b+","+_a+")";
ctx.beginPath();
//ctx.moveTo(xs[0],ys[0]);
ctx.globalCompositeOperation='source-under';
for (nrn=0;nrn<N;nrn++){
for (rnr=0;rnr<N;rnr++){
...