- Author:
- John Lyon
- Twitter:
- @
- GitHub:
- Facebook:
- Google+:
- +
- Reddit:
- /r/
- Pouet:
- Website: 
- Compo:
- classic
- Demo link:
- https://js1k.com/2010-first/demo/206
- Shortlink:
- https://js1k.com/206
- Blog post:
- please update here!
- Bytes:
- 718
- Chars:
- 718
- Submission
- W=this,d=document,si=setInterval,s=d.body.style,C=d.getElementById('c'),c=C.getContext('2d'),M=Math,t=val=0,pi=M.PI,z=M.sin,y=M.cos,r=M.random,
s.overflow='hidden';w = C.width = W.innerWidth -200;h = C.height = W.innerHeight -200;r1 = r()*2;r2 = r()*3;
function p(x){x=(x+1)/2;return ~~(256 * x);};
function dist(a,b,c,d){return M.sqrt((a-c)*(a-c)+(b-d)*(b-d));};
si(function(){t+= 0.008;c.fillStyle = "#999";c.fillRect(0,0,w,h);for(i=0;i<60;i++){for(j=0;j<40;j++){
val = z(dist(z(y(-t)*i/17.*r1),-y(z(t)*j/17.*r2),w/3+y(t*pi),h+y(r1/10)^2/30))+1-z(M.log(t*pi+r2))+y((r2))/10
c.fillStyle = "rgb("+ p(z(pi*val*2)) +","+ p(z(pi*val)) + ","+ p(z(pi*val/2)) +")";
c.fillRect(i*w/60,j*h/40,i+1*w/60,j+1*h/40);}}},33)
 
- Description
- Pretty simple plasma zoomer
- Base64 encoded
- Vz10aGlzLGQ9ZG9jdW1lbnQsc2k9c2V0SW50ZXJ2YWwscz1kLmJvZHkuc3R5bGUsQz1kLmdldEVsZW1lbnRCeUlkKCdjJyksYz1DLmdldENvbnRleHQoJzJkJyksTT1NYXRoLHQ9dmFsPTAscGk9TS5QSSx6PU0uc2luLHk9TS5jb3Mscj1NLnJhbmRvbSwNCnMub3ZlcmZsb3c9J2hpZGRlbic7dyA9IEMud2lkdGggPSBXLmlubmVyV2lkdGggLTIwMDtoID0gQy5oZWlnaHQgPSBXLmlubmVySGVpZ2h0IC0yMDA7cjEgPSByKCkqMjtyMiA9IHIoKSozOw0KZnVuY3Rpb24gcCh4KXt4PSh4KzEpLzI7cmV0dXJuIH5+KDI1NiAqIHgpO307DQpmdW5jdGlvbiBkaXN0KGEsYixjLGQpe3JldHVybiBNLnNxcnQoKGEtYykqKGEtYykrKGItZCkqKGItZCkpO307DQpzaShmdW5jdGlvbigpe3QrPSAwLjAwODtjLmZpbGxTdHlsZSA9ICIjOTk5IjtjLmZpbGxSZWN0KDAsMCx3LGgpO2ZvcihpPTA7aTw2MDtpKyspe2ZvcihqPTA7ajw0MDtqKyspew0KdmFsID0geihkaXN0KHooeSgtdCkqaS8xNy4qcjEpLC15KHoodCkqai8xNy4qcjIpLHcvMyt5KHQqcGkpLGgreShyMS8xMCleMi8zMCkpKzEteihNLmxvZyh0KnBpK3IyKSkreSgocjIpKS8xMA0KYy5maWxsU3R5bGUgPSAicmdiKCIrIHAoeihwaSp2YWwqMikpICsiLCIrIHAoeihwaSp2YWwpKSArICIsIisgcCh6KHBpKnZhbC8yKSkgKyIpIjsNCmMuZmlsbFJlY3QoaSp3LzYwLGoqaC80MCxpKzEqdy82MCxqKzEqaC80MCk7fX19LDMzKQ==
 
- Original source
- W = this,
    d = document,
    si = setInterval,
    s = d.body.style,
    C = d.getElementById('c'),
    c = C.getContext('2d'),
    M = Math,
	t = val = 0,
    pi = M.PI,
    z = M.sin,
    cos = M.cos,
    rnd = M.random, s.overflow='hidden';
	w = C.width = W.innerWidth -200;
	h = C.height = W.innerHeight -200;
	r1 = rnd()
	r2 = rnd()
	function n256(x) {
		x = (x + 1) / 2;
		return ~~(256 * x);
	};
	
	function dist(a,b,c,d){
		return M.sqrt((a - c) * (a - c) + (b - d) * (b - d));
	};
	
	si(function(){
		t+= 0.008;
		c.fillStyle = "#999";
		c.fillRect(0,0,w,h);
		for(i=0;i<60;i++){
			for(j=0;j<40;j++){
				val = z(dist(z(cos(-t)*i/17.*r1),-cos(z(t)*j/17.*r2),w/3+cos(t*pi),h+cos(r1/10)^2/30)) + 1 -z(M.log(t*pi)) + cos((r2))/30
				c.fillStyle = "rgb("+ n256(z(pi*val*2)) +","+ n256(z(pi*val)) + ","+ n256(z(pi*val/2)) +")";
				c.fillRect(i*w/60,j*h/40,i+1*w/60,j+1*h/40);
			}
		}
	},33)