0x0d99…b238

All memos sent from and to 0x0d99…b238.

class Random { constructor() { this.useA = false; let sfc32 = function (uint128Hex) { let a = parseInt(uint128Hex.substr(0, 8), 16); let b = parseInt(uint128Hex.substr(8, 8), 16); let c = parseInt(uint128Hex.substr(16, 8), 16); let d = parseInt(uint128Hex.substr(24, 8), 16); return function () { a |= 0; b |= 0; c |= 0; d |= 0; let t = (((a + b) | 0) + d) | 0; d = (d + 1) | 0; a = b ^ (b >>> 9); b = (c + (c << 3)) | 0; c = (c << 21) | (c >>> 11); c = (c + t) | 0; return (t >>> 0) / 4294967296; }; }; this.prngA = new sfc32(tokenData.hash.substr(2, 32)); this.prngB = new sfc32(tokenData.hash.substr(34, 32)); for (let i = 0; i < 1e6; i += 2) { this.prngA(); this.prngB(); } } random_dec() { this.useA = !this.useA; return this.useA ? this.prngA() : this.prngB(); } random_num(a, b) { return a + (b - a) * this.random_dec(); } random_int(a, b) { return Math.floor(this.random_num(a, b + 1)); } random_bool(p) { return this.random_dec() < p; } random_choice(list) { return list[this.random_int(0, list.length - 1)]; } } let _R; function setup(){_R=new Random,createCanvas(windowWidth,windowHeight,WEBGL),setAttributes("alpha",!1),frameRate(30),stOb()}let _miW,_maW,_rgRc,_ct,_rtZO,_rtZ,_vi,_bC;function stOb(){noiseSeed(_R.random_num(0,1e4)),rectMode(CENTER),_ct=0,_miW=1.6*min(width,height),_maW=max(width,height),_rtZO=1;let mp=Math.PI/12;_rtZ=_R.random_choice([0,1*mp,2*mp,3*mp,4*mp,5*mp]),strokeWeight((_vi=new vi).sw);let t=arSh(arSh(_R.random_choice([["008282","00c4c4","fa9191","df4848","252c80","313dc4","dfdc4b"],["0085b6","ec7287","fff687","00afb0","003151","ffffff","f4cac9","32936f"],["231f20","bb4430","7ebdc2","f3dfa2","efe6dd","f0a202"]]))),i=[];for(let e=0;e<5;e++)i[e]=color("#"+t[e]);_bC=color("#"+t[5]);let o=-_miW/2*.7,s=-_miW/2*.7;_rgRc=new RgRc(o,-o,s,-s,i)}function arSh(t){for(let i=t.length-1;i>0;i--){let e=_R.random_int(0,i),o=t[i],s=t[e];t[i]=s,t[e]=o}return t}class RgRc{constructor(t,i,e,o,s){this.miRgX=t,this.maRgX=i,this.miRgY=e,this.maRgY=o,this.cX=(i+t)/2,this.cY=(o+e)/2,this.w=this.maRgX-this.miRgX,this.h=this.maRgY-this.miRgY,this.arCo=s,this.stPo()}stPo(){let t=[3,4,5,6,7,8,23];t=arSh(arSh(t));let i=_R.random_choice([1,2,2]);for(;t.length>i;)t.pop();if(2==i&&t[0]>t[1]){let e=t[0];t[0]=t[1],t[1]=e}let o=_R.random_choice(["rd","st","tl"]),s=_R.random_bool(.5),n=_R.random_bool(.5),r=_R.random_choice(["st","nT","nB"]),h=_R.random_choice([.5,.6,.7,.8,.9,1,1]),a;a=!1==s&&!1==n||_R.random_bool(.5);let l;l=!(.25>_R.random_dec());let $=_R.random_choice(["tp","bt","rd"]),m;_R.random_dec()<3/4?m="cy":(m="el",1==i?23==t[0]&&.9>_R.random_dec()&&(m="cy"):(23==t[0]||23==t[1])&&.9>_R.random_dec()&&(m="cy"));let c=this.w/1.75,g=_R.random_choice([!0,!0,!0,!0,!1]),y=min(this.w,this.h),f=y*_R.random_choice([.2,.4,.6,.8,1,1.2,1.4,1.6,1.8]),d=y/25*_R.random_choice([4,5,6,7,8]),u=min(this.w,this.h)/3,_=_miW/50;this.arPo=[];let R=[],w=[];for(let C=0;C<400;C++){let x;x="rd"==o?_R.random_num(0,2*PI):"st"==o?_R.random_choice([0,PI]):_R.random_choice([0,PI])+PI/4;let P;if(C>0){let O=!0,b=0;for(;!0==O&&(b++,!1==(O=chIn(R,P=createVector(_R.random_num(this.miRgX,this.maRgX),_R.random_num(this.miRgY,this.maRgY))))&&(O=chInC(w,P)),!(b>500)););if(b>500)break}else P=createVector(_R.random_num(this.miRgX,this.maRgX),_R.random_num(this.miRgY,this.maRgY));let k=_R.random_choice(t),S,T;if(23!=k)[S,T]=grPo(k,R,w,P,x,u,_,this.miRgX,this.maRgX,this.miRgY,this.maRgY,!0);else{let p=caDR(R,P,u),v=caDC(w,P,u),Z=caDRL(this.miRgX,this.maRgX,this.miRgY,this.maRgY,P);T=min([p,v,Z])}let z,X,A,Y;k==t[0]?(z=this.arCo[0],X=this.arCo[1],A=this.arCo[2],Y=this.arCo[3]):(z=this.arCo[2],X=this.arCo[3],A=this.arCo[0],Y=this.arCo[1]),this.bsCo=this.arCo[4];let W=_R.random_int(4,16),D=_R.random_choice([T*_R.random_num(.05,.4),_R.random_num(_miW/200,_miW/20)])/1.5;this.arPo.push(new AraPo(P,T,x,W,k,D,z,X,A,Y,this.bsCo,s,n,r,h,a,l,g,5,$,m,c)),23!=k?R.push(S):w.push([P,T])}this.stOuPo(t,this.bsCo,o,m,f,d)}stOuPo(t,i,e,o,s,n){let r=max(this.w,this.h),h=.75*r,a=.75*r,l=-(.15*r),$=min(this.w,this.h),m=_R.random_num(1,4),c=.01*$,g=_miW/50;this.arOuPo=[];let y=[],f=[];for(let d=0;d<800;d++){let u;u="rd"==e?_R.random_num(0,2*PI):"st"==e?_R.random_choice([0,PI]):_R.random_choice([0,PI])+PI/4;let _,R;if(d>0){let w=!0,C=0;for(;!0==w&&(C++,[_,R]=this.stOuPoCe(h,c),!1==(w=chIn(y,_))&&(w=chInC(f,_)),!(C>500)););if(C>500)break}else[_,R]=this.stOuPoCe(h,c);let x=_R.random_choice(t),P=n*(1-R/h),O,b;if(23!=x)[O,b]=grPo(x,y,f,_,u,P,g,this.miRgX-c,this.maRgX+c,this.miRgY-c,this.maRgY+c,!1);else{let k=caDR(y,_,P),S=caDC(f,_,P),T=caDRL(this.miRgX-c,this.maRgX+c,this.miRgY-c,this.maRgY+c,_);b=min([k,S,T])}let p=_R.random_dec()**m*(a-l)+l,v=_R.random_dec()**2*.1*_R.random_choice([-1,1])*s,Z=color(red(i)+_R.random_num(-50,50),green(i)+_R.random_num(-50,50),blue(i)+_R.random_num(-50,50));Z.setAlpha(_R.random_num(32,64)),this.arOuPo.push([_,p,b,u,x,v,Z,o]),23!=x?y.push(O):f.push([_,b])}}stOuPoCe(t,i){let e=_R.random_dec()**.5*t;for(;e<=min(this.w/2,this.h/2)+i;)e=_R.random_dec()**.5*t;let o=_R.random_num(0,2*PI),s=e*cos(o),n=e*sin(o);for(;s<=this.w/2+i&&s>=-this.w/2-i&&n<=this.h/2+i&&n>=-this.h/2-i;){for(e=_R.random_dec()**.5*t;e<=min(this.w/2,this.h/2)+i;)e=_R.random_dec()**.5*t;s=e*cos(o=_R.random_num(0,2*PI)),n=e*sin(o)}return[createVector(s,n),e]}draw(){for(let t=0;t<this.arPo.length;t++)this.arPo[t].draw();this.drRc(),this.drOuPo()}drRc(){push(),noFill(),stroke(this.bsCo);for(let t=0;t<10;t++)translate(this.cX,this.cY,-(2e-4*_miW)*t),rect(0,0,this.w);pop()}drOuPo(){for(let t=0;t<this.arOuPo.length;t++)push(),noStroke(),fill(this.arOuPo[t][6]),translate(this.arOuPo[t][0].x,this.arOuPo[t][0].y,this.arOuPo[t][1]),drCy(this.arOuPo[t][4],this.arOuPo[t][2],this.arOuPo[t][5],this.arOuPo[t][3],1),pop()}}function caDRL(t,i,e,o,s){return min([abs(t-s.x),abs(i-s.x),abs(e-s.y),abs(o-s.y)])}function caDC(t,i,e){let o=e;for(let s=0;s<t.length;s++){let n=p5.Vector.dist(t[s][0],i)-t[s][1];o>n&&(o=n)}return o}function caDR(t,i,e){let o=e,s;for(let n=0;n<t.length;n++){let r=t[n].length;for(let h=0;h<r;h++){let a=(h+1)%r;o>(s=caDPtSg(i,t[n][h],t[n][a]))&&(o=s)}}return o}function caDPtSg(t,i,e){let o=e.x-i.x,s=e.y-i.y,n=o**2+s**2,r=-(o*(i.x-t.x)+s*(i.y-t.y))/n,h;return r<=0?((i.x-t.x)**2+(i.y-t.y)**2)**.5:r>=1?((e.x-t.x)**2+(e.y-t.y)**2)**.5:((o*(i.y-t.y)-s*(i.x-t.x))**2/n)**.5}function grPo(t,i,e,o,s,n,r,h,a,l,$,m){let c=0,g=-1,y=2*PI/t,f,d=!0,u=!0,_=!0,R=[],w=[];for(let C=0;C<i.length;C++)w[C]=!0;let x=[],P=[];for(let O=0;O<e.length;O++)P[O]=!0;let b=r;for(let k=0;k<6;k++){for(;g==(-1)**(k+1);){for(c+=b;c<=0;)c-=b,b*=.5,c+=b;f=[];for(let S=0;S<t;S++)f[S]=p5.Vector.add(o,createVector(0,-c).rotate(y*(S-.5)).rotate(s));let T=!1;if(!0==d){for(let p=0;p<i.length;p++){if(!1!=w[p]){R[p]=!1;for(let v=0;v<f.length;v++)if(!0==chInSi(i[p],f[v])){R[p]=!0,T=!0;break}if(!0!=R[p]){for(let Z=0;Z<i[p].length;Z++)if(!0==chInSi(f,i[p][Z])){R[p]=!0,T=!0;break}if(!0!=R[p]&&(3==i[p].length&&t<=5||i[p].length<=5&&3==t))for(let z=0;z<i[p].length;z++){let X=(z+1)%i[p].length;for(let A=0;A<f.length;A++){let Y=(A+1)%f.length;if(!0==chCrSg(i[p][z],i[p][X],f[A],f[Y])){R[p]=!0,T=!0;break}}}}}}if(!0==T&&k%2==0)for(let W=0;W<i.length;W++)!0==w[W]&&(w[W]=R[W])}let D=!1;if(!0==u){for(let I=0;I<e.length;I++){if(!1!=P[I]){x[I]=!1;for(let H=0;H<f.length;H++){let N=(H+1)%f.length;caDPtSg(e[I][0],f[H],f[N])<=e[I][1]&&(x[I]=!0,D=!0)}!0!=x[I]&&!0==chInSi(f,e[I][0])&&(x[I]=!0,D=!0)}}if(!0==D&&k%2==0)for(let V=0;V<e.length;V++)!0==P[V]&&(P[V]=x[V])}let B=!1;if(!0==_)for(let F=0;F<f.length;F++)!0==m?(f[F].x<h||f[F].x>a||f[F].y<l||f[F].y>$)&&(B=!0):f[F].x>h&&f[F].x<a&&f[F].y>l&&f[F].y<$&&(B=!0);!0==T||!0==D||!0==B?(g=1,k%2==0&&(!0==d&&!1==T&&(d=!1),!0==u&&!1==D&&(u=!1),!0==_&&!1==B&&(_=!1))):g=-1}b*=-.5}if(c>n){c=n,f=[];for(let L=0;L<t;L++)f[L]=p5.Vector.add(o,createVector(0,-c).rotate(y*(L-.5)).rotate(s))}return[f,c]}function chIn(t,i){let e=!1;for(let o=0;o<t.length&&!0!=(e=chInSi(t[o],i));o++);return e}function chInSi(t,i){let e=!1;for(let o=0;o<t.length;o++){let s=(o+1)%t.length,n=p5.Vector.sub(t[s],t[o]),r=p5.Vector.sub(i,t[o]);if(p5.Vector.cross(n,r).z<0)break;o==t.length-1&&(e=!0)}return e}function chInC(t,i){let e=!1;for(let o=0;o<t.length;o++)if(p5.Vector.dist(t[o][0],i)<=t[o][1]){e=!0;break}return e}function chCrSg(t,i,e,o){let s=(t.x-i.x)*(e.y-t.y)-(t.y-i.y)*(e.x-t.x),n=(t.x-i.x)*(o.y-t.y)-(t.y-i.y)*(o.x-t.x);return!(s*n>0)&&!((s=(e.x-o.x)*(t.y-e.y)-(e.y-o.y)*(t.x-e.x))*(n=(e.x-o.x)*(i.y-e.y)-(e.y-o.y)*(i.x-e.x))>0)}class AraPo{constructor(t,i,e,o,s,n,r,h,a,l,$,m,c,g,y,f,d,u,_,R,w,C){this.araXy=t,this.r=i,this.rtAn=e,this.nuCr=s,this.deX=13,this.hi=n,this.lCo1=r,this.lCo2=h,this.fCo1=a,this.fCo2=l,this.bsCo=$,this.nuSk=o,this.mvH=m,this.mvR=c,this.itRTp=g,this.itThRa=y,this.mvThRa=f,!0==d?this.itH=_R.random_num(0,.2)*_miW:this.itH=0,this.isF=u,this.nuArNo=_,this.sp=w,"tp"==R?(this.bsH=0,this.snH=1):"bt"==R?(this.bsH=C,this.snH=-1):"rd"==R&&(this.bsH=_R.random_choice([0,C]),0==this.bsH?this.snH=1:this.snH=-1),this.stSk(),this.arArNoPa=[];for(let x=0;x<this.nuArNo;x++){let P=_R.random_num(.00125,.0075)*_R.random_choice([-1,1]),O=_R.random_num(.2,1)*_R.random_choice([-1,1]),b=_R.random_num(2,5),k=_R.random_num(0,2*PI),S=_R.random_num(0,1e4);this.arArNoPa[x]=[P,O,b,k,S]}}stSk(){this.arR=[];let t=2*this.r/(2*this.nuSk-1);for(let i=0;i<this.nuSk;i++)"st"==this.itRTp?this.arR[i]=this.r:"nT"==this.itRTp?this.arR[i]=this.r-t*i:this.arR[i]=this.r-t*(this.nuSk-1-i)}draw(){!0==this.isF?fill(this.fCo1):noFill();let t=this.bsH;for(let i=0;i<this.nuSk;i++){let e=[];for(let o=0;o<this.nuArNo;o++)e[o]=f_02(this.arArNoPa[o][0],this.arArNoPa[o][1],this.arArNoPa[o][2],this.arArNoPa[o][3],this.arArNoPa[o][4],i/(this.nuSk-1));stroke(lerpColor(this.lCo1,this.lCo2,e[0])),!0==this.isF&&fill(lerpColor(this.fCo1,this.fCo2,e[1]));let s;s=!0==this.mvR?(.9*e[2]+.1)*this.arR[i]:((1-e[2]**6)*.9+.1)*this.arR[i];let n;n=!0==this.mvH?(.9*e[3]+.1)*this.hi*this.snH:this.hi*this.snH;let r;r=!0==this.mvThRa?.9*e[4]+.1:this.itThRa,push(),translate(this.araXy.x,this.araXy.y,t+this.itH*this.snH),"cy"==this.sp?drCy(this.nuCr,s,n*r,this.rtAn,this.deX):"el"==this.sp&&drEl(this.nuCr,s,n*r,this.rtAn),pop(),t+=n}push(),noFill(),stroke(this.bsCo),translate(this.araXy.x,this.araXy.y,-_miW/100),drCy(this.nuCr,this.r,_miW/100,this.rtAn,2),pop()}}function f_02(t,i,e,o,s,n){return .5*sin(o+2*PI*e*noise(t*_ct+n*i+s))+.5}function drCy(t,i,e,o,s){push(),rotateX(PI/2),rotateY(-2*PI/t/2),translate(0,e/2),rotateY(o),cylinder(i,e,t+1,s,!0,!0),pop()}function drEl(t,i,e,o){push(),rotateX(PI/2),rotateY(-2*PI/t/2),translate(0,e/4,0),rotateY(o),ellipsoid(i,e/2,i,t,24),pop()}class vi{constructor(){this.rat=15,this.tlPr=1,this.tlCt=this.rat,this.arTl=[0,PI/6,PI/2],this.arYSf=[_miW/5,_miW/6,0],this.tl_i=_R.random_choice([0,1,1,2]),this.ySf=this.arYSf[this.tl_i],this.tl=this.arTl[this.tl_i],this.zoPr=1,this.zoCt=this.rat,this.arZo=[.75,1,1.67],this.zo_i=_R.random_choice([0,1,1,2]),this.zo=this.arZo[this.zo_i];let t=_miW/2e3*pixelDensity();this.arSw=[t*this.arZo[0],t*this.arZo[1],t*this.arZo[2]],this.sw=this.arSw[this.zo_i]}stTlTg(t){this.tlPv=this.tl,this.tl_i=(t+this.arTl.length)%this.arTl.length,this.tlTg=this.arTl[this.tl_i],this.ySfPv=this.ySf,this.ySfTg=this.arYSf[this.tl_i],this.tlCt=0,this.tlPr=0}doTl(){this.tlCt++,this.tlPr=this.tlCt/this.rat;let t=esIO(this.rat,this.tlCt,2);this.tl=lerp(this.tlPv,this.tlTg,t),this.ySf=lerp(this.ySfPv,this.ySfTg,t)}stZoTg(t){this.zoPv=this.zo,this.swPv=this.sw,this.zo_i=t%this.arZo.length,this.zoTg=this.arZo[this.zo_i],this.swTg=this.arSw[this.zo_i],this.zoCt=0,this.zoPr=0}doZo(){this.zoCt++,this.zoPr=this.zoCt/this.rat;let t=esIO(this.rat,this.zoCt,2);this.zo=lerp(this.zoPv,this.zoTg,t),this.sw=lerp(this.swPv,this.swTg,t),strokeWeight(this.sw)}}function esI(t,i,e){return(i/t)**e}function esO(t,i,e){return 1-esI(t,t-i,e)}function esIO(t,i,e){let o,s;return i<t/2?s=esI(t,o=2*i,e)/2:(o=2*i-t,s=esO(t,o,e)/2+.5),s}function draw(){_vi.zoPr<1&&_vi.doZo(),scale(_vi.zo),background(_bC),ortho(-width/2,width/2,-height/2,height/2,-(2*_maW),2*_maW),translate(0,_vi.ySf,0),rotateX(PI/2-_vi.tl),rotateZ(PI/4+_rtZ),_rgRc.draw(),_ct++,_rtZ+=.003*_rtZO,_vi.tlPr<1&&_vi.doTl()}function keyPressed(){keyCode==LEFT_ARROW?-1==_rtZO||1==_rtZO?_rtZO=0:0==_rtZO&&(_rtZO=1):keyCode==RIGHT_ARROW?_rtZO=-1==_rtZO||1==_rtZO?0:-1:keyCode==UP_ARROW?_vi.stTlTg(_vi.tl_i+1):keyCode==DOWN_ARROW?_vi.stTlTg(_vi.tl_i-1):" "==key&&_vi.stZoTg(_vi.zo_i+1)}function mouseReleased(){let t=_R.random_int(0,_vi.arTl.length-1),i=_R.random_int(0,_vi.arZo.length-1);for(;t==_vi.tl_i&&i==_vi.zo_i;)t=_R.random_int(0,_vi.arTl.length-1),i=_R.random_int(0,_vi.arZo.length-1);_vi.stTlTg(t),_vi.stZoTg(i)}
Through this work, I want the viewer to feel the different beauty that can be discovered by looking at one world from different perspectives. This work offers a small, single world like a box garden composed of various three-dimensional objects. The objects that make up this world do not collide with each other. When viewing this world from three different angles, the viewer discovers a completely different visual interest. Initially, the viewpoint is from an angle, then from a horizontal viewpoint directly beside it, and finally from a viewpoint directly above it. These three-dimensional objects appear to be arranged in a disarray, but when viewed from directly above, they are found to be laid out on a flat surface without overlapping each other. The orderliness of the flat surface, the clutter with different heights, sizes, and colors, and the pulsating motion of each object express a pleasing balance between cosmos and chaos. The first step was to figure out how to pack polygons on a plane. After laying out any number of triangles, squares, pentagons, etc., according to the algorithm, I stood them up in the three-dimensional direction and added a wavy movement in response to the noise. Careful attention was paid to the balance between the tidy state and the disjointed appearance. A viewer can see a unique world, which can be viewed from three different angles (by pushing up arrow key or down arrow key) and experience the beauty of a world from different angles. Additionally, you can zoom in to see more details or zoom out to see the whole picture (by pushing space key). *How to interact: - Up or down arrow key: Change angle of viewpoint - Right or left arrow key: Change direction of rotation or stop - Space key: Zoom in or out - Click or tap: Randomly change angle and zoom I believe I was able to express the beauty and interest of the combination of simple shapes. The WEBGL-based system enables light 3D movement, the packing algorithm shows the beauty of alignment, and the line-based three-dimensional objects give the texture of fine line drawings.