0xb60d…3277

All memos sent from and to 0xb60d…3277.

https://coffee-decisive-heron-262.mypinata.cloud/ipfs/QmT6tQxBdzdo8NqtyWysZYtHNrrF6UPknuZEMswYogj9rCContemporary generative artist, Taiwan. Infuses work with algorithms, crafting eternal life and emotions in the digital world. https://x.com/cheyuwu345https://www.instagram.com/cheyuwu345/https://cheyuwu.com/
0xb60d5244…3277·#16,568,692·0x11b598df…54ab01
Che-Yu Wu Interactive MemesAddress: call to non-contractAddress: call to non-contractAddress: low-level delegate call failedAddress: low-level delegate call failed
0xb60d5244…3277·#16,533,277·0x25b28e20…5d220d
Che-Yu Wu Interactive Gen ArtAddress: call to non-contractAddress: call to non-contractAddress: low-level delegate call failedAddress: low-level delegate call failed
function setup(){console.log("Artist: Che-Yu Wu"),console.log("https://twitter.com/cheyuwu345"),pixelDensity(6),createCanvas(DIM,DIM),noiseSeed(seed),randomSeed(seed),background(0),mainGraphics=createGraphics(width,height),fullCanvasTexture=createGraphics(width,height),mainGraphics.scale(DIM/DEFAULT_SIZE),fullCanvasTexture.scale(DIM/DEFAULT_SIZE),width=DEFAULT_SIZE,height=DEFAULT_SIZE;let e=120;for(let t=0;t<=width+1200;t+=e)for(let a=0;a<=height+1200;a+=e)fullCanvasTexture.image(canvasTexture,t,a,e,e);background(100),ang=R.random_num(-.5,.5),mainGraphics.fill(0),mainGraphics.rect(0,0,width,height),overAllTexture=createGraphics(width,height),overAllTexture.loadPixels();for(var t=0;t<width+50;t++)for(var a=0;a<height+50;a++)overAllTexture.set(t,a,color(200,noise(t/10,t*a/300)*R.random_choice([0,0,20,100])));overAllTexture.updatePixels(),translate(width/2,height/2),rotate(ang),translate(-width/2,-height/2),"Rect"==useDivisionType&&div(0,0,width,height,int(R.random_num(2,4))),"Ang"==useDivisionType&&divAng(0,width,0,2*PI,int(R.random_num(2,4))),features.AreaCount=areas.length;let r=R.random_num(.5,2);for(t=0;t<useParticleCount;t++){let e,a=R.random_choice(useColorSet),o=createVector(useStartPosition[0]*width,useStartPosition[1]*height),i=useChaosFactor>4?2:4,s=useChaosFactor>4?6:4,n=R.random_num(0,useParticleSize)*R.random_num(.05,1)+1;"Random"==useEmitType?e=createVector(0,1).rotate(R.random_num(0,2*PI)).mult(R.random_num(i,s)):"Even"==useEmitType?(e=createVector(0,1).rotate(map(t,0,useParticleCount,0,PI)).mult(R.random_num(i,s)),n=sin(t/4)*useChaosFactor+12):"LinearHorzontal"==useEmitType?(e=createVector(0,1).rotate(sin(t/useParticleCount*r*PI)).mult(R.random_num(i,s)),o=createVector(map(t,0,useParticleCount,0,width),height/2)):"LinearVertical"==useEmitType?(e=createVector(1,0).rotate(sin(t/useParticleCount*r*PI)).mult(R.random_num(i,s)),o=createVector(width/2,map(t,0,useParticleCount,0,height))):"LinearSlope"==useEmitType?(e=createVector(1,0).rotate(sin(t/useParticleCount*r*PI)).mult(R.random_num(i,s)),o=createVector(map(t,0,useParticleCount,0,width),map(t,0,useParticleCount,0,height))):"Circular"==useEmitType&&(e=createVector(1,0).rotate(map(t,0,useParticleCount,0,PI*r/2)).mult(R.random_num(i,s)),o=createVector(.3*width,0).rotate(t).add(width/2,height/2));let c={p:o,v:e,r:n,color:a,polarity:R.random_choice([-1,1]),r:R.random_num(0,useParticleSize)*R.random_num(.1,1)+1,vFriction:R.random_num(.99,1),rFactor:R.random_num(.99,.9995),affectFactor:R.random_num(.8,1.2)};useChaosFactor>=8&&(c.p.x+=R.random_num(-useChaosFactor,useChaosFactor),c.p.y+=R.random_num(-useChaosFactor,useChaosFactor)),useChaosFactor<=4&&(c.polarity=1,c.v=createVector(1,0).rotate(sin(t/useParticleCount*useChaosFactor*r*PI)).mult(5)),useChaosFactor<=3&&(c.color=useColorSet[int(t/10)%useColorSet.length]),useChaosFactor<=2&&(c.affectFactor=1,c.r=abs(sin(t))*useParticleSize*.8),particles.push(new Particle(c))}mainGraphics.translate(width/2,height/2),mainGraphics.rotate(ang),mainGraphics.translate(-width/2,-height/2)}function draw(){if(mainGraphics.noStroke(),particles.forEach((e=>{e.update(),areas.forEach((t=>{if(t.isParticleInArea(e)&&e.area!==t&&(e.area=t,e.color=R.random_choice(t.colors),e.v.rotate(R.random_num(-1,1)),R.random_dec()<.1&&e.generation<2&&e.canGenCount>0)){let t=new Particle({p:e.p.copy(),v:e.v.copy(),a:e.a.copy(),generation:e.generation+1});e.canGenCount--,particles.push(t)}})),e.draw()})),particles=particles.filter((e=>e.life>0)),image(mainGraphics,0,0),showCanvasTexture&&(push(),blendMode(MULTIPLY),image(fullCanvasTexture,0,0),pop()),showHash){fill(0),textSize(18),textFont("Courier"),textAlign(RIGHT);for(var e=0;e<tokenData.hash.length;e++){let t=14*e+50;yy=.95*height*DIM/DEFAULT_SIZE,showHashMouse&&(t=14*e+15+mouseX,yy=mouseY),areas.forEach((e=>{if(e.isParticleInArea({p:createVector(t/DIM*DEFAULT_SIZE,yy/DIM*DEFAULT_SIZE)})){let t=color(e.color);.2126*t._getRed()+.7152*t._getGreen()+.0722*t._getBlue()>127.5?fill(0):fill(255),"Wireframe"==useSpecialType&&fill(255)}})),noStroke(),text(tokenData.hash[e],t,yy)}}}let showHashMouse,showHash=!1;function keyPressed(){"s"==key&&save("CYW_Electriz - "+tokenData.hash+".png"),"t"==key&&(showCanvasTexture=!showCanvasTexture)," "==key&&(showHash=!showHash,console.log("Showhash",showHash)),"m"==key&&(showHashMouse=!showHashMouse)}function doubleClicked(){showCanvasTexture=!showCanvasTexture}
function setup(){console.log("Artist: Che-Yu Wu"),console.log("https://twitter.com/cheyuwu345"),pixelDensity(4),createCanvas(DIM,DIM),noiseSeed(seed),randomSeed(seed),background(0),mainGraphics=createGraphics(width,height),fullCanvasTexture=createGraphics(width,height),mainGraphics.scale(DIM/DEFAULT_SIZE),fullCanvasTexture.scale(DIM/DEFAULT_SIZE),width=DEFAULT_SIZE,height=DEFAULT_SIZE;let e=120;for(let t=0;t<=width+1200;t+=e)for(let a=0;a<=height+1200;a+=e)fullCanvasTexture.image(canvasTexture,t,a,e,e);background(100),ang=R.random_num(-.5,.5),mainGraphics.fill(0),mainGraphics.rect(0,0,width,height),overAllTexture=createGraphics(width,height),overAllTexture.loadPixels();for(var t=0;t<width+50;t++)for(var a=0;a<height+50;a++)overAllTexture.set(t,a,color(200,noise(t/10,t*a/300)*R.random_choice([0,0,20,100])));overAllTexture.updatePixels(),translate(width/2,height/2),rotate(ang),translate(-width/2,-height/2),"Rect"==useDivisionType&&div(0,0,width,height,int(R.random_num(2,4))),"Ang"==useDivisionType&&divAng(0,width,0,2*PI,int(R.random_num(2,4))),features.AreaCount=areas.length;let r=R.random_num(.5,2);for(t=0;t<useParticleCount;t++){let e,a=R.random_choice(useColorSet),o=createVector(useStartPosition[0]*width,useStartPosition[1]*height),i=useChaosFactor>4?2:4,s=useChaosFactor>4?6:4,n=R.random_num(0,useParticleSize)*R.random_num(.05,1)+1;"Random"==useEmitType?e=createVector(0,1).rotate(R.random_num(0,2*PI)).mult(R.random_num(i,s)):"Even"==useEmitType?(e=createVector(0,1).rotate(map(t,0,useParticleCount,0,PI)).mult(R.random_num(i,s)),n=sin(t/4)*useChaosFactor+12):"LinearHorzontal"==useEmitType?(e=createVector(0,1).rotate(sin(t/useParticleCount*r*PI)).mult(R.random_num(i,s)),o=createVector(map(t,0,useParticleCount,0,width),height/2)):"LinearVertical"==useEmitType?(e=createVector(1,0).rotate(sin(t/useParticleCount*r*PI)).mult(R.random_num(i,s)),o=createVector(width/2,map(t,0,useParticleCount,0,height))):"LinearSlope"==useEmitType?(e=createVector(1,0).rotate(sin(t/useParticleCount*r*PI)).mult(R.random_num(i,s)),o=createVector(map(t,0,useParticleCount,0,width),map(t,0,useParticleCount,0,height))):"Circular"==useEmitType&&(e=createVector(1,0).rotate(map(t,0,useParticleCount,0,PI*r/2)).mult(R.random_num(i,s)),o=createVector(.3*width,0).rotate(t).add(width/2,height/2));let c={p:o,v:e,r:n,color:a,polarity:R.random_choice([-1,1]),r:R.random_num(0,useParticleSize)*R.random_num(.1,1)+1,vFriction:R.random_num(.99,1),rFactor:R.random_num(.99,.9995),affectFactor:R.random_num(.8,1.2)};useChaosFactor>=8&&(c.p.x+=R.random_num(-useChaosFactor,useChaosFactor),c.p.y+=R.random_num(-useChaosFactor,useChaosFactor)),useChaosFactor<=4&&(c.polarity=1,c.v=createVector(1,0).rotate(sin(t/useParticleCount*useChaosFactor*r*PI)).mult(5)),useChaosFactor<=3&&(c.color=useColorSet[int(t/10)%useColorSet.length]),useChaosFactor<=2&&(c.affectFactor=1,c.r=abs(sin(t))*useParticleSize*.8),particles.push(new Particle(c))}mainGraphics.translate(width/2,height/2),mainGraphics.rotate(ang),mainGraphics.translate(-width/2,-height/2)}function draw(){if(mainGraphics.noStroke(),particles.forEach((e=>{e.update(),areas.forEach((t=>{if(t.isParticleInArea(e)&&e.area!==t&&(e.area=t,e.color=R.random_choice(t.colors),e.v.rotate(R.random_num(-1,1)),R.random_dec()<.1&&e.generation<2&&e.canGenCount>0)){let t=new Particle({p:e.p.copy(),v:e.v.copy(),a:e.a.copy(),generation:e.generation+1});e.canGenCount--,particles.push(t)}})),e.draw()})),particles=particles.filter((e=>e.life>0)),image(mainGraphics,0,0),showCanvasTexture&&(push(),blendMode(MULTIPLY),image(fullCanvasTexture,0,0),pop()),showHash){fill(0),textSize(18),textFont("Courier"),textAlign(RIGHT);for(var e=0;e<tokenData.hash.length;e++){let t=14*e+50;yy=.95*height*DIM/DEFAULT_SIZE,showHashMouse&&(t=14*e+15+mouseX,yy=mouseY),areas.forEach((e=>{if(e.isParticleInArea({p:createVector(t/DIM*DEFAULT_SIZE,yy/DIM*DEFAULT_SIZE)})){let t=color(e.color);.2126*t._getRed()+.7152*t._getGreen()+.0722*t._getBlue()>127.5?fill(0):fill(255),"Wireframe"==useSpecialType&&fill(255)}})),noStroke(),text(tokenData.hash[e],t,yy)}}}let showHashMouse,showHash=!1;function keyPressed(){"s"==key&&save("CYW_Electriz - "+tokenData.hash+".png"),"t"==key&&(showCanvasTexture=!showCanvasTexture)," "==key&&(showHash=!showHash,console.log("Showhash",showHash)),"m"==key&&(showHashMouse=!showHashMouse)}function doubleClicked(){showCanvasTexture=!showCanvasTexture}
https://ipfs.io/ipfs/QmW9JM6UoqbmXQAhsvx1foxWHxGRBRLCbsFwuJLdbNhRgbChe-Yu Wu is a new media artist dedicated to intergrade art and computer science. artist, generative art, creative coding, audio-visual
function setup(){console.log("Artist: Che-Yu Wu"),console.log("https://twitter.com/cheyuwu345"),pixelDensity(2),createCanvas(DIM,DIM),noiseSeed(seed),randomSeed(seed),background(0),mainGraphics=createGraphics(width,height),fullCanvasTexture=createGraphics(width,height),mainGraphics.scale(DIM/DEFAULT_SIZE),fullCanvasTexture.scale(DIM/DEFAULT_SIZE),width=DEFAULT_SIZE,height=DEFAULT_SIZE;let e=120;for(let t=0;t<=width+1200;t+=e)for(let a=0;a<=height+1200;a+=e)fullCanvasTexture.image(canvasTexture,t,a,e,e);background(100),ang=R.random_num(-.5,.5),mainGraphics.fill(0),mainGraphics.rect(0,0,width,height),overAllTexture=createGraphics(width,height),overAllTexture.loadPixels();for(var t=0;t<width+50;t++)for(var a=0;a<height+50;a++)overAllTexture.set(t,a,color(200,noise(t/10,t*a/300)*R.random_choice([0,0,20,100])));overAllTexture.updatePixels(),translate(width/2,height/2),rotate(ang),translate(-width/2,-height/2),"Rect"==useDivisionType&&div(0,0,width,height,int(R.random_num(2,4))),"Ang"==useDivisionType&&divAng(0,width,0,2*PI,int(R.random_num(2,4))),features.AreaCount=areas.length;let r=R.random_num(.5,2);for(t=0;t<useParticleCount;t++){let e,a=R.random_choice(useColorSet),o=createVector(useStartPosition[0]*width,useStartPosition[1]*height),i=useChaosFactor>4?2:4,s=useChaosFactor>4?6:4,n=R.random_num(0,useParticleSize)*R.random_num(.05,1)+1;"Random"==useEmitType?e=createVector(0,1).rotate(R.random_num(0,2*PI)).mult(R.random_num(i,s)):"Even"==useEmitType?(e=createVector(0,1).rotate(map(t,0,useParticleCount,0,PI)).mult(R.random_num(i,s)),n=sin(t/4)*useChaosFactor+12):"LinearHorzontal"==useEmitType?(e=createVector(0,1).rotate(sin(t/useParticleCount*r*PI)).mult(R.random_num(i,s)),o=createVector(map(t,0,useParticleCount,0,width),height/2)):"LinearVertical"==useEmitType?(e=createVector(1,0).rotate(sin(t/useParticleCount*r*PI)).mult(R.random_num(i,s)),o=createVector(width/2,map(t,0,useParticleCount,0,height))):"LinearSlope"==useEmitType?(e=createVector(1,0).rotate(sin(t/useParticleCount*r*PI)).mult(R.random_num(i,s)),o=createVector(map(t,0,useParticleCount,0,width),map(t,0,useParticleCount,0,height))):"Circular"==useEmitType&&(e=createVector(1,0).rotate(map(t,0,useParticleCount,0,PI*r/2)).mult(R.random_num(i,s)),o=createVector(.3*width,0).rotate(t).add(width/2,height/2));let c={p:o,v:e,r:n,color:a,polarity:R.random_choice([-1,1]),r:R.random_num(0,useParticleSize)*R.random_num(.1,1)+1,vFriction:R.random_num(.99,1),rFactor:R.random_num(.99,.9995),affectFactor:R.random_num(.8,1.2)};useChaosFactor>=8&&(c.p.x+=R.random_num(-useChaosFactor,useChaosFactor),c.p.y+=R.random_num(-useChaosFactor,useChaosFactor)),useChaosFactor<=4&&(c.polarity=1,c.v=createVector(1,0).rotate(sin(t/useParticleCount*useChaosFactor*r*PI)).mult(5)),useChaosFactor<=3&&(c.color=useColorSet[int(t/10)%useColorSet.length]),useChaosFactor<=2&&(c.affectFactor=1,c.r=abs(sin(t))*useParticleSize*.8),particles.push(new Particle(c))}mainGraphics.translate(width/2,height/2),mainGraphics.rotate(ang),mainGraphics.translate(-width/2,-height/2)}function draw(){if(mainGraphics.noStroke(),particles.forEach((e=>{e.update(),areas.forEach((t=>{if(t.isParticleInArea(e)&&e.area!==t&&(e.area=t,e.color=R.random_choice(t.colors),e.v.rotate(R.random_num(-1,1)),R.random_dec()<.1&&e.generation<2&&e.canGenCount>0)){let t=new Particle({p:e.p.copy(),v:e.v.copy(),a:e.a.copy(),generation:e.generation+1});e.canGenCount--,particles.push(t)}})),e.draw()})),particles=particles.filter((e=>e.life>0)),image(mainGraphics,0,0),showCanvasTexture&&(push(),blendMode(MULTIPLY),image(fullCanvasTexture,0,0),pop()),showHash){fill(0),textSize(18),textFont("Courier"),textAlign(RIGHT);for(var e=0;e<tokenData.hash.length;e++){let t=14*e+50;yy=.95*height*DIM/DEFAULT_SIZE,showHashMouse&&(t=14*e+15+mouseX,yy=mouseY),areas.forEach((e=>{if(e.isParticleInArea({p:createVector(t/DIM*DEFAULT_SIZE,yy/DIM*DEFAULT_SIZE)})){let t=color(e.color);.2126*t._getRed()+.7152*t._getGreen()+.0722*t._getBlue()>127.5?fill(0):fill(255),"Wireframe"==useSpecialType&&fill(255)}})),noStroke(),text(tokenData.hash[e],t,yy)}}}let showHashMouse,showHash=!1;function keyPressed(){"s"==key&&save("CYW_Electriz - "+tokenData.hash+".png"),"t"==key&&(showCanvasTexture=!showCanvasTexture)," "==key&&(showHash=!showHash,console.log("Showhash",showHash)),"m"==key&&(showHashMouse=!showHashMouse)}function doubleClicked(){showCanvasTexture=!showCanvasTexture}
let projectNumber=Math.floor(parseInt(tokenData.tokenId)/1e6),mintNumber=parseInt(tokenData.tokenId)%(1e6*projectNumber),seed=parseInt(tokenData.hash.slice(0,16),16),rawParams=setupParametersFromTokenData(tokenData);class Random{constructor(e){this.seed=e}random(){return this.random_dec()}random_dec(){return this.seed^=this.seed<<13,this.seed^=this.seed>>17,this.seed^=this.seed<<5,(this.seed<0?1+~this.seed:this.seed)%1e3/1e3}random_num(e,a){return void 0===a&&(a=e,e=0),e+(a-e)*this.random_dec()}random_int(e,a){return void 0===a&&(a=e,e=0),Math.floor(this.random_num(e,a+1))}random_bool(e){return this.random_dec()<e}random_choice(e){return e[Math.floor(this.random_num(0,.99*e.length))]}random_choice_weight(e){let a=Object.values(e).reduce(((e,a)=>e+a),0),t=Object.values(e).reduce(((e,a)=>(e.push(1*(e.slice(-1)||0)+a),e)),[0]),i=this.random_num(0,a),r=0;for(let e=t.length-1;e>=1&&(r=e-1,!(i>t[e-1]&&i<t[e]));e--);return Object.keys(e)[r]}}let overAllTexture,canvasTexture,fullCanvasTexture,R=new Random(seed);class Particle{constructor(e){let a={p:createVector(0,0),v:createVector(0,0),a:createVector(0,0),canGenCount:2,generation:0,polarity:R.random_choice([-1,1]),r:R.random_num(0,useParticleSize)*R.random_num(.1,1)+1,id:int(R.random_num(0,1e3)),vFriction:R.random_num(.99,1),rFactor:R.random_num(.99,.9995),affectFactor:R.random_num(.8,1.2),hasFruit:R.random_num()<.5,area:null,color:"white",life:500};Object.assign(a,e),Object.assign(this,a)}draw(){if(mainGraphics.push(),mainGraphics.translate(this.p),mainGraphics.fill(this.color),mainGraphics.ellipse(0,0,this.r,this.r),R.random_dec()<.02){let e=R.random_num(0,5);mainGraphics.noFill(),mainGraphics.strokeWeight(2),mainGraphics.stroke(this.color),mainGraphics.ellipse(0,0,this.r*e,this.r*e)}if("Spray"==useSpecialType)for(var e=0;e<4;e++){mainGraphics.fill(this.color);let e=R.random_num(40)*R.random(),a=R.random_num(30)*R.random()/(sqrt(e)+2),t=R.random_num(0,2*PI);mainGraphics.ellipse(e*cos(t),e*sin(t),a,a)}mainGraphics.pop()}update(){R.random_dec()<.01&&this.area&&(this.color=R.random_choice(this.area.colors)),this.area&&this.area.affect(this),this.v.mult(this.vFriction),this.r*=this.rFactor,this.p.add(this.v),this.v.add(this.a),this.life--}}class Area{constructor(e){let a={x:0,y:0,w:0,h:0,type:getValueOfList(areaTypes,R.random_choice_weight(mapListToWeightedKeys(areaTypes))),sx:R.random_num(0,2),sy:R.random_num(0,2),polarAmp:R.random_num(-useChaosFactor,useChaosFactor),noiseX:R.random_num(0,100),noiseY:R.random_num(0,1e3),noiseXAmp:R.random_num(-useChaosFactor,useChaosFactor),noiseYAmp:R.random_num(-useChaosFactor,useChaosFactor),parallelAngle:R.random_num(0,2*PI),parallelAmp:R.random_num(1e-4,.002),gravity:createVector(R.random_num(-.1,.1),R.random_num(-.1,.1)),colors:useColorSet,color:R.random_choice(useColorSet),id:int(R.random_num(0,1e5))};Object.assign(a,e),Object.assign(this,a)}draw(){mainGraphics.push(),mainGraphics.noStroke(),mainGraphics.fill(this.color),"Wireframe"==useSpecialType&&(mainGraphics.noFill(),mainGraphics.strokeWeight(5),mainGraphics.stroke(this.color)),"Kinetic"==useSpecialType&&(mainGraphics.translate(R.random_num(-useChaosFactor,useChaosFactor),R.random_num(-useChaosFactor,useChaosFactor)),mainGraphics.rotate(R.random_num(.01*-useChaosFactor,.01*useChaosFactor))),mainGraphics.rect(this.x,this.y,this.w,this.h),mainGraphics.pop()}affect(e){let a=useChaosFactor/9;"field"==this.type&&(e.v.x+=cos(e.p.x*this.sx/10)/10*e.affectFactor*a,e.v.y+=sin(e.p.y*this.sy/10)/10*e.affectFactor*a),"noise"==this.type&&(e.v.x+=(noise(e.p.x*this.sx/10)-.5)*e.affectFactor*a,e.v.y+=(noise(e.p.y*this.sy/10)-.5)*e.affectFactor*a),"curl"==this.type&&e.v.rotate(this.polarAmp*e.polarity/pow(e.r,2)*e.affectFactor*a),"square"==this.type&&(e.v.x+=cos(e.p.x/10+e.p.y/20)/2*e.affectFactor*a,e.v.y+=sin(e.p.y/10+e.p.x/20)/2*e.affectFactor*a),"step"==this.type&&(e.p.x+=2*cos(2*int(e.p.x/40))*e.affectFactor*a,e.p.y+=2*cos(2*int(e.p.y/40))*e.affectFactor*a),"parallel"==this.type&&e.v.heading()!=this.parallelAngle&&e.v.rotate((this.parallelAngle-e.v.heading())*this.parallelAmp)}isParticleInArea(e){return(this.checkFunc||((e,a)=>a.p.x>e.x&&a.p.x<e.x+e.w&&a.p.y>e.y&&a.p.y<e.y+e.h))(this,e)}}class AngArea extends Area{constructor(e){super(e)}draw(){let e=(this.stR+this.edR)/2,a=this.edR-this.stR;if(mainGraphics.push(),mainGraphics.strokeCap(SQUARE),mainGraphics.noFill(),mainGraphics.stroke(this.color),mainGraphics.translate(width/2,height/2),mainGraphics.strokeWeight(a),mainGraphics.arc(0,0,2*e,2*e,this.stAng,this.edAng,OPEN),mainGraphics.pop(),"Kinetic"==useSpecialType&&(mainGraphics.translate(R.random_num(-useChaosFactor,useChaosFactor),R.random_num(-useChaosFactor,useChaosFactor)),mainGraphics.rotate(R.random_num(-.03,.03))),"Wireframe"==useSpecialType){let e=(this.stR+this.edR)/2,a=this.edR-this.stR-20;mainGraphics.push(),mainGraphics.strokeCap(SQUARE),mainGraphics.noFill(),mainGraphics.stroke(0),mainGraphics.translate(width/2,height/2),mainGraphics.strokeWeight(a),mainGraphics.arc(0,0,2*e,2*e,this.stAng,this.edAng,OPEN),mainGraphics.pop()}}isParticleInArea(e){let a=(e=>e<0?e+2*PI:e)(atan2(e.p.y-height/2,e.p.x-width/2)),t=dist(e.p.x,e.p.y,width/2,height/2);return a>=this.stAng&&a<=this.edAng&&t>=this.stR&&t<=this.edR}}let useStartPosition,useParticleCount,useColorSet,useParticleSize,useDivisionType,useEmitType,useSpecialType,mainGraphics,mapColorsToArr=e=>e.split("-").map((e=>"#"+e)),colors={Paper:{weight:100,value:mapColorsToArr("222-666-999-aaa-ccc-eee-fff-080808")},Kimono:{weight:100,value:mapColorsToArr("fff-f24-fae8eb-f6caca-e4c2c6-cd9fcc-0a014f")},Sea:{weight:100,value:mapColorsToArr("e63946-f1faee-a8dadc-457b9d-1d3557")},Confetti:{weight:100,value:mapColorsToArr("201e1f-ff4000-faaa8d-feefdd-50b2c0")},Vine:{weight:100,value:mapColorsToArr("fff-222-545454-69747c-6baa75-84dd63-cbff4d")},Festival:{weight:100,value:mapColorsToArr("12355b-420039-d72638-ffffff-ff570a")},Lolipop:{weight:100,value:mapColorsToArr("ff499e-d264b6-a480cf-779be7-49b6ff-fff-000")},Eastern:{weight:100,value:mapColorsToArr("333745-e63462-fe5f55-c7efcf-eef5db-fff")},Beans:{weight:100,value:mapColorsToArr("fb6107-f3de2c-7cb518-5c8001-fbb02d-fff-111")},MonoChrome:{weight:100,value:mapColorsToArr("000-fff-333")},Mint:{weight:100,value:mapColorsToArr("000-fff-333-00ffbb")},Taxi:{weight:100,value:mapColorsToArr("000-fff-333-fff719")},Earth:{weight:100,value:mapColorsToArr("0a0908-142228-f2f4f3-a9927d-5e503f-efc734-e0ba67")}},startPositions={Center:{weight:15,value:[.5,.5]},CornerLT:[.35,.35],CornerRT:[.65,.35],CornerLB:[.35,.65],CornerRB:[.65,.65]},specialTypes={None:{weight:30,value:"None"},Wireframe:{weight:14,value:"Wireframe"},Spray:{weight:6,value:"Spray"},Hamily:{weight:1,value:"Hamily"}},particleCounts={Less:{weight:1,value:85},Medium:{weight:5,value:100},More:{weight:1,value:120}},particleSizes={S:{weight:2,value:55},M:{weight:3,value:65},L:{weight:5,value:72},XL:{weight:1,value:85}},areaTypes={field:{weight:30,value:"field"},curl:{weight:6,value:"curl"},noise:{weight:4,value:"noise"},square:{weight:4,value:"square"},step:{weight:10,value:"step"},parallel:{weight:2,value:"parallel"},none:{weight:2,value:"none"}},emitTypes={even:{weight:12,value:"Even"},random:{weight:15,value:"Random"},linearHorizontal:{weight:3,value:"LinearHorzontal"},linearVertical:{weight:3,value:"LinearVertical"},linearSlope:{weight:2,value:"LinearSlope"},circular:{weight:3,value:"Circular"}},divisionTypes={rect:{weight:15,value:"Rect"},ang:{weight:5,value:"Ang"}},useChaosFactor=5,showCanvasTexture=!0,areas=[],mapListToWeightedKeys=e=>Object.entries(e).filter((e=>e[0])).reduce(((e,a)=>(e[a[0]]=a[1]&&a[1].weight||1,e)),{}),allFeatureList={Color:mapListToWeightedKeys(colors),StartPosition:mapListToWeightedKeys(startPositions),ParticleCount:mapListToWeightedKeys(particleCounts),ParticleSize:mapListToWeightedKeys(particleSizes),DivisionType:mapListToWeightedKeys(divisionTypes),EmitType:mapListToWeightedKeys(emitTypes),SpecialType:mapListToWeightedKeys(specialTypes)};function getValueOfList(e,a){return e[a]&&e[a].value||e[a]}function renderFeatures(){features.Color=R.random_choice_weight(allFeatureList.Color),useColorSet=getValueOfList(colors,features.Color),features.StartPosition=R.random_choice_weight(allFeatureList.StartPosition),useStartPosition=getValueOfList(startPositions,features.StartPosition),features.ParticleCount=R.random_choice_weight(allFeatureList.ParticleCount),useParticleCount=getValueOfList(particleCounts,features.ParticleCount),features.ParticleSize=R.random_choice_weight(allFeatureList.ParticleSize),useParticleSize=getValueOfList(particleSizes,features.ParticleSize),features.DivisionType=R.random_choice_weight(allFeatureList.DivisionType),useDivisionType=getValueOfList(divisionTypes,features.DivisionType),features.EmitType=R.random_choice_weight(allFeatureList.EmitType),useEmitType=getValueOfList(emitTypes,features.EmitType),features.SpecialType=R.random_choice_weight(allFeatureList.SpecialType),useSpecialType=getValueOfList(specialTypes,features.SpecialType),useChaosFactor=R.random_choice([0,1,2,2,3,3,3,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,8,8,9,10]),features.ChaosFactor=useChaosFactor}function preload(){canvasTexture=loadImage(canvasTextureBase64)}function div(e,a,t,i,r){if(R.random_dec()<.5+r/8&&r>0){let s=R.random_num(.2,.8);if(R.random_dec()<.3){let o=t*s;div(e,a,o,i,r-1),div(e+o,a,t-o,i,r-1)}else{let o=i*s;div(e,a,t,o,r-1),div(e,a+o,t,i-o,r-1)}}else{let r=new Area({x:e,y:a,w:t,h:i,type:getValueOfList(areaTypes,R.random_choice_weight(mapListToWeightedKeys(areaTypes))),sx:R.random_num(0,2),sy:R.random_num(0,2),noiseX:R.random_num(0,100),noiseY:R.random_num(0,1e3),noiseXAmp:R.random_num(-5,5),noiseYAmp:R.random_num(-5,5),gravity:createVector(R.random_num(-.15,.15),R.random_num(-.15,.15)),colors:useColorSet});r.draw(),areas.push(r)}}function divAng(e,a,t,i,r){R.random()<.3&&(r-=1);let s=R.random_num(.3,.7);if(r>0)if(R.random()<.4){let s=R.random_choice([2,2,2,2,2,3,4]);for(var o=1;o<=s;o++)divAng(e,a,t+(o-1)*(i-t)/s,t+o*(i-t)/s,r-1)}else divAng(e,e+s*(a-e),t,i,r-1),divAng(e+s*(a-e),a,t,i,r-1);else{let s=new AngArea({stR:e,edR:a,stAng:t,edAng:i,d:r,type:getValueOfList(areaTypes,R.random_choice_weight(mapListToWeightedKeys(areaTypes))),sx:R.random_num(0,2),sy:R.random_num(0,2),noiseX:R.random_num(0,100),noiseY:R.random_num(0,1e3),noiseXAmp:R.random_num(-5,5),noiseYAmp:R.random_num(-5,5),gravity:createVector(R.random_num(-.15,.15),R.random_num(-.15,.15)),colors:useColorSet});s.draw(),areas.push(s)}}renderFeatures();let ang,particles=[];var DEFAULT_SIZE=1200,WIDTH=window.innerWidth,HEIGHT=window.innerHeight,DIM=Math.min(WIDTH,HEIGHT),M=DIM/DEFAULT_SIZE;
let canvasTextureBase64="data:image/jpeg;base64, ";canvasTextureBase64+="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";var features={};function setupParametersFromTokenData(A){let M=[];for(let B=0;B<32;B++)M.push(A.hash.slice(2+2*B,4+2*B));return M.map((A=>parseInt(A,16)))}function generateSeedFromTokenData(A){return parseInt(A.hash.slice(0,16),16)}
"Electriz" is a series of works that use digital cloud chambers to observe the traces of unidentified particles. When doing art creation, just like scientists discovering new particles, artists continue to draw interesting ideas from reality and fantasy to collide with each other, trying to find a unique existence at the moment of collision in the process of mixing ideas. The space in the work "Electriz" is divided into parts with different physical characteristics, which affect the movement, rotation, splitting, and annihilation of particles. It is an unpredictable experimental system with unlimited possibilities to explore the intersection of physics, mathematics, and art.