memoscan
← all memos

Memo 0x927ce7de…551142 on Ethereum

let dim,dimHalf,buffer,STROKESCALE,img,paperBg,paperMg,paperFg,paperTg,pSystem,blurryBg,rorschach,rorschachTop,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=[],AURAS=["pale yellow on deep blue","an intense green","an aggressive orange","bright deep red","soft green on a deep purple","grey and green with bright red","bright blue and pink","an intense yellow","peach orange and yellow","pale orange and dark teal","neon green in a grey void","powder blue","bright but lacking color","dark and lacking color","dark shadowy red"],MEANINGS=["filled with an impenetrable calm","enjoying growth and renewal","experiencing focused anger","full of fear, uncertainty and doubt","very calm and alert","very wise and energetic","introverted and highly compassionate","nurturing hope","an outgoing social creature","secure but sad","suspicious","eager and resourceful","aware but distant","sensing a foreboding future","confident and energetic"],BGS=["You are a blank slate","Your obstructions are indistinct","However, you have many deep obstructions","You are aligned","You carry a spirit with you"],SOURCES=["normal","very centered","unusual","surprisingly bright"],ODDS=["This usually means","This often means","This generally means","This can mean"],BASIS_TYPES=["disorganized","organized"],OUTLOOK_TYPES=["negativity","positivity"],FLIP_VERT=!1,SHOW_FORCES=!0,DEBUG=!1,SAVE_PRINTRES=!1;function genTokenData(e){let t={},r="0x";for(var s=0;s<64;s++)r+=Math.floor(16*Math.random()).toString(16);return t.hash=r,t.tokenId=(1e6*e).toString(),t}class Random{constructor(){this.useA=!1;let e=function(e){let t=parseInt(e.substr(0,8),16),r=parseInt(e.substr(8,8),16),s=parseInt(e.substr(16,8),16),i=parseInt(e.substr(24,8),16);return function(){let e=((t|=0)+(r|=0)|0)+(i|=0)|0;return i=i+1|0,t=r^r>>>9,r=(s|=0)+(s<<3)|0,s=(s=s<<21|s>>>11)+e|0,(e>>>0)/4294967296}};this.prngA=new e(tokenData.hash.substr(2,32)),this.prngB=new e(tokenData.hash.substr(34,32));for(let e=0;e<1e6;e+=2)this.prngA(),this.prngB()}random_dec(){return this.useA=!this.useA,this.useA?this.prngA():this.prngB()}random_num(e,t){return e+(t-e)*this.random_dec()}random_int(e,t){return Math.floor(this.random_num(e,t+1))}random_bool(e){return this.random_dec()<e}random_choice(e){return e[this.random_int(0,e.length-1)]}}function createColors(e){let t=[];append(t,[1,3,38,1,31,38,166,138,55,242,209,109,242,235,141]),append(t,[4,41,64,0,92,83,159,193,49,219,242,39,255,252,102]),append(t,[31,38,35,59,64,57,255,133,0,255,179,0,255,230,67]),append(t,[15,15,15,35,35,35,107,9,47,255,41,58,255,125,74]),append(t,[45,7,77,75,39,122,0,148,134,35,235,178,183,255,227]),append(t,[117,10,10,255,74,11,79,180,139,167,233,177,212,255,185]),append(t,[142,2,45,242,21,143,148,7,242,4,107,242,4,156,216]),append(t,[12,49,94,7,101,219,255,192,18,255,239,3,255,255,102]),append(t,[242,232,101,242,177,99,242,142,106,242,106,94,225,253,247]),append(t,[23,42,46,22,63,69,217,103,37,242,150,80,247,206,105]),append(t,[25,25,25,55,55,55,100,100,100,200,255,100,235,255,150]),append(t,[36,39,41,68,69,55,65,185,220,124,204,217,244,247,217]),append(t,[11,11,11,40,40,40,210,210,210,240,240,240,255,255,255]),append(t,[205,205,205,255,255,255,0,0,0,15,15,15,235,235,235]),append(t,[89,1,1,165,9,51,242,55,105,0,0,0,242,75,136]),cs=[],csTrans=[],csIrri=[];let r=t[e];for(let e=0;e<5;e++){let t=3*e,s=r[t+0],i=r[t+1],a=r[t+2],n=color(s,i,a),o=color(s,i,a,60);append(cs,n),append(csTrans,o)}for(let e=0;e<5;e++)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(e){let t;if(e<.25){let r=map(e,0,.25,0,1);t=lerpColor(cs[0],cs[1],r)}else if(e<.5){let r=map(e,.25,.5,0,1);t=lerpColor(cs[1],cs[2],r)}else if(e<.75){let r=map(e,.5,.75,0,1);t=lerpColor(cs[2],cs[3],r)}else{let r=map(e,.75,1,0,1);t=lerpColor(cs[3],cs[4],r)}return t}function getIrriColor(e){let t;if(e<.2){let r=map(e,0,.2,0,1);t=lerpColor(csIrri[0],csIrri[1],r)}else if(e<.4){let r=map(e,.2,.4,0,1);t=lerpColor(csIrri[1],csIrri[2],r)}else if(e<.6){let r=map(e,.4,.6,0,1);t=lerpColor(csIrri[2],csIrri[3],r)}else if(e<.8){let r=map(e,.6,.8,0,1);t=lerpColor(csIrri[3],csIrri[4],r)}else{let r=map(e,.8,1,0,1);t=lerpColor(csIrri[4],csIrri[0],r)}return t}function drawDragLine(e,t,r,s,i,a,n,o){i.stroke(a),i.strokeWeight(n),i.line(e,t,r,s)}function drawStatic(e,t,r,s,i){for(let a=0;a<i;a++){let i=R.random_num(0,750*sqrt(r)),a=R.random_num(-PI,PI),n=sin(a),o=e+cos(a)*i,h=t+n*i;s.circle(o,h,STROKESCALE)}}function drawSplatter(e,t,r,s,i){for(let a=0;a<i;a++){let i=R.random_num(0,130*sqrt(r)),a=R.random_num(-PI,PI),n=sin(a),o=e+cos(a)*i,h=t+n*i,l=1*pow(.9*R.random_dec(),3)+.05;s.circle(o,h,l)}}function drawStreakedStatic(e,t,r,s,i){for(let a=0;a<i;a++){let i=R.random_num(0,750*sqrt(r)),a=R.random_num(-PI,PI),n=sin(a),o=e+cos(a)*i,h=t+n*i*.25;s.circle(o,h,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(e,t){if(e.length>1)for(let r=0;r<e.length;r+=2){let s=e[r],i=e[r+1],a=R.random_int(0,3),n=paperBg;1==a?n=paperMg:2==a?n=paperFg:3==a&&(n=paperTg),n.stroke(t),n.strokeWeight(2),n.fill(cs[0]),n.line(s.x,s.y,i.x,i.y),n.circle(s.x,s.y,4),n.circle(i.x,i.y,4)}}class BlurryBg{constructor(){}drawMain(e){e.noStroke();let t=1.375*MYSIZE,r=MYHALF,s=MYHALF-55;for(let i=0;i<200;i++){let a=map(i,0,129,0,1,!0),n=lerpColor(cs[0],cs[1],a);e.fill(n),e.circle(r,s,t),s-=.002*(t*=.995)}}drawAnarchic(e,t){e.noStroke();let r=MYHALF;for(let s=0;s<10;s++){let s=R.random_num(100,650)*t;R.random_bool(.6)?e.fill(cs[1]):(e.fill(cs[3]),s*=1.5);let i=R.random_num(MYHALF-350,MYHALF+260);e.circle(r,i,s)}}drawSpiritual(e){let t=MYSIZE*R.random_num(.45,.8),r=MYHALF,s=MYHALF-150;e.noStroke(),e.fill(cs[2]),e.circle(r,s,t)}drawConcentric(e){let t=e,r=.95*MYSIZE,s=MYHALF,i=MYHALF-300;for(let e=0;e<7;e++){let a=map(e,0,7,.1,.9);(t=0==e?paperBg:1==e?paperBg:2==e?paperMg:3==e?paperMg:paperFg).noStroke(),t.fill(getColor(a)),t.circle(s,i,r),r-=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 e=0;e<this.numDark;e++){let e=R.random_num(-400,400),t=R.random_num(-200,150),r=R.random_num(100,500),s=createVector(e,t,r);append(this.darks,s)}for(let e=0;e<this.numLight;e++){let e=R.random_num(-420,420),t=R.random_num(-200,150);e*=map(t,-300,250,1,.5);let r=R.random_num(170,330),s=createVector(e,t,r);append(this.lights,s)}}drawDarks(e,t){let r=cs[0];e.fill(color(red(r),green(r),blue(r),4)),e.noStroke();for(let r=0;r<this.numDark;r++){let s=this.darks[r],i=s.x*t,a=s.y*t,n=s.z*t;e.circle(MYHALF+i,MYHALF+a,n),e.circle(MYHALF-i,MYHALF+a,n),s.z*=.975}}drawLights(e,t){let r=cs[1];e.fill(color(red(r),green(r),blue(r),4)),e.noStroke();for(let r=0;r<this.numLight;r++){let s=this.lights[r],i=s.x*t,a=s.y*t,n=s.z*t;e.circle(MYHALF+i,MYHALF+a,n),e.circle(MYHALF-i,MYHALF+a,n),s.z*=.985}}}class Force{constructor(e,t,r,s,i,a){this.id=e,this.pos=t.copy(),this.origPos=t.copy(),this.force=2*r,this.rotForce=2*s,this.isEmitter=i,this.isBoundary=a,this.radius=5,this.age=0,this.isEmitter&&(this.cd=color(255,255,0),this.radius=15)}updateForce(e,t,r){this.force=e,this.rotForce=t,this.isEmitter=r}update(){this.age+=1}draw(e){if(!this.isBoundary&&this.radius>6){let t=SCENESCALE,r=map(this.pos.x,-t,t,0,MYSIZE),s=map(this.pos.y,-t,t,0,MYSIZE),i=min(abs(this.pos.x),this.radius);e.noStroke();for(let t=0;t<5;t++)e.fill(cs[t]),e.circle(r,s,i),i*=.8}}drawToPaper(e){if(e.fill(color(0,0,0,25)),e.noStroke(),!this.isBoundary){let t=SCENESCALE,r=map(1.08*this.pos.x,-t,t,0,MYSIZE),s=map(1.08*this.pos.y,-t,t,0,MYSIZE),i=15*this.radius;for(let t=0;t<25;t++)e.circle(r,s,i),i*=.95}}}class Particle{constructor(e){this.context=Math.min(int(map(frameMarkPer,0,1,0,6)),5),this.x=e.x,this.y=e.y,this.px=e.x,this.py=e.y;let t=R.random_num(-PI,PI);if(this.context>=2&&1==BASIS_ID){let e=map(t,-PI,PI,0,1);e=int(e*BASIS_OCTAVES)/float(BASIS_OCTAVES),t=e=map(e,0,1,-PI,PI)}this.speed=R.random_num(1,2.1),this.vx=Math.cos(t)*this.speed,this.vy=Math.sin(t)*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(e){this.px=this.x,this.py=this.y,this.ftd=0,this.std=0;for(let t=0;t<e.length;t++){let r=e[t],s=this.x-r.pos.x,i=this.y-r.pos.y,a=createVector(s,i),n=a.mag(),o=n*n,h=1/o;a=a.normalize();let l=createVector(a.y,-a.x);l=p5.Vector.mult(l,h*r.rotForce*this.mass),a=p5.Vector.mult(a,h*r.force*this.mass),this.ax+=a.x+l.x,this.ay+=a.y+l.y,o<.5&&!r.isEmitter&&(this.dead=!0,r.radius+=.025),r.isEmitter&&(this.ftd+=n,this.std+=sin(10*n))}this.ay+=map(myFrameCount,0,75,GRAVITY,.01,!0),this.vx+=this.ax,this.vy+=this.ay;let t=createVector(this.vx,this.vy),r=t.copy().normalize();this.speed=t.mag(),this.speed>MAXSPEED?(t=p5.Vector.mult(r,MAXSPEED),this.speed=MAXSPEED):this.speed<MINSPEED&&(t=p5.Vector.mult(r,MINSPEED),this.speed=MINSPEED),this.vx=t.x,this.vy=t.y,this.dp=p5.Vector.dot(r,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)}}