memoscan
← all memos

Memo 0xdcfa18ca…a3b0ae on Ethereum

let dim,dimHalf,buffer,STROKESCALE,img,paperBg,paperMg,paperFg,paperTg,pSystem,blurryBg,rorschach,rorschachTop,PALETTE_ID,BG_ID,SOURCE_ID,BASIS_ID,BASIS_OCTAVES,OUTLOOK_ID,SURFACE_VAR,myFrameCount,frameMark1,frameMark2,frameMarkPer,frameMarkTrigger,totalFrames,MYSIZE=1600,MYHALF=MYSIZE/2,SCENESCALE=100,GRAVITY=0,MINSPEED=.01,MAXSPEED=.75,papers=[],cs=[],csTrans=[],csIrri=[],PALETTES=["IMPENETRABLE_CALM","GROWTH_AND_RENEWAL","FOCUSED_ANGER","FEAR, UNCERTAINTY, AND DOUBT","CALM_BUT_ALERT","WISE_AND_ENERGETIC","INTROVERTED_AND_COMPASSIONATE","NURTURED_HOPE","SOCIAL_CREATURE","SECURE_BUT_SAD","SUSPICIOUS","EAGER AND RESOURCEFUL","AWARE_BUT_DISTANT","FOREBODING","CONFIDENT_ENERGY"],BG_TYPES=["TABULA RASA","PROJECTIVE","ANARCHIC","ALIGNED","SPIRITUAL"],SOURCE_TYPES=["NORMAL","CENTERED","PSYCHO-ANOMALOUS","ASCENDED"],BASIS_TYPES=["DISORGANIZED","ORGANIZED"],OUTLOOK_TYPES=["NEGATIVITY","POSITIVITY"],FLIP_VERT=!1,SHOW_FORCES=!0,DEBUG=!1,SAVE_PRINTRES=!1;function genTokenData(t){let r={},s="0x";for(var e=0;e<64;e++)s+=Math.floor(16*Math.random()).toString(16);return r.hash=s,r.tokenId=(1e6*t).toString(),r}class Random{constructor(){this.useA=!1;let t=function(t){let r=parseInt(t.substr(0,8),16),s=parseInt(t.substr(8,8),16),e=parseInt(t.substr(16,8),16),i=parseInt(t.substr(24,8),16);return function(){let t=((r|=0)+(s|=0)|0)+(i|=0)|0;return i=i+1|0,r=s^s>>>9,s=(e|=0)+(e<<3)|0,e=(e=e<<21|e>>>11)+t|0,(t>>>0)/4294967296}};this.prngA=new t(tokenData.hash.substr(2,32)),this.prngB=new t(tokenData.hash.substr(34,32));for(let t=0;t<1e6;t+=2)this.prngA(),this.prngB()}random_dec(){return this.useA=!this.useA,this.useA?this.prngA():this.prngB()}random_num(t,r){return t+(r-t)*this.random_dec()}random_int(t,r){return Math.floor(this.random_num(t,r+1))}random_bool(t){return this.random_dec()<t}random_choice(t){return t[this.random_int(0,t.length-1)]}}function createColors(t){let r=[];append(r,[1,3,38,1,31,38,166,138,55,242,209,109,242,235,141]),append(r,[4,41,64,0,92,83,159,193,49,219,242,39,255,252,102]),append(r,[31,38,35,59,64,57,255,133,0,255,179,0,255,230,67]),append(r,[15,15,15,35,35,35,107,9,47,255,41,58,255,125,74]),append(r,[45,7,77,75,39,122,0,148,134,35,235,178,183,255,227]),append(r,[117,10,10,255,74,11,79,180,139,167,233,177,212,255,185]),append(r,[142,2,45,242,21,143,148,7,242,4,107,242,4,156,216]),append(r,[12,49,94,7,101,219,255,192,18,255,239,3,255,255,102]),append(r,[242,232,101,242,177,99,242,142,106,242,106,94,225,253,247]),append(r,[23,42,46,22,63,69,217,103,37,242,150,80,247,206,105]),append(r,[25,25,25,55,55,55,100,100,100,200,255,100,235,255,150]),append(r,[36,39,41,68,69,55,65,185,220,124,204,217,244,247,217]),append(r,[11,11,11,40,40,40,210,210,210,240,240,240,255,255,255]),append(r,[205,205,205,255,255,255,0,0,0,15,15,15,235,235,235]),append(r,[89,1,1,165,9,51,242,55,105,0,0,0,242,75,136]),cs=[],csTrans=[],csIrri=[];let s=r[t];for(let t=0;t<5;t++){let r=3*t,e=s[r+0],i=s[r+1],a=s[r+2],o=color(e,i,a),h=color(e,i,a,60);append(cs,o),append(csTrans,h)}for(let t=0;t<5;t++)append(csIrri,color(255,100,100)),append(csIrri,color(255,190,100)),append(csIrri,color(200,255,110)),append(csIrri,color(100,155,255)),append(csIrri,color(150,100,200))}function getColor(t){let r;if(t<.25){let s=map(t,0,.25,0,1);r=lerpColor(cs[0],cs[1],s)}else if(t<.5){let s=map(t,.25,.5,0,1);r=lerpColor(cs[1],cs[2],s)}else if(t<.75){let s=map(t,.5,.75,0,1);r=lerpColor(cs[2],cs[3],s)}else{let s=map(t,.75,1,0,1);r=lerpColor(cs[3],cs[4],s)}return r}function getIrriColor(t){let r;if(t<.2){let s=map(t,0,.2,0,1);r=lerpColor(csIrri[0],csIrri[1],s)}else if(t<.4){let s=map(t,.2,.4,0,1);r=lerpColor(csIrri[1],csIrri[2],s)}else if(t<.6){let s=map(t,.4,.6,0,1);r=lerpColor(csIrri[2],csIrri[3],s)}else if(t<.8){let s=map(t,.6,.8,0,1);r=lerpColor(csIrri[3],csIrri[4],s)}else{let s=map(t,.8,1,0,1);r=lerpColor(csIrri[4],csIrri[0],s)}return r}function drawDragLine(t,r,s,e,i,a,o,h){i.stroke(a),i.strokeWeight(o),i.line(t,r,s,e)}function drawStatic(t,r,s,e,i){for(let a=0;a<i;a++){let i=R.random_num(0,750*sqrt(s)),a=R.random_num(-PI,PI),o=sin(a),h=t+cos(a)*i,n=r+o*i;e.circle(h,n,STROKESCALE)}}function drawSplatter(t,r,s,e,i){for(let a=0;a<i;a++){let i=R.random_num(0,130*sqrt(s)),a=R.random_num(-PI,PI),o=sin(a),h=t+cos(a)*i,n=r+o*i,l=1*pow(.9*R.random_dec(),3)+.05;e.circle(h,n,l)}}function drawStreakedStatic(t,r,s,e,i){for(let a=0;a<i;a++){let i=R.random_num(0,750*sqrt(s)),a=R.random_num(-PI,PI),o=sin(a),h=t+cos(a)*i,n=r+o*i*.25;e.circle(h,n,STROKESCALE)}}function keyTyped(){"d"==key&&(DEBUG=!DEBUG),"r"==key||("s"==key?(reset(6),SAVE_PRINTRES=!0):"v"==key?FLIP_VERT=!FLIP_VERT:"f"==key&&(SHOW_FORCES=!SHOW_FORCES))}function drawForceLines(t,r){if(t.length>1)for(let s=0;s<t.length;s+=2){let e=t[s],i=t[s+1],a=R.random_int(0,3),o=paperBg;1==a?o=paperMg:2==a?o=paperFg:3==a&&(o=paperTg),o.stroke(r),o.strokeWeight(2),o.fill(cs[0]),o.line(e.x,e.y,i.x,i.y),o.circle(e.x,e.y,4),o.circle(i.x,i.y,4)}}class BlurryBg{constructor(){}drawMain(t){t.noStroke();let r=1.375*MYSIZE,s=MYHALF,e=MYHALF-55;for(let i=0;i<200;i++){let a=map(i,0,129,0,1,!0),o=lerpColor(cs[0],cs[1],a);t.fill(o),t.circle(s,e,r),e-=.002*(r*=.995)}}drawAnarchic(t,r){t.noStroke();let s=MYHALF;for(let e=0;e<10;e++){let e=R.random_num(100,650)*r;R.random_bool(.6)?t.fill(cs[1]):(t.fill(cs[3]),e*=1.5);let i=R.random_num(MYHALF-350,MYHALF+260);t.circle(s,i,e)}}drawSpiritual(t){let r=MYSIZE*R.random_num(.45,.8),s=MYHALF,e=MYHALF-150;t.noStroke(),t.fill(cs[2]),t.circle(s,e,r)}drawConcentric(t){let r=t,s=.95*MYSIZE,e=MYHALF,i=MYHALF-300;for(let t=0;t<7;t++){let a=map(t,0,7,.1,.9);(r=0==t?paperBg:1==t?paperBg:2==t?paperMg:3==t?paperMg:paperFg).noStroke(),r.fill(getColor(a)),r.circle(e,i,s),s-=170,i+=55}}}class Rorschach{constructor(){this.numDark=R.random_int(5,11),this.numLight=R.random_int(5,11),this.darks=[],this.lights=[];for(let t=0;t<this.numDark;t++){let t=R.random_num(-400,400),r=R.random_num(-200,150),s=R.random_num(100,500),e=createVector(t,r,s);append(this.darks,e)}for(let t=0;t<this.numLight;t++){let t=R.random_num(-420,420),r=R.random_num(-200,150);t*=map(r,-300,250,1,.5);let s=R.random_num(170,330),e=createVector(t,r,s);append(this.lights,e)}}drawDarks(t,r){let s=cs[0];t.fill(color(red(s),green(s),blue(s),4)),t.noStroke();for(let s=0;s<this.numDark;s++){let e=this.darks[s],i=e.x*r,a=e.y*r,o=e.z*r;t.circle(MYHALF+i,MYHALF+a,o),t.circle(MYHALF-i,MYHALF+a,o),e.z*=.975}}drawLights(t,r){let s=cs[1];t.fill(color(red(s),green(s),blue(s),4)),t.noStroke();for(let s=0;s<this.numLight;s++){let e=this.lights[s],i=e.x*r,a=e.y*r,o=e.z*r;t.circle(MYHALF+i,MYHALF+a,o),t.circle(MYHALF-i,MYHALF+a,o),e.z*=.985}}}class Force{constructor(t,r,s,e,i,a){this.id=t,this.pos=r.copy(),this.origPos=r.copy(),this.force=2*s,this.rotForce=2*e,this.isEmitter=i,this.isBoundary=a,this.radius=5,this.age=0,this.isEmitter&&(this.cd=color(255,255,0),this.radius=15)}updateForce(t,r,s){this.force=t,this.rotForce=r,this.isEmitter=s}update(){this.age+=1}draw(t){if(!this.isBoundary&&this.radius>6){let r=SCENESCALE,s=map(this.pos.x,-r,r,0,MYSIZE),e=map(this.pos.y,-r,r,0,MYSIZE),i=min(abs(this.pos.x),this.radius);t.noStroke();for(let r=0;r<5;r++)t.fill(cs[r]),t.circle(s,e,i),i*=.8}}drawToPaper(t){if(t.fill(color(0,0,0,25)),t.noStroke(),!this.isBoundary){let r=SCENESCALE,s=map(1.08*this.pos.x,-r,r,0,MYSIZE),e=map(1.08*this.pos.y,-r,r,0,MYSIZE),i=15*this.radius;for(let r=0;r<25;r++)t.circle(s,e,i),i*=.95}}}class Particle{constructor(t){this.context=Math.min(int(map(frameMarkPer,0,1,0,6)),5),this.x=t.x,this.y=t.y,this.px=t.x,this.py=t.y;let r=R.random_num(-PI,PI);if(this.context>=2&&1==BASIS_ID){let t=map(r,-PI,PI,0,1);t=int(t*BASIS_OCTAVES)/float(BASIS_OCTAVES),r=t=map(t,0,1,-PI,PI)}this.speed=R.random_num(1,2.1),this.vx=Math.cos(r)*this.speed,this.vy=Math.sin(r)*this.speed,this.px+=.05*this.vx,this.py+=.05*this.vy,this.x+=.1*this.vx,this.y+=.1*this.vy,this.renderx=map(this.x,-SCENESCALE,SCENESCALE,0,MYSIZE),this.rendery=map(this.y,-SCENESCALE,SCENESCALE,0,MYSIZE),this.renderxo=map(this.px,-SCENESCALE,SCENESCALE,0,MYSIZE),this.renderyo=map(this.py,-SCENESCALE,SCENESCALE,0,MYSIZE),this.ax=0,this.ay=0,this.speedLerp=this.speed,this.cd=color(0,0,0),this.radius=R.random_num(.3,3),this.mass=R.random_num(.8,1.2),this.augRadius=this.radius,this.dp=0,this.ftd=0,this.std=0,this.totalDist=0,this.decay=R.random_num(.95,.975),this.age=0,this.agePer=0,this.life=300,this.dead=!1}update(t){this.px=this.x,this.py=this.y,this.ftd=0,this.std=0;for(let r=0;r<t.length;r++){let s=t[r],e=this.x-s.pos.x,i=this.y-s.pos.y,a=createVector(e,i),o=a.mag(),h=o*o,n=1/h;a=a.normalize();let l=createVector(a.y,-a.x);l=p5.Vector.mult(l,n*s.rotForce*this.mass),a=p5.Vector.mult(a,n*s.force*this.mass),this.ax+=a.x+l.x,this.ay+=a.y+l.y,h<.5&&!s.isEmitter&&(this.dead=!0,s.radius+=.025),s.isEmitter&&(this.ftd+=o,this.std+=sin(10*o))}this.ay+=map(myFrameCount,0,75,GRAVITY,.01,!0),this.vx+=this.ax,this.vy+=this.ay;let r=createVector(this.vx,this.vy),s=r.copy().normalize();this.speed=r.mag(),this.speed>MAXSPEED?(r=p5.Vector.mult(s,MAXSPEED),this.speed=MAXSPEED):this.speed<MINSPEED&&(r=p5.Vector.mult(s,MINSPEED),this.speed=MINSPEED),this.vx=r.x,this.vy=r.y,this.dp=p5.Vector.dot(s,createVector(0,1)),this.dp=map(this.dp,-1,1,0,1),this.totalDist+=this.vx*this.vx+this.vy*this.vy,this.x+=this.vx,this.y+=this.vy,this.vx*=this.decay,this.vy*=this.decay,this.speed=this.vx*this.vx+this.vy*this.vy,this.ax=0,this.ay=0,this.age+=1,this.agePer=this.age/this.life,this.radius*=.99,this.augRadius=this.radius*map(cos(.25*this.totalDist),-1,1,.3,1),this.speedLerp-=.15*(this.speedLerp-this.speed),this.renderxo=this.renderx,this.renderyo=this.rendery,this.renderx=map(this.x,-SCENESCALE,SCENESCALE,0,MYSIZE),this.rendery=map(this.y,-SCENESCALE,SCENESCALE,0,MYSIZE),(abs(this.x)>1.1*SCENESCALE||abs(this.y)>1.1*SCENESCALE)&&(this.dead=!0),this.age>this.life&&(this.dead=!0)}}