3D expression visualiser! use X, Y as coordinates, F as frame, x and y as mouse coordinates. Move with mouse
b.appendChild(I=document.createElement('input'));x=20;y=30;a.onmousemove=E=>{x=E.x,y=E.y};I.style=`top:-10px;left:260px;position:absolute;padding-top:2px;border:4px solid lime;font-size:30px;margin:20px;background:#000;color:lime;width:40cm;font-style:bold;`;b.style.background='#000';F=0;I.value='Math.cos(X/10*5*Math.cos(F/40))*6*Math.cos(Y/10*5*Math.sin(F/30))*6';f=Q=>{if(F%10==0)E=I.value;c.clearRect(0,0,a.width,a.height);F++;for(X=-20;X<21;X++)for(Y=-20;Y<21;Y++)c.fillStyle=`hsl(${eval(E)},99%,50%)`,c.fillRect(a.width/2+X*10+Y*19*(x/a.width-.5),a.height/2+Y*19*(y/a.height-.5)-eval(E),4,4),c.fillStyle=`hsl(${eval(E)},99%,50%)`,c.fillRect(50+X*2,50+Y*2,2,2),c.fillStyle=`hsl(${-eval(E)>0?0:eval(E)**2},79%,40%)`,c.fillRect(140+X*2,50+Y*2,2,2),c.fillStyle=`hsl(${(eval(E)/X+eval(E)/Y)*9},99%,50%)`,c.fillRect(230+X*2,50+Y*2,1+Math.sin(eval(E))*.1,1+Math.cos(eval(E))*.1)};setInterval(f,9)
Yi5hcHBlbmRDaGlsZChJPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0JykpO3g9MjA7eT0zMDthLm9ubW91c2Vtb3ZlPUU9Pnt4PUUueCx5PUUueX07SS5zdHlsZT1gdG9wOi0xMHB4O2xlZnQ6MjYwcHg7cG9zaXRpb246YWJzb2x1dGU7cGFkZGluZy10b3A6MnB4O2JvcmRlcjo0cHggc29saWQgbGltZTtmb250LXNpemU6MzBweDttYXJnaW46MjBweDtiYWNrZ3JvdW5kOiMwMDA7Y29sb3I6bGltZTt3aWR0aDo0MGNtO2ZvbnQtc3R5bGU6Ym9sZDtgO2Iuc3R5bGUuYmFja2dyb3VuZD0nIzAwMCc7Rj0wO0kudmFsdWU9J01hdGguY29zKFgvMTAqNSpNYXRoLmNvcyhGLzQwKSkqNipNYXRoLmNvcyhZLzEwKjUqTWF0aC5zaW4oRi8zMCkpKjYnO2Y9UT0+e2lmKEYlMTA9PTApRT1JLnZhbHVlO2MuY2xlYXJSZWN0KDAsMCxhLndpZHRoLGEuaGVpZ2h0KTtGKys7Zm9yKFg9LTIwO1g8MjE7WCsrKWZvcihZPS0yMDtZPDIxO1krKyljLmZpbGxTdHlsZT1gaHNsKCR7ZXZhbChFKX0sOTklLDUwJSlgLGMuZmlsbFJlY3QoYS53aWR0aC8yK1gqMTArWSoxOSooeC9hLndpZHRoLS41KSxhLmhlaWdodC8yK1kqMTkqKHkvYS5oZWlnaHQtLjUpLWV2YWwoRSksNCw0KSxjLmZpbGxTdHlsZT1gaHNsKCR7ZXZhbChFKX0sOTklLDUwJSlgLGMuZmlsbFJlY3QoNTArWCoyLDUwK1kqMiwyLDIpLGMuZmlsbFN0eWxlPWBoc2woJHstZXZhbChFKT4wPzA6ZXZhbChFKSoqMn0sNzklLDQwJSlgLGMuZmlsbFJlY3QoMTQwK1gqMiw1MCtZKjIsMiwyKSxjLmZpbGxTdHlsZT1gaHNsKCR7KGV2YWwoRSkvWCtldmFsKEUpL1kpKjl9LDk5JSw1MCUpYCxjLmZpbGxSZWN0KDIzMCtYKjIsNTArWSoyLDErTWF0aC5zaW4oZXZhbChFKSkqLjEsMStNYXRoLmNvcyhldmFsKEUpKSouMSl9O3NldEludGVydmFsKGYsOSkNCg==
Original source not submitted