memoscan
← all memos

Memo 0x73220df7…f290e5 on Ethereum

S=Uint32Array.from([0,1,s=t=2,3].map(t=>parseInt(tokenData.hash.substr(8*t+2,8),16))),R=i=>(t=S[3],S[3]=S[2],S[2]=S[1],S[1]=s=S[0],t^=t<<11,S[0]^=t^t>>>8^s>>>19,S[0]/2**32);let sd=parseInt(tokenData.hash.slice(0,16),16),rnd=function(t,s){var i,h=R();return void 0===t?h:void 0===s?t instanceof Array?t[Math.floor(h*t.length)]:h*t:(s<t&&(i=t,t=s,s=i),h*(s-t)+t)},st,fm,bbs=[],cps={},pT,iP=!1,iE=!1,sW=900,sH=1200;function setup(){var t;noiseSeed(sd),tokenData.plot?(width=sW,height=sH,noCanvas(),noLoop(),gs(),t=cS(),doc.body.appendChild(t),(t=doc.ce("style")).appendChild(doc.createTextNode(".plot{width:100vw;height:100vh;}")),doc.head.appendChild(t)):(createCanvas(3*windowHeight/4,windowHeight),frameRate(120),strokeWeight(1.5*width/1080),gs(),pT=millis())}function gs(){st=new St,fm=new F,zz()}function zz(){for(let t=0;t<st.cs.length;t++)cps[st.cs[t]]=new Path2D;for(let s=0;s<st.nX;s++){var i=st.cX*s+st.cX/2;for(let t=0;t<st.nY;t++){var h=st.cF(s,t),e=new P(i,st.cY*t+st.cY/2,PI/4,st.cX/1.5,4,h);cps[h].addPath(e.gp()),bbs.push(e)}}}function draw(){if(!(tokenData.plot||iP||iE)){var t,s=millis();background(st.bC),Object.keys(cps).forEach(t=>{drawingContext.save();var s=cps[t];drawingContext.clip(s),background(st.bC),stroke(t),fm.sh(),drawingContext.restore()});for(let t=0;t<bbs.length;t++)bbs[t].sb();500<s&&(t=max(map(s,500,2e3,1e3,100),100),fm.sp((s-pT)/t)),pT=s}}function dCS(s){var i=[];for(let t=0;t<s.length;t++){var h=s[t].copy();i.push(h)}return i}class F{constructor(){this.x=width/2,this.y=height/2,this.r1=width/rnd(40,15),this.r2=width/rnd(4,8),this.rF=20*rnd([1,2,4,8]),this.rO=rnd(1.5,4),this.x1=rnd(0,width/12),this.x2=width/rnd(4,2),this.y1=rnd(0,height/12),this.y2=height/rnd(4,2),this.d=rnd([-1,1]),this.sD=rnd([-1,1]),this.p=.01,this.sO=0,this.nS=rnd([3,4,5,6]),this.sP(),this.sM=rnd(-5,5),this.pD=rnd([76,100,200])}sP(){this.ps=[];let s=this.p;for(let t=this.sO;t<=st.nS+this.sO;t++){var i=map(t-this.sO,0,st.nS,this.r2,width/120),i=map(sin(t/this.rF),-1,1,this.r1,i)+i*noise(cos(t/st.nS))/2,h=map(t-this.sO,0,st.nS,this.x1,this.x2),e=map(t-this.sO,0,st.nS,this.y1,this.y2),n=h*cos(s)-e*sin(s)+this.x,e=e*cos(s)+h*sin(s)+this.y;this.ps.push(new P(n,e,s,i,this.nS,this.clr)),s+=2*this.rO*PI/st.nS*this.d}}sp(t=1){this.sO+=t*this.sM,this.p+=t/this.pD*this.sD,this.sP()}sh(){this.ps.forEach(t=>t.sh())}}function cl(i){for(let s=0;s<i.length;s++)for(let t=s+1;t<i.length;t++)rHL(i[s],i[t])}function rHL(t,s){if(t.iN(s)){var i=t.ls,h=s.ls;for(let t=0;t<i.length;t++){var e=i[t];if(s.cP(e.p1)&&s.cP(e.p2))i.splice(t,1),t--;else{var n=[];for(let t=0;t<h.length;t++){var r=h[t].gI(e);r&&n.push(r)}1===n.length?s.cP(e.p1)?i.splice(t,1,new L(n[0],e.p2)):i.splice(t,1,new L(n[0],e.p1)):2===n.length&&(p5.Vector.dist(e.p1,n[0])<p5.Vector.dist(e.p1,n[1])?i.splice(t,1,new L(n[0],e.p1),new L(n[1],e.p2)):i.splice(t,1,new L(n[0],e.p2),new L(n[1],e.p1)),t++)}}}}class St{constructor(){this.cF=this.gCF(),this.nX=3*floor(rnd(1,4)),this.nY=floor(height/width*this.nX),this.cX=width/this.nX,this.cY=height/this.nY,this.nS=rnd(300,400)}gCF(){this.bC="#f9f9fa";const i=[];for(var t=Object.keys(clrMap),s=floor(rnd(1,6));i.length<s;){var h=floor(rnd(t.length));i.push(t[h]),t.splice(h,1)}this.cs=i;var e=[(t,s)=>i[t%i.length],(t,s)=>i[s%i.length],(t,s)=>i[(t+s)%i.length]];clrMap["#eae6de"]="White",clrMap["#383131"]="Black";let n="#eae6de",r="#383131";return rnd()<.18?rnd()<.5?(this.bC=n,this.cs=[r],()=>r):(this.bC=r,this.cs=[n],()=>n):rnd(e)}}clrMap={"#ba4796":"Rose","#e0142c":"Red","#ffa038":"Orange","#12a691":"Green","#0972c4":"Blue","#842eae":"Purple","#a14725":"Brown","#00275f":"Blue Black","#85031b":"Burgundy","#67bd4f":"Fresh Green"};class P{constructor(s,i,h,t,e,n){this.x=s,this.y=i,this.c=createVector(s,i),this.p=h,this.r=t,this.nP=e,this.clr=n,this.points=[];for(let t=0;t<this.nP;t++){var r=this.p+TWO_PI*t/this.nP;const s=this.x+sin(r)*this.r,i=this.y+cos(r)*this.r;this.points.push(createVector(s,i))}this.x1=1/0,this.x2=-1/0,this.y1=1/0,this.y2=-1/0;for(let t=0;t<this.points.length;t++){const h=this.points[t];this.x1=min(this.x1,h.x),this.x2=max(this.x2,h.x),this.y1=min(this.y1,h.y),this.y2=max(this.y2,h.y)}this.ls=[];for(let t=0;t<this.points.length;t++)this.ls.push(new L(this.points[t],this.points[(t+1)%this.points.length]))}copy(){var s=new P(this.x,this.y,this.p,this.r,this.nP,this.clr);s.x1=this.x1,s.x2=this.x2,s.y1=this.y1,s.y2=this.y2,s.ls=[];for(let t=0;t<this.ls.length;t++)s.ls.push(this.ls[t].copy());return s}cP(t){if(t.x<this.x1||t.x>this.x2||t.y<this.y1||t.y>this.y2)return!1;let s=0;var i=new L(t,createVector(2*width,height+width));for(let t=0;t<this.ls.length;t++)this.ls[t].gI(i)&&s++;return s%2==1}cn(s){for(let t=0;t<this.ls.length;t++){var i=this.ls[t],h=s.cP(i.p1),e=s.cP(i.p2),n=[];for(let t=0;t<s.ls.length;t++){var r=s.ls[t].gI(i);r&&n.push(r)}0===n.length?h||e||(this.ls.splice(t,1),t--):1===n.length?h?this.ls[t].p2=n[0]:e&&(this.ls[t].p1=n[0]):2===n.length&&(this.ls[t]=new L(n[0],n[1]))}}iN(t){return p5.Vector.dist(this.c,t.c)<this.r+t.r}sh(){push(),fill(st.bC),beginShape(),this.points.forEach(t=>{vertex(t.x,t.y)}),endShape(CLOSE),pop()}sb(){push(),strokeWeight(2*width/1080),noFill(),stroke(this.clr),beginShape(),this.points.forEach(t=>{vertex(t.x,t.y)}),endShape(CLOSE),pop()}gsp(){let s="",i;for(let t=0;t<this.ls.length;t++){var h=this.ls[t],e=new L(h.p1.copy().mult(sW/width),h.p2.copy().mult(sW/width));i&&i.p2.equals(h.p1)?s+=`L ${e.p2.x} `+e.p2.y:s+=`M ${e.p1.x} ${e.p1.y} L ${e.p2.x} ${e.p2.y} `,i=h}return s}gp(){var s=new Path2D;s.moveTo(this.points[0].x,this.points[0].y);for(let t=0;t<this.points.length;t++){var i=this.points[(t+1)%this.points.length];s.lineTo(i.x,i.y)}return s}}class L{constructor(t,s){this.p1=t,this.p2=s,this.m=(s.y-t.y)/(s.x-t.x),999999999999<this.m&&(this.m=1/0),this.m<-999999999999&&(this.m=-1/0),this.b=t.y-this.m*t.x}gI(t){let s,i;i=this.m===1/0||this.m===-1/0?(s=this.p1.x,t.m*s+t.b):t.m===1/0||t.m===-1/0?(s=t.p1.x,this.m*s*this.b):(s=(t.b-this.b)/(this.m-t.m),this.m*s+this.b);var h=createVector(s,i);return this.hP(h)&&t.hP(h)?h:null}hP(t){var s=(t.y-this.p1.a)*(this.p1.x-this.p2.x)-(t.x-this.p1.x)*(this.p2.y-this.p1.y);return!(abs(s)>Number.EPSILON||(s=(t.x-this.p1.x)*(this.p2.x-this.p1.x)+(t.y-this.p1.y)*(this.p2.y-this.p1.y))<0||(this.p2.x-this.p1.x)*(this.p2.x-this.p1.x)+(this.p2.y-this.p1.y)*(this.p2.y-this.p1.y)<s)}copy(){return new L(this.p1.copy(),this.p2.copy())}}function eS(){var t=cS(),s=doc.ce("a"),t=new Blob([t.outerHTML],{type:"text/plain"});s.href=URL.createObjectURL(t),s.download=`framed_${tokenData.tokenId}.svg`,s.click(),URL.revokeObjectURL(s.href)}(doc=document).cen=doc.createElementNS,doc.ce=doc.createElement;let ns="http://www.w3.org/2000/svg";function cS(){var s=doc.cen(ns,"svg"),i=(s.sA=s.setAttribute,s.sA("class","plot"),s.sA("width",sW+"px"),s.sA("height",sH+"px"),s.sA("viewBox","0 0 "+sW+" "+sH),s.sA("xmlns","http://www.w3.org/2000/svg"),s.sA("xmlns:inkscape","http://www.inkscape.org/namespaces/inkscape"),s.sA("style",`background-color:${st.bC};stroke-linecap:round`),gSL());for(let t=0;t<i.length;t++)s.appendChild(i[t]);return s}function gSL(){var s={},i={};for(let t=0;t<st.cs.length;t++){var h=st.cs[t];i[h]=s[h]=""}for(let t=0;t<bbs.length;t++){var e=bbs[t],n=(i[e.clr]+=e.gsp(),dCS(fm.ps,fm.clr));cl(n);for(let t=0;t<n.length;t++){n[t].cn(e);var r=n[t].gsp();r&&r.length&&(s[e.clr]+=r)}}var p=[];let l=1;var o=Object.keys(i);for(let t=0;t<st.cs.length;t++){var c=st.cs[t],c=cL(l,"Form",c,s[c],1.5*sW/1080);c&&(p.push(c),l++)}for(let t=0;t<o.length;t++){var a=o[t],a=cL(l,"Frame",a,i[a],2*sW/1080);a&&(p.push(a),l++)}return p}function cL(t,s,i,h,e){var n;return""===h?null:((n=doc.cen(ns,"g")).sA=n.setAttribute,t=t+` - ${s} - `+clrMap[i],n.sA("id",t),n.sA("inkscape:groupmode","layer"),n.sA("inkscape:label",t),n.sA("style",`fill:none;stroke-width:${e};stroke:`+i),(s=doc.cen(ns,"path")).setAttribute("d",h),n.appendChild(s),n)}function keyPressed(t){"p"===t.key?(iP=!iP,pT=millis()):"i"===t.key?(iE=!0,save(`framed_${tokenData.tokenId}.png`),pT=millis(),iE=!1):"s"===t.key&&(iE=!0,eS(),pT=millis(),iE=!1)}