memoscan
← all memos

Memo 0x7e3090da…193a3a on Ethereum

pickSome:C}=L(tokenData.hash);let I;noiseSeed(1e5*n());const N=()=>{const t={};return I=a(z.length-1),t.palette=z[I],t.colors=["strict","gradient","mono","duo"][M([8.5,.5,.1,1])],t.details=[1,2,3,4,5,6][M([1,1,5,3,.5,.5])],t.base=["sNoise","strictH","strictV","dNoise","circles","rhombus","square","hex","portal","rImpulse","sImpulse",!1][M([3,1,1,1,1,1,1,1,1,1,1,1])],t.separation=["circle","false","halfV","halfH"][M([4,.5,1,1])],t.zNucleotides=n()>.5,t.xNucleotides=n()>.5,t.extraLink=["strictH","strictV","noiseH","noiseV","grid",!1][M([1,1,1,1,1,8])],t.topLayer=["full","circle",!1][M([4,4,1])],"duo"===t.colors&&(t.topLayer=f(["full","circle"])),t.backLayer=t.base&&n()>.1,t.connection=n()>.5,t.centered=n()>.95,t.torn=!t.centered&&["h","v",!1][M([1,1,8])],t.spline=n()>.5,t.spirals=[1,2,3,!1][M([1,1,1,1])],t.streams=!t.torn&&!t.extraLink&&["vertical","horizontal","rectangle",!1][M([1,1,1,12])],t.zPoints=[a(0,5),a(6,12)][M([5,5])],t},{palette:D,colors:A,details:B,base:H,separation:V,backLayer:T,topLayer:P,zNucleotides:_,xNucleotides:j,connection:O,extraLink:Y,centered:q,torn:G,spline:R,spirals:U,streams:$,zPoints:Q}=N(),J="mono"===A,K="duo"===A,X="gradient"===A,Z=f(["triangle","block","circle"]),tt=a(30,50),et=J||K||n()>.5,it=!H&&!Y;let rt=[],ot;const ht=s(.0025,.005);let nt=C(g(D),3),st;st=X?e(nt,1e4):nt;const lt=st;(J||K)&&(st=[lt[0]]);const ct=st.map((t=>color(t))),at=nt.map((t=>{const e=color(t);return e.setAlpha(20),e}));ot=[];const dt=width*s(-.1,.3);u(dt,dt,width-2*dt,height-2*dt,B,ot,.7,[.1,.9],n,4);const ft=C(ot,2);let pt=[],gt=[];for(let t=0;t<3;t+=1)gt.push({x:s(width),y:s(height),gravity:s(1,2)});const[ut,yt,xt]=gt;background(0),background(at[0]);for(let t=0;t<1e4;t+=1)push(),noStroke(),fill(lt[0]),circle(s(width),s(height),s(.5,2)*r),pop();let wt=[];const vt={sNoise:[a(400,2e3),a(30,100),s(.1,.5),s(.01,.001),0,0],dNoise:[a(20,100),a(400,2e3),s(.25,.5),s(.01,.001),s(.25,.5),s(.01,.001)],strictH:[a(400,2e3),a(10,25),0,0,0,0],strictV:[a(10,25),a(400,2e3),0,0,0,0]};let mt,kt;if(n()>.97&&noiseDetail(1),H)if("circles"===H)for(let t=0;t<30;t+=1)k(wt,2e3,.5*width,s);else if("rhombus"===H)for(let t=0;t<30;t+=1)k(wt,2e3,.5*width,s,!0);else if("square"===H)for(let t=0;t<30;t+=1)k(wt,2e3,.5*width,s,!0,!0);else if("hex"===H)E(wt,r);else if("sImpulse"===H||"rImpulse"===H)for(let t=height/200;t<=height;t+=height/100){const e=void 0;o(width/2,height/2,100,"rImpulse"===H?100:4,t,0).forEach((({x:t,y:e})=>{wt.push([t,e])}))}else if("portal"===H){let t=0;const e=a(10,30);for(let i=height/200;i<=height;i+=height/e){const e=void 0;o(width/2,height/2,100+100*t,4,i,45).forEach((({x:t,y:e})=>{wt.push([t,e])})),t+=1}}else{const t=void 0;y(wt,r,...vt[H])}if(!H)for(let t=0;t<a(2,5);t+=1)x(wt,r,s(100,500),10,s,f,n()>.5);mt=[...wt],kt=[...wt],mt=mt.filter((([t,e])=>c(t,e,ut.x,ut.y,width*s(.1,.2))||c(t,e,yt.x,yt.y,width*s(.1,.2)))),kt=kt.filter((([t,e])=>c(t,e,xt.x,xt.y,width*s(.1,.2)))),rt=new Array(tt).fill(null).map((()=>({x:s(width),y:s(height),radius:width*s(.05,.15)})));for(let t=0;t<rt.length;t+=1){const{x:e,y:i,radius:r}=rt[t];wt=wt.filter((([t,o])=>dist(t,o,e,i)>r*s(.8,1.2)))}pt=[...wt];const Et=C(ot,U);if(Et.forEach((({x:t,y:e,w:i,h:r})=>{const o=min(i,r),h=l(t+i/2,e+r/2,a(500,2e3),2*o,s(360),s(.001,.005),n()>.5);wt=wt.filter((([h,n])=>!c(h,n,t+i/2,e+r/2,2*o))),pt=pt.filter((([h,n])=>!c(h,n,t+i/2,e+r/2,2*o)));const d=n()>.8;for(let t=0;t<h.length;t+=1){const{x:e,y:i}=h[t];wt.push([e,i]),d&&pt.push([e,i])}})),Z){let t="circle"===Z?100:"block"===Z?6:3;const e=width*s(.2,.45),i=s(360),r=o(ut.x,ut.y,t,t,e,i).map((({x:t,y:e})=>[t,e])).flat();wt=wt.filter((([t,e])=>!p([t,e],r))),pt=pt.filter((([t,e])=>!p([t,e],r)));const h=void 0;o(ut.x,ut.y,a(500,1e3),t,e/1.5,360-i).forEach((({x:t,y:e})=>{wt.push([t,e]),pt.push([t,e])})),wt.push([ut.x,ut.y])}if(it)for(let t=0;t<a(2,5);t+=1)x(wt,r,a(100,500),10,s,f,n()>.5);if(_){const{x:t,y:e,w:i,h:r}=ft[0];w(wt,t+i/2,e+r/2,s(100,500),a(10,21),s,s(.2*width),!0)}if(j){const{x:t,y:e,w:i,h:r}=f(ot);w(wt,t+i/2,e+r/2,s(500,2e3),a(10,21),s,width*s(.2,.4))}if(G){let t;t="v"===G?[.2*width,0,.8*width,0,.8*width,height,.2*width,height]:[0,.2*height,width,.2*height,width,.8*height,0,.8*height],wt=wt.filter((([e,i])=>!p([e,i],t))),pt=pt.filter((([e,i])=>!p([e,i],t)));for(let t=0;t<a(1,4);t+=1)x(wt,r,s(100,500),10,s,f,n()>.5)}const bt=a(200,600);if(Q){const t=C(ot,Q).map((({x:t,y:e,w:i,h:r})=>({x:t+i/2,y:e+r/2,radius:2*min(i,r)})));for(let e=0;e<t.length;e+=1)if(e%3!=0){const i=s(.8,1.5),{x:r,y:o,radius:h}=t[e];wt=wt.filter((([t,e])=>dist(t,e,r,o)>h/i*s(.8,1.2))),pt=pt.filter((([t,e])=>dist(t,e,r,o)>h/i*s(.8,1.2)))}t.forEach((({x:t,y:e,radius:i})=>{const r=Math.floor(i/width*500),h=f([3,6,400]),l=s(360),c=o(t,e,r,h,i/2,l),a=i>.6*width,d=o(t,e,r,h,i/s(3,5),l).reverse(),p=n()>.75,g=n()>.75;push(),noStroke(),fill(f(K?[lt[0],lt[1]]:st)),beginShape(),c.forEach((({x:t,y:e})=>{vertex(t,e)})),(a||n()>.5)&&(beginContour(),d.forEach((({x:t,y:e})=>{vertex(t,e),wt.push([t,e]),p&&pt.push([t,e])})),endContour()),endShape(CLOSE),pop(),push(),noFill(),stroke(0),strokeWeight(i/10),beginShape(),c.forEach((({x:t,y:e})=>{vertex(t,e)})),endShape(CLOSE),pop(),push(),noFill(),stroke(at[0]),!J&&!K&&n()>.5&&stroke(f(st)),strokeWeight(i/10),beginShape(),c.forEach((({x:t,y:e})=>{vertex(t,e),wt.push([t,e]),g&&pt.push([t,e])})),endShape(CLOSE),pop()}))}if("vertical"===$)for(let t=0;t<width;t+=width/a(8,50)){const e=[t,height*s(.2,.4),t,height*s(.6,.8)];wt=wt.filter((([t,i])=>!d(t,i,...e)));const r=void 0;i(...e,bt).forEach((({x:t,y:e})=>{wt.push([t,e])}))}if("horizontal"===$)for(let t=0;t<height;t+=height/a(8,50)){const e=[width*s(.2,.4),t,width*s(.6,.8),t];wt=wt.filter((([t,i])=>!d(t,i,...e)));const r=void 0;i(...e,bt).forEach((({x:t,y:e})=>{wt.push([t,e])}))}if("rectangle"===$){const t=a(2,6);for(let e=0;e<t;e+=1){const r=width*(.4-.4/t*e),o=void 0,h=void 0,n=void 0,s=void 0,l=void 0;[...i(r,r,width-r,r,bt),...i(width-r,r,width-r,height-r,bt),...i(width-r,height-r,r,height-r,bt),...i(r,height-r,r,r,bt)].forEach((({x:t,y:e})=>{wt.push([t,e])}))}}if(Et.forEach((({x:t,y:e,w:i,h:r})=>{const o=min(i,r),h=l(t+i/2,e+r/2,a(100,500),o/2,s(360),s(.001,.005),n()>.5),c=n()>.8;for(let t=0;t<h.length;t+=1){const{x:e,y:i}=h[t];wt.push([e,i]),c&&pt.push([e,i])}})),q&&(wt=wt.filter((([t,e])=>{const i=width*s(.1,.3);return p([t,e],[i,i,width-i,i,width-i,height-i,i,height-i])})),pt=pt.filter((([t,e])=>{const i=width*s(.1,.3);return p([t,e],[i,i,width-i,i,width-i,height-i,i,height-i])}))),_){const{x:t,y:e,w:i,h:r}=ft[1];w(wt,t+i/2,e+r/2,s(100,500),a(10,21),s,s(.2*width),!0)}if(R&&x(wt,r,a(50,100),a(10,20),s,f,n()>.5),Y){const t=a(8,15),e=void 0,i={strictH:[a(500,1e3),a(4,11),0,0,0,0],strictV:[a(4,11),a(500,1e3),0,0,s(.01,.001),0,0],noiseH:[a(500,1e3),a(4,11),.1,.001,0,0],noiseV:[a(4,11),a(500,1e3),0,0,.1,.001],grid:[t,t,0,0,0,0]}[Y];y(wt,r,...i)}"circle"===P&&(pt=pt.filter((([t,e])=>c(t,e,xt.x,xt.y,width*s(.3,.55)))));const Ft=t(S).triangulate(wt,r);let St=[];for(let t=0;t<Ft.length;t+=3)St.push([wt[Ft[t]],wt[Ft[t+1]],wt[Ft[t+2]]]);const Mt=[],Ct=[],It=C([2,3,4,5,6,7],2),Nt=s(.1,.3);for(let t=0;t<St.length;t+=1){const[e,i,o]=St[t],{x:n,y:s,r:l}=h([[e[0],e[1]],[i[0],i[1]],[o[0],o[1]]]);let c;"circle"===V?c=dist(n,s,ut.x,ut.y)>width*Nt:"halfV"===V?c=n>width/2:"halfH"===V?c=s>height/2:"false"===V&&(c=!0),l<.1*width&&(c?Ct.push({x:n,y:s,r:l}):Mt.push({x:n,y:s,r:l}));const a=noise(n/r*ht,s/r*ht);O&&rt.forEach((({x:t,y:h,radius:c},d)=>{dist(n,s,t,h)<.6*c&&(push(),noFill(),strokeWeight(constrain(map(dist(n,s,xt.x,xt.y),0,width/2,0,r)),0,r),drawingContext.setLineDash([l/10,l/10]),d%Math.round(rt.length/10)==0?(push(),stroke(ct[Math.round(map(a,0,1,0,ct.length-1))]),beginShape(),vertex(e[0],e[1]),vertex(i[0],i[1]),vertex(o[0],o[1]),endShape(),pop()):d%Math.round(rt.length/12)==0&&(push(),stroke(0),beginShape(),vertex(e[0],e[1]),vertex(i[0],i[1]),vertex(o[0],o[1]),endShape(),stroke(at[0]),beginShape(),vertex(e[0],e[1]),vertex(i[0],i[1]),vertex(o[0],o[1]),endShape(),pop()),pop())}))}T&&(mt.forEach((([t,e])=>{push();const i=noise(t/r*ht,e/r*ht),o=map(i,0,1,0,5*r);noStroke(),fill(ct[ct.length-1]),K&&fill(lt[1]),J&&fill(lt[0]),circle(t,e,o),pop()})),kt.forEach((([t,e])=>{push();const i=noise(t/r*ht,e/r*ht),o=map(i,0,1,0,5*r);noStroke(),fill(0),circle(t,e,o),fill(at[0]),circle(t,e,o),pop()})));const Dt=n()>.5,At=[...Mt,...Ct],Bt=n()>.9,Wt=s(2,10);if(F(At,ct,at,r,yt,xt,ht,Wt),W(At,ct,at,r,ut,xt,ht,Wt,et),b(At,ct,at,r,ut,yt,ht,Wt),P){const t=s(15,100),e=pt.map((([e,i])=>{let o=noise(e/r*ht,i/r*ht);const h=void 0;return{x:e,y:i,r:map(o,0,1,0,map(dist(e,i,xt.x,xt.y),0,width/xt.gravity,0,t*r))}}));Dt?v(e,K?[lt[1]]:ct,at,r,ut,yt,ht,Wt,n,Bt):m(e,ct,at,r,ut,xt,ht,Wt,[1e4,1e4])}v(Mt,K?[lt[1]]:ct,at,r,ut,yt,ht,Wt,s,Bt),m(Ct,ct,at,r,ut,xt,ht,Wt,It),push(),noFill(),stroke(0),strokeWeight(80*r),rect(0,0,width,height),stroke(at[0]),rect(0,0,width,height),strokeWeight(30*r),stroke(lt[0]),rect(0,0,width,height),pop()},Y()}.75*window.innerHeight>=window.innerWidth?(_=window.innerWidth,j=window.innerWidth/.75):(j=window.innerHeight,_=.75*window.innerHeight);const G=[1,2,3,4,5,6,7,8,9];function windowResized(){const t=void 0,e=q.canvas.style;let i,r;.75*window.innerHeight>=window.innerWidth?(i=window.innerWidth,r=window.innerWidth/.75):(r=window.innerHeight,i=.75*window.innerHeight),e.position="absolute",e.display="block",e.top=e.left=e.right=e.structure="0",e.width=`${i}px`,e.height=`${r}px`}window.addEventListener("keydown",(t=>{G.includes(Number(t.key))&&(pixelDensity(Number(t.key)),Y()),"s"===t.key&&saveCanvas(P,"png")}));