memoscan
← all memos

Memo 0xece8e80b…f889b4 on Ethereum

let loading=1,sq=1;p5.disableFriendlyErrors=!0;const head=/\bHeadlessChrome/.test(navigator.userAgent);let pd,Lx,Ly,Lxb,Lyb,dx,Lyp,CCC,T,rndv;const NRND=200;var resizing=0,rsz_time=0,rsz_delay=500;let R,t0,MM,ox,oy,col,dox,doy,c1,s1,c2,s2,xe,ye,ze,pc,ob,buf,e,f,b,pj,pal,JJ,tt0,ll,rndi1,rndi2,rndph,rndi3,dgrid,PLx,PLy,mm,nn,ri,zh,zh2,zh3,zr,a,ct,dc,night,rlight,rain,st0,scx,scy,infrac,Pcir,lgfac,hx,lo,rr0,Nrad0,nt,inv,dt,phase,clarity,gfac,kgx,kgy,melt,wild,eye,sphsh,a1,a2,xe0,ye0,ze0,kz,kx,az,ax,ay,ky,om,nbr,tik,dlum,drfa,rad,coltik,rcfac,lnwght,ang,circo,bsat,invscl,sincol,ealph,ne,echo,mono,brr,lam,lightness,miny,maxy,minx,maxx,focus,outline,bw,out,clean,pblk,rndp,fade,step,step0,NA,aa0,flow,ds,es,rbow,pinch,atten,cerp,hatchn,lfac,lamr,hex,contr_x,v0,vred,zigzag,tphase,JN,emboss_amp,distx,dist,kblk,kand,blsh,emboss,x00,y00,Ni,Nj,N,Nrad,A,kspr,invgamma,R00,Rmax,layer1,ac,bc,na,nb,contr,fh,aspect0=.8,aspect=aspect0,keyst=0,dpx=0,xb=.2,pals=[];function setup(){document.body.style.backgroundColor="#2D3033",console.log("Glass by EDG"),console.log("https://twitter.com/eeedg__"),dox=0,doy=0,doz=0,init()}function init(){R=new Random,Lx=window.innerWidth,Ly=window.innerHeight,pd=pixelDensity(),sq&&(Lx=min(Lx,Ly*aspect),Ly=Lx/aspect),aspect=Lx/Ly,Lxb=Lx*(1+4*xb),Lyb=Ly*(1+4*xb),CCC=createCanvas(Lx,Ly),ob=createGraphics(Lxb,Lyb),pc=createGraphics(Lxb,Lyb),CCC.id("canv"),frameRate(60),Lyp=Ly/Lx,dx=min(Lx,Ly)/200;let n=[14,15,0,22,4,24,10,14,0,10,0,20];n=vecscl(n,1/133);let e=[];e[0]=0;for(let a=1;a<n.length;a++)e[a]=e[a-1]+n[a-1];pj=1;let t=rnd();for(;pj<n.length&&e[pj]<t;)pj++;pj--;inv=0,rnd()<[0,.2,0,0,0,0,0,.3,0,.3,0,0][pj]&&(inv=1),pal=[],JJ=pals[pj].length;for(let n=0;n<JJ;n++)pal[n]=pals[pj][n].slice(),inv&&(pal[n][0]=(pal[n][0]+180)%360);rndv=[];for(let n=0;n<200;n++)rndv[n]=rnd();let r=-PI/4+PI/2*rnd();c1=Math.cos(r),s1=Math.sin(r),c2=-.7,s2=.7,ze0=-2,xe0=0,ye0=-1/3,rnd()<.2&&(ze0=rnd()<.4?.3:.9),lo=1,rr0=1,Nrad0=7,phase=PI/2,rnd()<.3&&(phase-=PI),rnd()<.3&&(phase-=PI/2,rnd()<.5&&(phase+=PI)),rnd()<.3&&(phase+=-PI/12+PI/6*rnd()),dt=.1+1.2*rnd(),clarity=0,wild=1,a1=rnd(),a2=rnd(),miny=1,maxy=-1;sphsh=.5*(1-rnd()*rnd()),rain=0,rnd()<.2&&(rain=1);let s=1;rnd()<.3&&(s=rnd()),dc=.75*dx/Lx;let d=.5*(.1+.2*rnd());ds=4*Math.exp(rnd())*dc;ds*=2;let l=.5*(1+rnd());rnd();rlight=[4*rnd()-2,4*rnd()-2,4*rnd()-2],ze=ze0-1,xe=0,ye=0,Pcir=0;let o=[0,200,240,140,0,200,65,190,200,0,100,180,200,0,200,240,0,50,75,120,0,260,50,138],i=pj+inv*pals.length;hx=o[i]+([360,290,350,320,360,360,105,360,270,60,140,280,360,360,320,400,80,275,200,180,360,580,190,478][i]-o[i])*rnd(),hx=mod(hx,360),dlum=.2*.1*rnd(),drfa=3*rnd(),ne=floor(Math.exp(1.3*rnd())),coltik=.2*(1+.5*rnd()),lgfac=1,lnwght=.7,ang=.26*Math.exp(.3*rnd()),drfa<1&&(ang=PI/4),circo=.9*Math.exp(.5*rnd()),invscl=.9*Math.exp(.5*rnd());let p=2;mono=0,11==pj&&rnd()<.2&&(mono=3/2),echo=1,rnd()<.04&&(echo=0);let c=rnd();echo||(c*=.5);rnd();lam=.6+.4*rnd(),sincol=1,ealph=.3+.3*rnd(),cerp=0,brr=3;let h=Math.exp(2*rnd())+20;h=20;let x=3*floor(80+100*rnd()),b=4*(12+5*rnd());ct=1.5*dc;rnd()<.3||rnd();b*=1.3*Math.exp(-1.3*rnd()),popen=rnd();rnd();let m=.8+.2*rnd(),f=1;f=1-.02*rnd(),loopang=PI/2*rnd(),circ=1,rnd()<.2&&(circ=0,m/=3),flow=0,rnd()<.7&&(flow=1,rnd()<.3&&(flow=2)),flow*=3,es=0,rnd()<.3&&(es=rnd()<.8?.4*(20+x):floor(.1*(x+20)*rnd())),atten=rnd()<.3?1:round(10*rnd())/10,na=2+ceil(5*rnd()),nb=2+ceil(5*rnd()),ac=[],bc=[];for(let n=0;n<na;n++)ac[n]=[],ac[n][0]=rnd(),ac[n][1]=rnd();for(let n=0;n<nb;n++)bc[n]=[],bc[n][0]=rnd(),bc[n][1]=rnd();vecscl([-.5+rnd(),-.5+rnd(),-.5+rnd()],.03);let y=1-.3*rnd(),g=(rnd(),rnd()<.8?0:.8);aa0=3.2,hatch=0,rnd()<.07&&(hatch=1),pinch=0,rnd()<.4&&(pinch=.1,rnd()<.2&&(pinch=1)),hatch*=pinch,hatch=1,hatchn=2,hatchn=6,clean=0,rnd()<.2&&(clean=1),emboss=0,(rnd()<.5||flow>0)&&(emboss=1),emboss_amp=1,blsh=1,rnd()<.7&&(blsh=.2,rnd()<.6&&(blsh=.6));hex=rnd()<.25?1:0;kand=0;let u="None";dist=rnd()<.35?1:0,dist&rnd()<.5&&(blsh=.4),distx=1,abs(mod(phase,PI)-PI/2)<PI/4&&(distx=0),dist&&(u="Pressure");let j=.5;dist&&rnd()<.6&&(distx=1-distx,j/=2,u="Shear");let L=0;dist&&g>0&&(L=1,u="Superposition");let k=TWO_PI*rnd(),z=3+4*rnd();dist>0&&(emboss=1,flow/=3),focus=0,0==dist&&rnd()<.15&&(focus=1);pblk=0,y=0,rbow=1-Math.exp(.2*rnd());bw=0,aa0*=1+bw,outline=rnd()<.06?1:0,night=0,fade=1,lightness=10,contr=1,vred=1,contr_x=0,v0=102,bsat=20;let w=rnd();10!=pj&&w<.15&&(bsat=4,lightness+=20,2==pj&&(bsat=20)),11==pj&&(contr_x=1,v0=10,kand=0,echo=0,bw=0,pblk=0,bsat=2,lightness+=20,es=0,fade=0),0!=pj||inv||(contr_x=1,v0=10,aa0*=1.6,bsat=4,lightness+=20,fade=.1),3==pj&&(contr_x=1,contr=0),3==pj&&inv&&(outline=1,mono=1,fade=.3),4!=pj||inv||(bsat=5,lightness+=10,es=0,night=.2,fade=0),4==pj&&inv&&(contr_x=1,v0=10,bsat=4,lightness=40,night=.2),9==pj&&(vred=0,mono=1,clean=1,fade=2,es=0,aa0*=1.6),inv||8!=pj||(outline=1,bsat=25,lightness=0),6!=pj||inv||(contr_x=1,v0=10,bsat=4,lightness=15,es=0,es=0,fade=2),6==pj&&inv&&(bsat=4,lightness=25,es=0),7!=pj||inv||(v0=120,vred=0,bsat=4,lightness=25,es=0,night=.2,fade=0),7==pj&&inv&&(clean=1,fade=.7),2!=pj||inv||(outline=1,mono=1,es=0,sincol=0,fade=.7),2==pj&&inv&&(mono=1,es=0),10==pj&&(mono=1,fade=2,lightness=2,night=.2,p=2),1==pj&&(v0=3,contr_x=1,fade=2,es=0),5==pj&&(vred=0,clean=1,bsat=20),0==es&&(atten=0); kblk=1-kand,outline=0,es=0,bsat=20,clean||(night=pblk,bsat*=0+.9*pblk),fade=0,bsat=2,lightness*=1-bw,bsat=8,11==pj&&(bsat=2); 6==pj&&(bsat=20,flow/=3,contr=1,emboss=0); 4==pj&&(mono=+3/2); 1==pj&&inv&&(bsat=20,emboss=0,contr=1); 4==pj&&inv&&(bsat=20),lfac=.8+.4*min(0,max(4,bsat)-20)/16,dlum*=-1,d=0,out=rnd()<.5?0:1,hoop=rnd()<.3?0:1,zigzag=0,hoop=0,dt=.1,A=[],JN=rnd()<.1?2:20,tphase=TWO_PI*rnd(),Nsph=20+floor(20*rnd()),Nsph<20&&(hex=0),Nsph*=max(1.25*aspect,.8/aspect),!emboss&&(Nsph+=10),0!=pj&&1!=pj&&6!=pj||(aa0*=1.6),11==pj&&(aa0*=1.3),R00=1/Nsph,Ni=1/R00/2,Nj=1/R00/2/aspect,Rmax=1.62*R00*1.2;let P=[],I=1;for(let n=0;n<Ni;n++){P[n]=[];for(let a=0;a<Nj;a++)if(P[n][a]=rnd()<1?I:0,P[n][a]){let e=[];I++,e.R=R00*(.9-.2*hex)*(.2+1.6*rnd()),e.F=[0,0],e.r=[],e.r[0]=n/Ni+a%2*R00*.87,e.r[1]=a/Nj,e.nb=[],e.lnk=[],A.push(e)}}let _=[-1,0,1,-1,0,1,2,-2,-1,1,2,-1,0,1,2,-1,0,1],M=[-1,0,1,-2,-1,0,1,-2,-1,1,2,-2,-1,0,1,-1,0,1],C=[2,2,2,1,1,1,1,0,0,0,0,-1,-1,-1,-1,-2,-2,-2];N=A.length;for(let n=0;n<Ni;n++)for(let a=0;a<Nj;a++){let e=round(-1+P[n][a]);if(e>-1){let t=0;for(let r=0;r<C.length;r++){let s=C[r],d=round(mod(n+(a%2>0?_[r]:M[r]),Ni)),l=round(mod(a+s,Nj)),o=-1+P[d][l];o>-1&&(A[e].nb.push(o),t++)}A[e].z=t}}kspr=1,invgamma=1;for(let n=0;n<1e3;n++){for(let n=0;n<N;n++){let a=[0,0],e=0;for(let t=0;t<A[n].z;t++){let r=A[n].nb[t],s=[A[r].r[0]-A[n].r[0],1/aspect*(A[r].r[1]-A[n].r[1])];for(let n=0;n<3;n++)s[0]>.8&&(s[0]-=1),s[0]<-.8&&(s[0]+=1),s[1]>.8&&(s[1]-=1),s[1]<-.8&&(s[1]+=1);let d=Math.sqrt(s[0]**2+s[1]**2),l=-d+A[n].R+A[r].R;d>0&&l>0&&(e+=l,a[0]+=-kspr*l*s[0]/d,a[1]+=-kspr*l*s[1]/d)}A[n].F=[a[0],a[1]],A[n].cf=e}for(let n=0;n<N;n++)A[n].r[0]+=dt*invgamma*A[n].F[0],A[n].r[1]+=dt*invgamma*A[n].F[1],A[n].r[0]=mod(A[n].r[0],1),A[n].r[1]=mod(A[n].r[1],1)}a=[];let J=phase+PI/2-ang;for(let n=0;n<N;n++){let e=[];e.x=[],e.y=[],e.z=[],e.v=[],e.RR=[],e.s=0;let t=.3*rnd(),r=unit([0,1,0]),s=2*b*20/Nsph*A[n].R/R00+1;for(let a=0;a<s;a++)e.x[a]=A[n].r[0]+cos(J+TWO_PI/s*a)*A[n].R,e.y[a]=A[n].r[1]+sin(J+TWO_PI/s*a)*Lx/Ly*A[n].R,e.z[a]=t,e.v[a]=r,e.RR[a]=rezeta([e.x[a],e.y[a]]);e.xav=A[n].r[0],e.yav=A[n].r[1],e.zav=e.z[floor(s/2)],e.id=n,e.open=0,e.R=l*(1+rnd());let d=phase,o=str(e.xav),i=str(e.yav);e.s=-sin(d)*i-cos(d)*o,A[n].s=e.s,a.push(e)}NA=a.length,echo=0,maxy=-1,miny=1,maxx=-1,minx=1,xav=0;let D=[],F=[];for(let n=0;n<NA;n++)xav+=a[n].xav,a[n].yav&&(p1=[a[n].xav,a[n].yav],D.push(p1[0]),F.push(p1[1]),maxy=max(maxy,p1[1]),miny=min(miny,p1[1]),maxx=max(maxx,p1[0]),minx=min(minx,p1[0]));xav/=a.length,D.sort((function(n,a){return n-a})),F.sort((function(n,a){return n-a})),minx=D[floor(NA/7)],maxx=D[floor(6*NA/7)],miny=F[floor(NA/7)],maxy=F[floor(6*NA/7)],x00=.3,y00=.3;for(let n=0;n<NA;n++){a[n].gp=[];for(let e=0;e<a[n].x.length;e++)a[n].z[e]+=imzeta([a[n].x[e],a[n].y[e]])/10,a[n].gp[e]=gradimzeta([a[n].x[e]-x00,a[n].y[e]-y00])}if(dist){let n=3;for(let e=0;e<a.length;e++){let t=distx?A[e].r[0]:A[e].r[1];L&&(t=A[e].r[0]*A[e].r[1]);let r=j*sin(cos(z*sin(t)+k)*n);A[e].r[0]+=-.2*r*cos(phase),A[e].r[1]+=.2*r*sin(phase);for(let r=0;r<a[e].x.length;r++){t=distx?a[e].x[r]:a[e].y[r],L&&(t=a[e].x[r]*a[e].y[r]);let s=j*sin(cos(z*sin(t)+k)*n);a[e].x[r]+=-.2*s*cos(phase),a[e].y[r]+=.2*s*sin(phase)}}}let T=0;for(let n=0;n<a.length;n++){a[n].t1=[],a[n].t2=[],a[n].t1[0]=0;for(let e=1;e<a[n].x.length;e++)a[n].t1[e]=atan2(a[n].y[e]-a[n].y[e-1],a[n].x[e]-a[n].x[e-1])-PI/2,a[n].t2[e-1]=a[n].t1[e];T+=a[n].x.length}A.sort(((n,a)=>a.s-n.s)),a.sort(((n,a)=>a.s-n.s)),fac=1.8/(maxy-miny),scx=.5;let W=cos((1-pinch)*phase),E=sin((1-pinch)*phase);W=0,E=0,scx=1/(maxx-minx),scy=1/(maxy-miny),scx=max(scx,scy),scy=scx,ox=1-scx*maxx,oy=1-scy*maxy;for(let n=0;n<NA;n++)a[n].bdy=inbdy(mod(a[n].xav,1),mod(a[n].yav,1));doz=0,blendMode(BLEND),ob.blendMode(BLEND),bg(),step0=floor(.8*max(30,NA-es)),step=1,step0=NA-es,loading||(step0=1)}function begin(n,a){background(0,0,0,1),fill(n,a,bfac*(1-kand)*100),rect(0,0,Lx,Ly),ob.background(0,0,0,1),ob.fill(n,a,bfac*(1-night)*100),ob.rect(0,0,Lxb,Lyb),fill((180+n)%360,3*a,50),pc.fill(200/JN*(1-kand)+255*kand),pc.rect(0,0,Lxb,Lyb)}function fblend(n){return n*n*(3-2*n)}pals.push([[359,31,56],[353,19,97],[6,20,96],[22,21,92],[20,16,98],[28,21,99],[6,20,96],[347,13,96]]),pals.push([[208,49,38],[205,41,59],[192,29,45],[190,14,64],[220,9,78],[12,4,45],[167,16,81],[180,7,100]]),pals.push([[222,86,22],[208,88,29],[203,61,57],[215,49,74],[211,68,93],[236,100,24],[195,85,45]]),pals.push([[4,100,34],[1,96,84],[26,92,94],[34,58,89],[48,100,99],[21,100,84],[8,100,17]]),pals.push([[43,35,28],[46,39,42],[41,27,90],[39,46,49],[39,83,90],[46,6,96],[46,15,97]]),pals.push([[209,92,15],[197,98,24],[195,79,37],[190,42,64],[189,62,90]]),pals.push([[331,21,31],[265,23,40],[335,26,76],[163,32,22],[210,24,29],[180,31,97],[49,30,63],[180,23,90],[170,13,48]]),pals.push([[26,71,17],[26,78,23],[42,68,60],[40,46,60],[42,76,74],[37,62,74]]),pals.push([[102,41,55],[123,37,63],[94,27,65],[121,30,69],[91,26,67],[125,37,63]]),pals.push([[115,52,17],[98,51,40],[78,58,54],[91,67,84],[6,54,38]]),pals.push([[349,83,69],[250,44,66],[191,44,66],[27,82,72],[45,85,70],[0,100,79]]),pals.push([[221,20,21],[199,26,38],[190,10,81],[220,0,100],[190,0,100],[205,30,43],[183,20,100],[215,43,36],[185,0,100],[200,0,100]]);let bfac=1;