memoscan
← all memos

Memo 0x67138e7a…83c240 on Ethereum

ipfs://bafybeie4oc7oabjov37ys3vp7sbkfbk5ixdatgealgxdvcnm6bdvajgfmqlet circleRadius,timeOffset=0,res=2; function setup(){ let s=min(windowWidth,windowHeight); createCanvas(s,s); colorMode(HSB,360,100,100); circleRadius=width*0.4; noStroke(); } function windowResized(){ let s=min(windowWidth,windowHeight); resizeCanvas(s,s); circleRadius=width*0.4; } function draw(){ if(frameCount<2){background(0);return;} background(0); timeOffset+=0.015; push(); translate(width/2,height/2); let t1=timeOffset*0.3,t2=timeOffset*0.2,t3=timeOffset*0.4,t4=timeOffset*0.5,t5=timeOffset*0.6; let hue=(timeOffset*100)%360,ns=0.01,off=res*0.7,lf=15; for(let y=-circleRadius;y<=circleRadius;y+=res){ for(let x=-circleRadius;x<=circleRadius;x+=res){ let d=sqrt(x*x+y*y); if(d>circleRadius)continue; let r1x=x*0.7-y*0.7,r1y=x*0.7+y*0.7,r2x=-x*0.5+y*0.866,r2y=-x*0.866-y*0.5; let n1=noise(x*ns+t1,y*ns+t2,t3),n2=noise(r1x*ns*1.3+t3,r1y*ns*1.3+t2,t4),n3=noise(r2x*ns*1.7+t4,r2y*ns*1.7+t3,t5); let c=n1*0.5+n2*0.3+n3*0.2; let nb1=noise((x+off)*ns+t1,y*ns+t2,t3),nb2=noise((r1x+off*0.7)*ns*1.3+t3,r1y*ns*1.3+t2,t4),nb3=noise((r2x+off*0.5)*ns*1.7+t4,r2y*ns*1.7+t3,t5); let nc=nb1*0.5+nb2*0.3+nb3*0.2; let m=(c*lf)%1,tl=m<0.025||m>0.975,g=abs(c-nc),gl=g>0.05&&g<0.1; if(tl||gl){ let r=d/circleRadius,sat=map(r,0,1,100,20),br=r<0.67?map(r,0,0.67,95,70):map(pow((r-0.67)/0.33,2.5),0,1,70,0); fill(hue,sat,br); rect(x,y,res,res); } } } pop(); }