Zen Flow 001
Policy: e40ca7...940b
Owner:
Metadata:
{ "name": "Zen Flow 001", "seed": 15156, "files": [ { "src": [ "data:text/html;utf8,<html><head><body style='margin:0;overflow:h", "idden'><canvas id='tc' tabindex='1'><a id='link'></a><script>con", "st Q=s=>eval('(v,a,b,c,d)=>'+s),CHAR=e=>String.fromCharCode(e),F", "or=Q('{for(v=v;v<a;v++)b(v,v/a)}'),FoE=Q('For(0,v.length,(i,t)=>", "a(v[i],i,t))'),cR=Q('`rgba(${v},${a},${b},${c})`'),cH=Q('`hsla($", "{v},${a}%25 ,${b}%25 ,${c})`'),cM=Q('cR(v,v,v,a)'),cHx=e=>'rgb('", "+((e=parseInt(e,16))>>16&255)+','+(e>>8&255)+','+(255&e)+')';let", " P=(v,a,b,c)=>{for(b=b.split(':'),c=0;c<b.length;c+=2)eval(`C${b", "[c]}=${v}=>ctx.${b[c+1]}${a}`)},t='(...a)';P(t,t,'TC:clip:RT:rec", "t:GT:getTransform:DI:drawImage:FT:fillText:EL:ellipse:BP:beginPa", "th:CP:closePath:MT:moveTo:LT:lineTo:BC:bezierCurveTo:ST:stroke:V", "S:save:VR:restore:TR:setTransform:XT:translate:XS:scale:XR:rotat", "e:FR:fillRect:RE:rect:FL:fill'),P('a','=a','SBr:shadowBlur:LW:li", "neWidth:TA:textAlign:TB:textBaseline:SC:shadowColor:SS:strokeSty", "le:GC:globalCompositeOperation:FS:fillStyle');const DEF=(e,t)=>{", "e=e??CANV,t=t??_R,CTR(t,0,0,t,0,0),CFS(e),CSS(e),CTA('center'),C", "SB(0),MUL()},CSB=e=>CSBr(e*_R),DCE=e=>document.createElement(e),", "CCX=e=>ctx=e||CTX,FNT=e=>ctx.font=e+'px Arial',TXT=(e,t,...r)=>{", "CFS(e),FNT(t),CFT(...r)},ELI=(e,...t)=>{CFS(e),CBP(),CEL(...t),C", "FL()},ADD=e=>CGC('screen'),MUL=e=>CGC('source-over'),CWH=(e,t,r)", "=>{e.width=t,e.height=r||t},BG=e=>RECT(e,0,0,_W,_H),RECT=(e,...t", ")=>{CBP(),CFS(e),CFR(...t),CFL()},AA=(e,t)=>e.imageSmoothingEnab", "led=e.mozImageSmoothingEnabled=e.webkitImageSmoothingEnabled=t;f", "unction v2(e,t){var r=this,a=(e,t)=>(r.x=e||0,r.y=t||0,r);a(e,t)", ",Object.assign(r,{set:a,circ(e){return a(sin(e),-cos(e))},perp(e", "){return a(r.y,-r.x)},len(e){return sqrt(r.x*r.x+r.y*r.y)},dot(e", "){return r.x*e.x+r.y*e.y},norm(e){return r.div(r.len())},rad(e){", "return atan2(r.x,-r.y)},add(e){return a(r.x+e.x,r.y+e.y)},sub(e)", "{return a(r.x-e.x,r.y-e.y)},mv(e){return a(r.x*e.x,r.y*e.y)},inc", "(e){return a(r.x+e,r.y+e)},mul(e){return a(r.x*e,r.y*e)},div(e){", "return a(r.x/e,r.y/e)},cpy(e){return V2(r.x,r.y)}})}V2=Q('new v2", "(v,a)'),FoE(Object.getOwnPropertyNames(Math),(i=>eval(`${i}=Math", ".${i}`)));const Lerp=Q('(1-v)*a+v*b'),Wrap=Q('v<a?b-(a-v)%25 (b-", "a):a+(v-a)%25 (b-a)'),Mapf=Q('b-a==0?c:c+(((v-a)/(b-a))*(d-c))')", ",Clamp=Q('v<a?a:min(b,v)'),Ease=e=>-(cos(PI*e)-1)/2,TAU=2*PI;cla", "ss RNG{constructor(e){var t=this,r=4294967295,a=123456789+e&r,n=", "987654321-e&r,C=65535;t.r=e=>(((n=36969*(n&C)+(n>>>16)&r)<<16)+(", "(a=18e3*(a&C)+(a>>>16)&r)&C)>>>0)/(r+1),t.f=(e,r)=>e+t.r()*(r-e)", ",t.i=(e,r)=>floor(t.f(e,r)),t.c=e=>t.r()<e,t.item=e=>e[t.i(0,e.l", "ength)]}}CANV=cM(220,1),WALL=cHx('f57411'),SHDW=cHx('0f0a06'),FP", "S=60;const SEED=15156,TAG='PG-03-001',PX=1e3,HX=PX/2,uS=(e,t,r,a", ",n)=>{var C=(e,t)=>r=>{var a,n=e[0];for(a=1;a<e.length;a++)n+=si", "n(r*e[a][1])*e[a][0];return t?floor(n):n};(e=>{V2(),V2();let t=[", "];For(0,3,((e,r)=>t.push(V2().circ(r*TAU).mul(200))))})();let l=", "V2();var o,c,i,s,u,v,T=(u=(s=e=>{var t=[];for(i=0;i<e.length;i++", ")t.push('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123", "4567890'.indexOf(e[i])-31);return t})('EEBBBCABAAABBCCDEGLNKJJKK", "KLLLKLKKJJHCBEEEEEFEEEFFFFKSPIrpmoqxQVXXTLKJJIIHGGFFDDCCCCCDDFFG", "HIIIIHHGGEFEFFGGIHIHHHGGFGFGIN'),v=s('ldwPPSUWYYYYXWTT07UCvwtrpn", "nlmlmnoqsua7RUWXZZZZYXUSPTnhnDIJKJMEEBytspljjlnszGNSX1232ZWRLEuo", "jhikpxHSZ431SIxokhjovHSZ31VLm'),(e,t,r,a)=>{for(i=0;i<u.length;i", "++)a(e,t,e+(o=u[i]*r),t+(c=v[i]*r)),e+=o,t+=c});let S=()=>{CSB(1", "0),CSC(CANV),CSS('lightgrey'),CBP(),T(463,445,.15,((e,t,r,a)=>{C", "LT(r,a)})),CST()},m=(e=>{var t=C,r=t(e.h,1),a=t(e.s,1),n=t(e.v,1", "),l=t(e.a,0);return(e,t)=>cH(Wrap(r(e),0,360),a(e),n(e),l(e)*t)}", ")({h:[230,[30,.6],[10,4]],s:[60,[20,2],[10,5]],v:[50,[20,2],[10,", "5]],a:[.6]}),h=(e,t)=>m(e,t),X=V2();CANV='black',WALL='white',SH", "DW='grey',RECT(CANV,0,0,PX,PX),CXT(HX,HX);let d=[],E=[],F=new cl", "ass{constructor(){var e,t,r,a=this,n=[],C=[],l=V2(),o=V2(),c=V2(", "),i=V2();a.eff=(...e)=>n.push([...e]),a.meff=(...e)=>C.push(e),V", "2();var s=(e,t,r,a)=>a.set(t.x,t.y).sub(r).mul(e).add(r);a.get=(", "a,u)=>{for(l.set(),e=0;e<C.length;e++){var v=(t=C[e])[0],T=t[1],", "S=t[2];c.set(a,u).sub(v);var m=S/(2*c.len());i.set(T.x,T.y).perp", "();var h=c.norm().dot(i),X=h>0?1:-1;s(1-abs(h),T,c.norm().perp()", ".mul(X),o),l.add(o.norm().mul(m))}for(e=0;e<n.length;e++)c.set(a", "-(t=n[e])[0],u-t[1]),r=t[4]/c.len(),c.norm(),i.set(c.x,c.y).perp", "(),l.add(c.mul(t[3]).add(i.mul(t[2])).mul(r));return l}}},p=(P=d", ",g=E,e=>{For(0,e,(e=>{P.length&&g.push(P.shift())}))});var P,g;l", "et f=e.item([0,1]);For(0,60,((e,t)=>{let r=t*TAU*2,a=600*t;F.mef", "f(V2().circ(r).mul(a),V2().circ(r+PI*f),1)})),For(0,5e3,((e,t)=>", "{d.push([V2().circ(t*TAU*10).mul(630*t),V2().circ(t*TAU),V2(1,1)", "])})),FoE(d,((e,t)=>{!(t%25 55)&&e[2].mul(3)}));let x=((e,t,r,a,", "n=0)=>()=>{let C=e.length;if(!C)return 1;n++,t(n);for(let t=C-1;", "t>=0;t--)a(e[t])&&e.splice(t,1);r(n)})(E,(e=>{CBP(),CSB(0);let t", "=.011*e;CSB(15),CSC(h(t,.15)),CFS(h(t,1))}),(e=>{CFL(),CSB(0)}),", "((...e)=>t=>{for(let r=0;r<e.length;r++)if(e[r](...t))return 1})", "(((e,t,r)=>(e.l=(e.l??0)+1,e.t=1-e.l/200,e.l>200)),(A=F,(e,t,r)=", ">(t.mul(.6).add(l.set().add(A.get(e.x,e.y)).mul(.4)),0)),((e,t,r", ")=>{e.add(l.set(t.x,t.y).norm().mul(1))}),((e,t,r)=>{let a=.8*((", "l=e.t)>.7?Mapf(l,.7,1,1,0):l>.3?Mapf(l,.3,.7,1.5,1):Mapf(l,0,.3,", "0,1.5)),n=e.x,C=e.y;var l;for(let e=0;e<6;e++)X.circ(e/6*TAU).mu", "l(r.x*a),(e?CLT:CMT)(X.x+n,X.y+C);return CCP(),0})));var A;let H", "=1;return S(),e=>{if(CXT(HX,HX),p(8),ADD(),For(0,1,x),MUL(),H=ma", "x(E.length,d.length),n(),0==H)return CXT(500,500),S(),1}};functi", "on I(){cnv=document.getElementById('tc'),ctx=CTX=cnv.getContext(", "'2d');const e=(e,r,a,n,C,l)=>{var o,c,i,s=V2(e,r);return t.push(", "(e=>{c&&l(C)})),(t,C)=>{o=V2(_X,_Y).mul(-1).add(s),c=o.len()<1.7", "*a,i=c?2:5,t&&(ELI(c||C?'white':'grey',e,r,a+i,a+i,0,0,TAU),CTA(", "'center'),CFS('black'),FNT(a-3),CFT(n,e,r+6))}};var t=[],r=[],a=", "0,n=[1,2,4,8,16],C=0,l=e=>{a=e,_R=n[e],art=c(_R),cer=i(min(_R,4)", ")},o={Piece:'1',Name:'Zen Flow 001',Description:'Tranquil and me", "ditative, this art collection of mesmerizing|flowfields mimics n", "atural patterns with soothing colors,|providing a therapeutic at", "mosphere'.split('|'),Properties:'P3, W4, Mag Spiral, Center, Wid", "e, Etheric, Hexagon, Tight, Natural',Medium:'Fully On-Chain Bloc", "kGen.Art Canvas',Artist:'Charles Machin - @CM_GenArt',Seed:SEED}", ",c=e=>{C=0;var t,r=DCE('canvas'),a=r.getContext('2d'),n=cM(150,1", "),l=()=>{DEF(),TXT(n,1==e?10:8,TAG,967,993)};return CWH(r,e*PX),", "CCX(a),AA(r,1),DEF(),t=uS(new RNG(SEED),a,r,e,l),l(),()=>(CCX(a)", ",DEF(),C||(C=t())&&l(),CCX(),r)},i=e=>{var t=DCE('canvas');let r", ",a;var n,C;for(var[n,l]of(CWH(t,PX*e),CCX(t.getContext('2d')),DE", "F(null,e),RECT(cH(0,2,80,.6),2,2,PX-4,PX-4),CBP(),CRT(4,4,PX-8,P", "X-8),CTC(),RECT(cH(0,2,80,1),0,0,PX,PX),CSC('black'),CSBr(30*e),", "CBP(),CRE(0,0,PX,PX),CSS(cHx('dbccb8')),CLW(102),CST(),CBP(),CRE", "(0,0,PX,PX),CSS(cHx('9d8c78')),CLW(92),CST(),CSBr(6*e),CSS(CANV)", ",CLW(30),CST(),DEF(null,e),TXT(cM(0,.1),24,'BLOCKGEN.ART',HX,40)", ",TXT(cM(0,.6),13,TAG,HX,970),r=HX,a=290,Object.entries(o)))a+=34", ",TXT(cM(0,.8),14,n,r,a),a+=24,C=cM(0,.5),Array.isArray(l)?FoE(l,", "(e=>{TXT(C,20,e,r,a),a+=22})):TXT(C,20,l,r,a);return DEF(),CCX()", ",e=>t},s=()=>{setTimeout((e=>{window.requestAnimationFrame(s);va", "r t=0,n=PX;CCX(),v(.97,WALL),CSC(SHDW),CSBr(55),RECT(CANV,0,0,n,", "n),CSB(0),CVS(),_P&&(CXT(PX,0),CXS(-1,1)),CDI(art(),0,0,n,n),CVR", "(),_P&&CDI(cer(),0,0,n,n),FoE(r,(e=>{e(_P,a==t),t++}))}),1e3/FPS", ")},v=(e,t)=>{var r=window,a=r.innerWidth,n=r.innerHeight,C=a!=_W", "||n!=_H,l=min(a,n)*e,o=l/PX,c=min(2,max(devicePixelRatio??1,1));", "C&&(cnv.width=_W=a*c,cnv.height=_H=n*c),CTR(1,0,0,1,0,0),BG(t),C", "XT((a-l)/2,(n-l)/2),CXS(o,o)};AA(ctx,1),(()=>{l(0);var a,C,c=n.l", "ength,i='touch',v='mouse',T=e=>{e.preventDefault();var t=e.chang", "edTouches[0];return e.clientX=t.pageX,e.clientY=t.pageY,e},S=e=>", "{var t=cnv.getBoundingClientRect(),r=CGT().invertSelf();C=e.clie", "ntX-t.left,y=e.clientY-t.top,_X=C*r.a+y*r.c+r.e,_Y=C*r.b+y*r.d+r", ".f};for(p=e=>{_M=1,S(e),(e=>{e.preventDefault(),e.stopPropagatio", "n()})(e),_P=_I(_X,_Y)},u=e=>{_P&&FoE(t,(e=>e())),_M=_P=0,S(e)},F", "oE([[i+'start',e=>{p(T(e))}],[i+'move',e=>{S(T(e))}],[i+'end',e=", ">{u(T(e))}],[v+'down',p],[v+'move',S],[v+'up',u]],(e=>cnv.addEve", "ntListener(...e))),a=0;a<c;a++)r.push(e(130,C=HX-80*c/2+80*(a+.5", "),22,n[a]+'k',a,l));r.push(e(130,800,25,CHAR(8595),0,(e=>{return", "(t=DCE('a')).download=o.Name,t.href=art().toDataURL(),void t.cli", "ck();var t}))),s()})()}_X=_Y=0,_R=1,_P=0,_M=0,_W=0,_H=0,_I=e=>1,", "I();</script></canvas></body></html>" ], "name": "Zen Flow 001", "mediaType": "text/html" } ], "image": "ipfs://QmYaHvQPDGu4cxZmZFXS7HzMptKN4MQ11wPPfEbePNcst6", "piece": 1, "artist": "Charles Machin - @CM_GenArt", "medium": "Fully On-Chain BlockGen.Art Canvas", "vendor": "BlockGen.art", "authNFT": "asset13as3a4t954ru7vhzy6pldse3qu8e7la2xgsr7u", "mediaType": "image/png", "properties": { "Draw": "Hexagon", "Form": "Mag Spiral", "Rows": "Wide", "Waves": "W4", "Agents": "Center", "Filter": "Etheric", "Palette": "P3", "Coupling": "Tight", "Crytaline": "Natural" }, "description": [ "Tranquil and meditative, this art collection of mesmerizing", "flowfields mimics natural patterns with soothing colors,", "providing a therapeutic atmosphere" ] }