memoscan
← all memos

Memo 0xbda54cd4…9003d0 on Ethereum

,.5),a6:random()>.5?-1:1,b1:N(.03,2,round(random(1)))});return e.push({a9:PI,b0:B(6,3),a6:random()>.5?-1:1,b1:N(.1,2,round(random(1)))}),e.push({a9:random(-.4,r),b0:B(100,3),a6:random()>.5?-1:1,b1:N(.25,2,round(random(1)))}),{slices:e}},T.d3=()=>{let r=.4;const e=[];e.push({a9:random(-.08,.08),b0:B(7,2),a6:random()>.5?-1:1,b1:0});for(let n=1;n<=20;n++){const o=2*PI/20*n;e.push({a9:random(-.4,r),b0:B(1.5,.5,o),a6:random()>.5?-1:1,b1:N(.1,2,round(random(1)))})}return e.push({a9:random(-.08,.08),b0:B(7,2),a6:random()>.5?-1:1,b1:N(.1,2,round(random(1)))}),{slices:e}},T.smallSmallSheers=()=>{const r=random(15,20),e=[];for(let n=1;n<=r;n++)e.push({a9:random(-.1,.1),b0:B(2,2),a6:random()>.5?-1:1,b1:N(.01,1,round(random(1)))});return e.push({a9:.1,b0:B(2,2),a6:random()>.5?-1:1,b1:N(.2,1,round(random(1)))}),{slices:e}},T.radial=()=>{const r=random(12,17),e=3*me;let n,o,i=[];const a=me/2+random(-me/3,me/3),t=he/2+random(-he/3,he/3),l=me/random(2,5);for(let h=0;h<r;h++){const m=2*PI/r*h;n={x:a-e,y:t+l+random(-1,1)*me/20},o={x:a+e,y:t+l+random(-1,1)*me/20};const c=random(.5),d=s([n,o],m,a,t);i.push({a9:random()>.5?-c:c,b0:d,a6:random()>.5?-1:1,b1:N(.1,.1,random())})}return i.push({a9:.1,b0:B(.1,2),a6:random()>.5?-1:1,b1:N(.2,1,round(random(1)))}),i=Y(i),{slices:i}};const D=r=>{const e=T[r];return{cb:e(),name:e.name}};let M=3;const q=r=>r*M,V=r=>strokeWeight(q(r)),_=(r,e,n,o,i)=>{const a=o/e,t=i/n;return r.map((r=>r.map((r=>({x:r.x*a,y:r.y*t})))))},$=(r,e,n,o=48)=>{const i=[];for(let a=0;a<=o;a++){const t=r+sin(2*PI/o*a)*n/2,s=e+cos(2*PI/o*a)*n/2;i.push({x:t,y:s})}return i},j=(r,e,n,o)=>{const i=[];return i.push({x:r,y:e}),i.push({x:r+n,y:e}),i.push({x:r+n,y:e+o}),i.push({x:r,y:e+o}),i.push({x:r,y:e}),i.reverse()},W=(r,e,n)=>{const o=[];return o.push({x:r,y:e-n/2}),o.push({x:r-n/2,y:e+n/2}),o.push({x:r+n/2,y:e+n/2}),o.push({x:r,y:e-n/2}),o},U=(r,e,n,o)=>{let i=[];return i.push({x:r-n/2,y:e}),i.push({x:r,y:e-o/2}),i.push({x:+n,y:e}),i.push({x:r,y:e+o/2}),i},J=(r,e,n,o,i,a,t=48)=>{let s=[];for(let o=0;o<=t;o++){const l=r+sin(i+a/t*o)*n,h=e+cos(i+a/t*o)*n;s.push({x:l,y:h})}for(let n=t;n>=0;n--){const l=r+sin(i+a/t*n)*o,h=e+cos(i+a/t*n)*o;s.push({x:l,y:h})}return s.push(s[0]),s},Q=(r,e,n,o)=>{const i=[];for(let a=0;a<48;a++){let t=r+n/2*sin(2*PI/48*a),s=e+o/2*cos(2*PI/48*a);i.push({x:t,y:s})}return i},K=(r,e,n)=>{let o=e.x,i=e.y,a=n.x-o,t=n.y-i;if(0!==t||0!==a){const e=((r.x-o)*a+(r.y-i)*t)/(a*a+t*t);e>1?(o=n.x,i=n.y):e>0&&(o+=a*e,i+=t*e)}return a=r.x-o,t=r.y-i,a*a+t*t},Z=(r,e,n,o,i)=>{let a,t=o;for(let o=e+1;o<n;o++){let i=K(r[o],r[e],r[n]);i>t&&(a=o,t=i)}t>o&&(a-e>1&&Z(r,e,a,o,i),i.push(r[a]),n-a>1&&Z(r,a,n,o,i))},rr=(r,e)=>r.length<=2?r:((r,e)=>{const n=r.length-1,o=[r[0]];return Z(r,0,n,e,o),o.push(r[n]),o})(r,e*e),er=(r,e)=>{V(1),stroke(e.stroke),noFill(),beginShape(),r.forEach((r=>{vertex(r.x,r.y)})),endShape()},nr=(r,e,n)=>{const o=ir(r,n);if(!o)return!1;dist(o.startX,o.startY,o.endX,o.endY);const i=drawingContext.createLinearGradient(o.startX,o.startY,o.endX,o.endY),a=Object.keys(e.a4);a.reverse().forEach(((r,n)=>{i.addColorStop((n+1)/a.length,H(e.a4[r]))})),drawingContext.fillStyle=i,noStroke(),beginShape(),r.forEach((r=>{vertex(r.x,r.y)})),endShape()},or=(r,e,n)=>{n+=PI;const o=ir(r,n),i=h(r);if(!o)return!1;let a=dist(o.startX,o.startY,o.endX,o.endY),t=max(i.width,i.height);a<t/2&&(a=t/2);const s=drawingContext.createRadialGradient(o.startX,o.startY,0,o.startX,o.startY,a),l=Object.keys(e.a4);l.forEach(((r,n)=>{s.addColorStop((n+1)/l.length,H(e.a4[r]))})),drawingContext.fillStyle=s,noStroke(),beginShape(),r.forEach((r=>{vertex(r.x,r.y)})),endShape()},ir=(r,n)=>{const o=a(r),i=q(2e3),t=[[o.x-cos(n)*i,o.y-sin(n)*i],[o.x+cos(n)*i,o.y+sin(n)*i]],s=h(r),l=function(r,n){if(!r.length)return{true:[],false:[]};let o={true:[[]],false:[[]]},i=e(...r[0],r[0][0]+Math.E,r[0][1]+PI,n,!0).length%2!=0,a=!1;for(let t=0;t<r.length;t++){let s=r[t],l=r[t+1];if(o[i][o[i].length-1].push(s),!l)break;let h=e(...s,...l,n,!1);!a&&h&&(a=!0);for(let r=0;r<h.length;r++)o[i][o[i].length-1].push(h[r].xy),i=!i,o[i].push([h[r].xy])}return o.true=o.true.filter((r=>r.length)),o.false=o.false.filter((r=>r.length)),a?o.true:[]}(t,[{x:s.minX,y:s.minY},{x:s.b6,y:s.minY},{x:s.b6,y:s.b7},{x:s.minX,y:s.b7}]);return 0!==l.length&&{center:o,startX:l[0][0][0],startY:l[0][0][1],endX:l[0][1][0],endY:l[0][1][1]}},ar=(r,e,n,o,i,a)=>{let t=n-PI/2;const s=random(),l=abs(randomGaussian(0,e)),h=o[0]+cos(n)*-i*s,m=o[1]+sin(n)*-i*s,c=h+cos(t)*(a*l),d=m+sin(t)*(a*l);Lr(c,d,q(r))},tr=(r,o,i,a,t,l=1,m=1)=>{const c=.2*l;i+=1.5*PI;const d=a.area/50*ae*t,{startX:y,endX:g,startY:p}=((r,o,i)=>{const{scaled:a}=i,t=1e3/h(r).width,l=r.map((r=>({x:r.x*t,y:r.y*t}))),m=h(l);let c=dist(m.minX,m.minY,m.b6,m.b7)+10+100,d=!1,y=!1,g=!1,p=!1;for(let r=0;r<c;r+=5){let n=s([{x:m.centerX-c/2,y:m.centerY-c/2+r},{x:m.centerX+c/2,y:m.centerY-c/2+r}],o,m.centerX,m.centerY),i=s([{x:m.centerX-c/2,y:m.centerY-c/2+r},{x:m.centerX+c/2,y:m.centerY-c/2+r}],o+PI/2,m.centerX,m.centerY),a=e(n[0].x,n[0].y,n[1].x,n[1].y,l),t=e(i[0].x,i[0].y,i[1].x,i[1].y,l);a.length>0&&!d?d=r:d&&!y&&0===a.length&&(y=r),t.length>0&&!g?g=r:g&&!p&&0===t.length&&(p=r)}g-=5,p+=5,d-=5,y+=5;let u=s([{x:m.centerX-c/2,y:m.centerY-c/2+d},{x:m.centerX+c/2,y:m.centerY-c/2+d}],o,m.centerX,m.centerY),x=s([{x:m.centerX-c/2,y:m.centerY-c/2+y},{x:m.centerX+c/2,y:m.centerY-c/2+y}],o,m.centerX,m.centerY),f=s([{x:m.centerX-c/2,y:m.centerY-c/2+g},{x:m.centerX+c/2,y:m.centerY-c/2+g}],o+PI/2,m.centerX,m.centerY),w=s([{x:m.centerX-c/2,y:m.centerY-c/2+p},{x:m.centerX+c/2,y:m.centerY-c/2+p}],o+PI/2,m.centerX,m.centerY),k=n(f[0].x,f[0].y,f[1].x,f[1].y,u[0].x,u[0].y,u[1].x,u[1].y),v=n(w[0].x,w[0].y,w[1].x,w[1].y,u[0].x,u[0].y,u[1].x,u[1].y),L=n(x[0].x,x[0].y,x[1].x,x[1].y,f[0].x,f[0].y,f[1].x,f[1].y),S=n(x[0].x,x[0].y,x[1].x,x[1].y,w[0].x,w[0].y,w[1].x,w[1].y);return!!(k&&v&&L&&S)&&{startX:k.xy.map((r=>r/t)),endX:v.xy.map((r=>r/t)),startY:L.xy.map((r=>r/t)),endY:S.xy.map((r=>r/t))}})(r,i,a);if(!y||y.length,!y||!y.length)return!1;xr(r),noStroke(),fill(o.a1);const u=dist(y[0],y[1],g[0],g[1]),x=dist(y[0],y[1],p[0],p[1]);for(let r=0;r<d;r++){r%150!=0&&0!==r||fill(A(o.a1,9));let e=random()>.999?random(2,3.25):abs(randomGaussian(.2,.75));ar(e*m,c,i,p,u,x)}for(let r=0;r<d;r++){r%150!=0&&0!==r||fill(A(o.a0,15));let e=random()>.999?random(2,3.25):abs(randomGaussian(.2,.75));ar(e*m,c,i+PI,y,-u,x)}for(let r=0;r<d/10;r++)fill(R(o.a1,random(-5,-10))),ar(random(1,2)*m,c/2.5,i,p,u,x);for(let r=0;r<d/25;r++)fill(R(o.a0,random(5,15))),ar(random(1,2.5)*m,c/2,i+PI,y,-u,x);drawingContext.restore()},sr=(r,e,n,o,i=1)=>{const{a5:a,scaled:t}=o,l=dist(t.a5.minX,t.a5.minY,t.a5.b6,t.a5.b7),h=max(a.b6-a.minX,a.b7-a.minY)/random(3,10)*i;xr(r);const m=color(...e.a4.h),c=color(...e.a4.l);for(let r=0;r<h;r++){let e=t.a5.centerX-l/2+l/h*r,o=t.a5.centerY-l/2,i=e,a=o+l;const d=n+random(-.02,.02),y=s([{x:e,y:o},{x:i,y:a}],d,t.a5.centerX,t.a5.centerY);let g=lerpColor(m,c,constrain(0,1,r/h+randomGaussian(0,.1)));g=A([hue(g),saturation(g),lightness(g)],5),random()>.95&&(g=R([hue(g),saturation(g),lightness(g)],random(10,20))),stroke(g),V(random(.2,1.5)),line(y[0].x,y[0].y,y[1].x,y[1].y)}drawingContext.restore()},lr=(r,e,n,o)=>{const{minX:i,b6:a,minY:t,b7:l,centerX:h,centerY:m}=n.a5;let c=dist(i,t,a,l)/2,d=h-c,y=m-c;xr(r);let g=1,p=random(1.025,1.1);const u=color(...e.a4.h),x=color(...e.a4.l);for(;d<h+c;){d+=g,g*=p;const r=o+random(-.02,.02),e=s([{x:q(d),y:q(y)},{x:q(d),y:q(y)+q(2*c)}],r,q(h),q(m));let n=lerpColor(u,x,constrain(0,1,(d-h)/c+randomGaussian(0,.1)));n=A([hue(n),saturation(n),lightness(n)],5),random()>.95&&(n=R([hue(n),saturation(n),lightness(n)],random(10,20))),stroke(n),V(random(.2,1.5)),line(e[0].x,e[0].y,e[1].x,e[1].y)}drawingContext.restore()},hr=(r,e,n,o)=>{const{minX:i,b6:a,minY:t,b7:l,centerX:h,centerY:m}=n.a5;let c=dist(i,t,a,l)/2,d=h-c,y=m-c;xr(r);let g=.4;const p=color(...e.a4.h),u=color(...e.a4.l);noStroke();let x=q(random(1.45,2.1));for(;d<h+c;){d+=g,g*=1.05;const r=o,e=s([{x:q(d),y:q(y)},{x:q(d),y:q(y)+q(2*c)}],r,q(h),q(m));lerpColor(p,u,constrain(0,1,(d-h)/c+randomGaussian(0,.1)));let n=dist(e[0].x,e[0].y,e[1].x,e[1].y);for(let r=0;r<n;r+=g){const o=lerp(e[0].x,e[1].x,r/n),i=lerp(e[0].y,e[1].y,r/n);Lr(o,i,x)}0}drawingContext.restore()},mr=(r,e,n)=>{fill(n[0],n[1],n[2],.9),drawingContext.filter=`blur(${e*pixelDensity()}px)`,beginShape(),r.forEach((r=>{vertex(r.x,r.y)})),endShape(),drawingContext.filter="none"},cr=(r,e,n,o)=>{let i,a=Math.atan2(r[1].y-r[0].y,r[1].x-r[0].x)+PI/2;const t=random(),s=abs(randomGaussian(0,1))*e,l=a+random(-PI/10,PI/10),h=r[0].x+(r[1].x-r[0].x)*t+cos(l)*s,m=r[0].y+(r[1].y-r[0].y)*t+sin(l)*s;i=abs(randomGaussian(.35,.8))*n,i=q(i),o?wr(h,m,i):Lr(h,m,i)},dr=(r,e,n,o,i,a)=>{let t,s,l;s=abs(randomGaussian(0,2))*o,l=n;l=e-n>0?random(e,n):random(e+PI,n-PI)+PI;const h=r.x+cos(l)*s,m=r.y+sin(l)*s;t=abs(randomGaussian(.35,.75))*i,t=q(t),a?wr(h,m,t):Lr(h,m,t)},yr=(r,e,n)=>{const{area:o,a5:i,scaled:a}=n;let t=constrain(o/1e3,2,8),s=0,l=[r];for(xr(r);s<t;){let r=[];l.forEach((e=>{random()>.1||s<2?r=r.concat(pr(e)):r.push(e)})),s++,l=r}const h=color(...e.a4.h),m=color(...e.a4.l);l.forEach((r=>{let e=random()>.5?h:m;e=A([hue(e),saturation(e),lightness(e)],5),random()>.95&&(e=R([hue(e),saturation(e),lightness(e)],random(6,12))),stroke([hue(e),saturation(e),lightness(e),randomGaussian(.3,.5)]),V(random(.2,1.5)),noFill(),beginShape(),r.forEach(((r,e)=>{vertex(r.x,r.y)})),endShape()})),drawingContext.restore()},gr=(r,e,n)=>{xr(r);let o=pr(r);const i=round(random(0,2));for(let r=0;r<i;r++)o=o.reduce(((r,e)=>r.concat(pr(e))),[]);o.forEach((r=>{er(r,e),sr(r,e,random(2*PI),n)})),drawingContext.restore()},pr=r=>{let e=0;r.forEach(((n,o)=>{let i=o<r.length-1?r[o+1]:r[0];e+=dist(n.x,i.x,n.y,i.y)}));const n=random(e/2),o=e/2+n;let i,a,t=[],s=[],l=0;return r.forEach(((e,h)=>{let m=h<r.length-1?r[h+1]:r[0];const c=dist(e.x,m.x,e.y,m.y);if(l+c>n&&l<n){const r=(n-l)/c;i={x:lerp(e.x,m.x,r),y:lerp(e.y,m.y,r)},t.push(e),s.push(i)}else if(l+c>o&&l<o){const r=(o-l)/c;a={x:lerp(e.x,m.x,r),y:lerp(e.y,m.y,r)},t.push(i),t.push(a),s.push(e)}else l<n||l>o?t.push(e):s.push(e);l+=c})),s.push(a),[t,s]},ur=(r,e,n,o)=>{xr(r);const i=P(["dots",10,"lines",10]),{a5:a,scaled:t}=n,s=random(4,8);let l=o&&random()>.5;if("lines"!==