artCodestring="var throwAndStop=e=>{throw console.log(e),new Error(e)};"undefined"==typeof p5&&throwAndStop("You must include p5js v1.4.0; see this contract's 'artCodeDependencies()' method.");const sunflowerIsDefined="undefined"!=typeof Sunflower,tokenDataIsDefined="undefined"!=typeof tokenData;var Helper;sunflowerIsDefined?Helper={...Sunflower}:tokenDataIsDefined&&(Helper={seed:tokenData.hash}),Helper?.seed||throwAndStop("To run, call 'seedForToken(...)' on this contract to get the seed. Then prefix this js code with 'tokenData = {hash: <seed>}', where <seed> is the seed as a string starting with '0x...'.");const dRand=(e,a,t)=>{const s=random(e,a+t);return s-s%t},createBuffer=(e,a,t,s)=>(buffer=createGraphics(e,a),buffer.translate(windowWidth/2,windowHeight/2),buffer.colorMode(HSL,360),buffer.strokeWeight(t),buffer.strokeCap(s),buffer);function setup(){p5.disableFriendlyErrors=!0;const e=Number(BigInt(Helper.seed)%BigInt("9007199254740991"));switch(randomSeed(e),createCanvas(windowWidth,windowHeight),gutter=.2,A=windowWidth/2-windowWidth*gutter/2,B=windowHeight/2-windowHeight*gutter/2,frameRate(60),ratios=[[1,0],[1,1],[1,2],[1,3],[2,3],[3,4],[3,5],[4,5],[5,6],[9,10]],ratio=random(ratios),a=ratio[0],b=ratio[1],lineCap=random([PROJECT,ROUND]),f=[random([Math.sin,Math.cos]),random([Math.sin,Math.cos]),random([Math.sin,Math.cos]),random([Math.sin,Math.cos])],transforms=[{name:"None",apply:(e,a,t,s)=>[e,a,t,s]},{name:"Interwined",apply:(e,a,t,s)=>[e,t,a,s]},{name:"Flipped",apply:(e,a,t,s)=>[a,e,s,t]},{name:"Twisted",apply:(e,a,t,s)=>[e,a,s,t]},{name:"Twisted & Inverted",apply:(e,a,t,s)=>[t,a,e,s]},{name:"Flipped & Interwined",apply:(e,a,t,s)=>[a,s,e,t]},{name:"X-Pegged",apply:(e,a,t,s)=>[e,a,e,s]},{name:"Y-Pegged",apply:(e,a,t,s)=>[e,a,t,a]}],transform=random(transforms),0===b&&(transform=random([transforms[1],transforms[3]])),colorSpeed=dRand(0,.5,.1),colorStreaks=dRand(0,3,1),xd1=dRand(0,PI,PI/32),yd1=dRand(0,PI,PI/32),xd2=dRand(0,PI,PI/32),yd2=dRand(0,PI,PI/32),maxSteps=200,minSteps=10,steps=dRand(minSteps,maxSteps,10),offsetSpeed=steps<=50?.01*steps:dRand(.1,2,.1),maxWeight=10,weight=dRand(1,maxWeight,1),pulsating=random(0,1)<.02,centerpiece=random(0,1)<.01,vx=dRand(-.3,.3,.05),vxs=dRand(-.3,.3,.05),alpha=dRand(72,360,72),step=TWO_PI/steps,baseline=transform.apply(fx(0,0),fy(0,0),fxs(0,0),fys(0,0)),timeShifted=transform.apply(fx(step,0),fy(step,0),fxs(step,0),fys(step,0)),offsetShifted=transform.apply(fx(0,1),fy(0,1),fxs(0,1),fys(0,1)),baseline[0]===offsetShifted[0]&&baseline[1]===offsetShifted[1]&&baseline[2]===offsetShifted[2]&&baseline[3]===offsetShifted[3]&&(pulsating=!0),!0){case baseline[0]===baseline[2]&&timeShifted[0]===timeShifted[2]:Helper.setMetadata?.("Line orientation","Vertical");break;case baseline[1]===baseline[3]&&timeShifted[1]===timeShifted[3]:Helper.setMetadata?.("Line orientation","Horizontal");break;default:Helper.setMetadata?.("Line orientation","Shifting")}const s=(e,a,t)=>e<=steps/2?map(e,0,steps/2,a,t):map(e,steps/2,steps,t,a);switch(themes=[{name:"Chromie",bg:[0,0,10],fg:e=>[s(e,0,360),300,200,alpha]},{name:"Tangerine",bg:[30,180,50],fg:e=>[s(e,50,25),360,180,max(alpha,300)]},{name:"Lime",bg:[120,100,30],fg:e=>[80,360,s(e,180,240),alpha]},{name:"Retrowave",bg:[270,360,25],fg:e=>[s(e,49,-20),360,250,alpha]},{name:"Cotton Candy",bg:[330,360,340],fg:e=>[330,360,s(e,240,280),alpha]},{name:"Ultraviolet",bg:[120,0,30],fg:e=>[280,360,s(e,200,340),alpha]},{name:"Midnight pink",bg:[254,316.8,72],fg:e=>[312,360,s(e,230.4,158.4),alpha]},{name:"Phaser Beam",bg:[247,194.4,.56*360],fg:e=>[165,360,s(e,226.8,180),alpha]},{name:"Red Rubber",bg:[240,.24*360,338.4],fg:e=>[0,360,s(e,226.8,.7*360),alpha]},{name:"Emerald Mine",bg:[25,.29*360,.12*360],fg:e=>[145,234,s(e,194.4,162),alpha]},{name:"X-Ray",bg:[0,0,0],fg:e=>[190,300,s(e,108,270),alpha]},{name:"Mono",bg:[0,0,0],fg:e=>[0,0,360,alpha]}],theme=random(themes),a/b){case 1/0:shape=transform===transforms[1]?"Cone":"Anomaly";break;case 1:shape="Ellipse";break;case.5:shape="Infinity";break;case 1/3:shape="Sinusoid";break;case 2/3:shape="Ribbon";break;case 3/4:shape="Pretzel";br"
artDescriptionstring="Meaning emerges from seemingly chaos, sometimes gentle, sometimes wild.
Revolvessence is a generative collection of 3000 pieces with extreme variety. It takes you through the exploration and discovery of emerging dynamics through an unrehearsed choreography of lines and colors."
Meaning emerges from seemingly chaos, sometimes gentle, sometimes wild.
Revolvessence is a generative collection of 3000 pieces with extreme variety. It takes you through the exploration and discovery of emerging dynamics through an unrehearsed choreography of lines and colors.