0x1d0171d9…aa9asent to0xa7d8d9ef…d270·#13,775,403·view on Etherscan
while(I.length<W){var F=Math.floor(rnd.o()*(colorsToUse.length-2))+1;if(I.indexOf(S[F])===-1&&!LindList.includes(F))I.push(S[F])}for(var _=0;_<W;_++){ind=S.indexOf(I[_]);colorsToUse[ind]=U[_]}}background(i);if(H!==6&H>0){if([1].includes(H)){strokeWeight(s/980*15)}if([2].includes(H)){strokeWeight(s/9800*15)}if([3,4,10].includes(H)){strokeWeight(s/980*2)}if([5,7,8,9,12,13].includes(H)){strokeWeight(s/980*1)}if([10,11].includes(H)){strokeWeight(s/980*2)}if([5].includes(H)){NN=15}if([8,10,11,12,13].includes(H)){NN=12}if([7].includes(H)){NN=7}if([9].includes(H)){NN=8}if([5,7,8,9,10,11,12,13].includes(H)){ll=s/980*NN}var _=0;for(var k=0;k<41;k++){var r=0;for(var M=0;M<41;M++){cid=rnd.F(0,W-1);random_color=U[cid];stroke(random_color);if(H==1){point(_,r)}if(H==2){ellipse(_,r,50*s/980,50*s/980)}if(H==3){ellipse(_,r,10*s/980,20*s/980)}if(H==4){ellipse(_,r,20*s/980,10*s/980)}if(H==5){line(_-ll,r-ll,_+ll,r+ll);line(_-ll,r+ll,_+ll,r-ll)}if(H==7){line(_-ll,r-ll,_+ll,r-ll);line(_+ll,r-ll,_+ll,r+ll);line(_+ll,r+ll,_-ll,r+ll);line(_-ll,r+ll,_-ll,r-ll)}if(H==9){icp1=[];icp2=[];vs=[];vs[0]=[_+ll,r];icp1[0]=[(_+vs[0][0])/2,(r+vs[0][1])/2+ll/2];icp2[0]=[(_+vs[0][0])/2,(r+vs[0][1])/2-ll/2];vs[1]=[_-ll,r];icp1[1]=[(_+vs[1][0])/2,(r+vs[1][1])/2-ll/2];icp2[1]=[(_+vs[1][0])/2,(r+vs[1][1])/2+ll/2];vs[2]=[_+ll/1.4,r+ll/1.4];icp1[2]=[(_+vs[2][0])/2-ll/4,(r+vs[2][1])/2+ll/4];icp2[2]=[(_+vs[2][0])/2+ll/4,(r+vs[2][1])/2-ll/4];vs[3]=[_-ll/1.4,r+ll/1.4];icp1[3]=[(_+vs[3][0])/2-ll/4,(r+vs[3][1])/2-ll/4];icp2[3]=[(_+vs[3][0])/2+ll/4,(r+vs[3][1])/2+ll/4];vs[4]=[_+ll/1.4,r-ll/1.4];icp1[4]=[(_+vs[4][0])/2+ll/4,(r+vs[4][1])/2+ll/4];icp2[4]=[(_+vs[4][0])/2-ll/4,(r+vs[4][1])/2-ll/4];vs[5]=[_-ll/1.4,r-ll/1.4];icp1[5]=[(_+vs[5][0])/2+ll/4,(r+vs[5][1])/2-ll/4];icp2[5]=[(_+vs[5][0])/2-ll/4,(r+vs[5][1])/2+ll/4];vs[6]=[_,r+ll];icp1[6]=[(_+vs[6][0])/2-ll/2,(r+vs[6][1])/2];icp2[6]=[(_+vs[6][0])/2+ll/2,(r+vs[6][1])/2];vs[7]=[_,r-ll];icp1[7]=[(_+vs[7][0])/2+ll/2,(r+vs[7][1])/2];icp2[7]=[(_+vs[7][0])/2-ll/2,(r+vs[7][1])/2]}if(H==9){for(var w=0;w<vs.length;w++){fill(random_color);beginShape();vertex(_,r);quadraticVertex(icp1[w][0],icp1[w][1],vs[w][0],vs[w][1]);vertex(_,r);quadraticVertex(icp2[w][0],icp2[w][1],vs[w][0],vs[w][1]);endShape();noFill()}}if([8,9,10,11,12,13].includes(H)){icp=[];vs=[];vs[0]=[_+ll,r];icp[0]=[(_+vs[0][0])/2,(r+vs[0][1])/2+ll];vs[1]=[_-ll,r];icp[1]=[(_+vs[1][0])/2,(r+vs[1][1])/2-ll];vs[2]=[_+ll,r+ll];icp[2]=[(_+vs[2][0])/2-ll/2,(r+vs[2][1])/2+ll/2];vs[3]=[_-ll,r+ll];icp[3]=[(_+vs[3][0])/2-ll/2,(r+vs[3][1])/2-ll/2];vs[4]=[_+ll,r-ll];icp[4]=[(_+vs[4][0])/2+ll/2,(r+vs[4][1])/2+ll/2];vs[5]=[_-ll,r-ll];icp[5]=[(_+vs[5][0])/2+ll/2,(r+vs[5][1])/2-ll/2];vs[6]=[_,r+ll];icp[6]=[(_+vs[6][0])/2-ll,(r+vs[6][1])/2];vs[7]=[_,r-ll];icp[7]=[(_+vs[7][0])/2+ll,(r+vs[7][1])/2]}if(H==8){for(var w=0;w<vs.length;w++){beginShape();vertex(_,r);quadraticVertex(icp[w][0],icp[w][1],vs[w][0],vs[w][1]);endShape()}}if(H==10){for(var w=0;w<2;w++){beginShape();vertex(_,r);quadraticVertex(icp[w][0],icp[w][1],vs[w][0],vs[w][1]);endShape()}}if(H==11){for(var w=6;w<8;w++){beginShape();vertex(_,r);quadraticVertex(icp[w][0],icp[w][1],vs[w][0],vs[w][1]);endShape()}}if(H==12){for(var w=0;w<vs.length;w++){if([0,1,6,7].includes(w)){beginShape();vertex(_,r);quadraticVertex(icp[w][0],icp[w][1],vs[w][0],vs[w][1]);endShape()}}}if(H==13){for(var w=2;w<6;w++){beginShape();vertex(_,r);quadraticVertex(icp[w][0],icp[w][1],vs[w][0],vs[w][1]);endShape()}}r=r+s/40}_=_+s/40}}if(H==6){strokeWeight(s/980*15);KK=400;var _=0;for(var k=0;k<KK+1;k++){var r=0;for(var M=0;M<KK+1;M++){cid=rnd.F(0,W-1);random_color=U[cid];if(rnd.o()>.9){strokeWeight(s/980*3);stroke(random_color);point(_,r)}r=r+s/KK}_=_+s/KK}}loadPixels();for(let e=0;e<h;e+=4){ind=cclabels1d[Math.floor(e/4)];if(ind>0&&(!LindList.includes(ind)||q==0)){pixels[e]=colorsToUse[ind][0];pixels[e+1]=colorsToUse[ind][1];pixels[e+2]=colorsToUse[ind][2];pixels[e+3]=255}}updatePixels();let L=[];for(var _=0;_<t.length;_++){if(cut_void){L[_]=1}else{P=.5;p0x=t[_];p0y=a[_];p1x=n[_];p1y=c[_];p2x=v[_];p2y=o[_];x=(1-P)*(1-P)*p0x+2*(1-P)*P*p1x+P*P*p2x;y=(1-P)*(1-P)*p0y+2*(1-P)*P*p1y+P*P*p2y;CH=3*s/$;let e=[];let i=[];if(f[_]==0){e[0]=x+CH;i[0]=y+CH;e[1]=x-CH;i[1]=y-CH}else{e[0]=x+CH;i[0]=y-CH;e[1]=x-CH;i[1]=y+CH}let l=0;for(var r=0;r<e.length;r++){if(LindList.includes(m[Math.floor(i[r]*u)][Math.floor(e[r]*u)])){l=l+1}}if(q==0||l<2){L[_]=1}else{L[_]=0}}}if(z==1){sws=[1.1*N+4*s/$,.3*N];colors=[i,white]}else{sws=[1.1*N];colors=[i]}for(var r=0;r<sws.length;r++){for(var _=0;_<t.length;_++){if(L[_]==1){strokeWeight(sws[r]);stroke(colors[r]);beginShape();vertex(t[_],a[_]);quadraticVertex(n[_],c[_],v[_],o[_]);endShape()}}}strokeWeight(s/$);stroke(i);rect(0,0,s,s)}function h(i){let l=[];for(let e=0;e<32;e++){l.push(i.hash.slice(2+e*2,4+e*2))}return l.map(e=>{return parseInt(e,16)})}function A(e){return parseInt(e.hash.slice(0,16),16)}function C(e,i,l,s){return Math.sqrt((l-e)*(l-e)+(s-i)*(s-i))}function E(e,i,l,s,r){return(e-i)/(l-i)*(r-s)+s}function D(e,i,l){return E(e,0,255,i,l)}function j(t,a,n){var o=a*n;var c=255;var e=0;var v=0;var f=-1;var p=[1,a+1,a,a-1,-1,-a-1,-a,-a+1];var F=[];var d=1;t.A(0,a,c);t.A(a*(n-1),a,c);for(var i=1;i<n-1;i++){var l=i*a;t[l]=c;t[l+a-1]=c}F.A(0,o,v);var u=function(e,i){for(var l=0;l<8;l++){var s=(i+l)%8;var r=e+p[s];if(r<0||r>=o)continue;if(t[r]!=c)return{C:r,D:s};B(F[r]<=v);F[r]=f}return{C:e,D:-1}};var h=function(e,i,l){var s=l?7:3;var r=u(e,s);var t=r.C;var a=r.D;F[e]=i;if(t==e)return;var n=0;var c=t;var v=t;while(v!=e||c!=t){B(n++<o,"Looped too many times!");F[c]=i;v=c;s=(a+5)%8;r=u(v,s);c=r.C;a=r.D}};var s=function(){var e=1;do{var i=0;do{var l=e*a+i;if(t[l]==c)continue;var s=false;if(t[l-a]==c&&F[l]==v){h(l,d,true);d++;s=true}if(t[l+a]==c&&F[l+a]==v){var r=F[l-1];if(F[l]!=v)r=F[l];B(r>v,"Step 2: N must be set, ("+i+","+e+") "+r+" "+t[l-1]);h(l,r,false);s=true}if(F[l]==v){var r=F[l-1];B(!s,"Step 3: We have traced, but not set the label");B(r>v,"Step 3: N must be set, ("+i+","+e+") "+r);F[l]=r}}while(i++<a)}while(e++<n-1);return F};return s()}Array.prototype.A=function(e,i,l){for(var s=0;s<i;s++){this[e++]=l}};function B(e,i){if(!e){throw new m(i)}}function m(e){this.message=e}m.prototype.toString=function(){return"AssertException: "+this.message};function b(e){var i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return i?{r:parseInt(i[1],16),h:parseInt(i[2],16),b:parseInt(i[3],16)}:null} // https://github.com/bramp/Connected-component-labelling/blob/master/connected-component-labelling.js Apache 2.0 license.