Zen Flow 004
Policy: e40ca7...940b
Owner:
Metadata:
{
"name": "Zen Flow 004",
"seed": 69051,
"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=69051,TAG='PG-03-004',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,v,u,T=(v=(s=e=>{var t=[];for(i=0;i<e.length;i++",
")t.push('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123",
"4567890'.indexOf(e[i])-31);return t})('EEBBBCABAAABBCCDEGLNKJJKK",
"KLLLKLKKJJHCBEEEEEFEEEFFFFKSPIrpmoqxQVXXTLKJJIIHGGFFDDCCCCCDDFFG",
"HIIIIHHGGEFEFFGGIHIHHHGGFGFGIN'),u=s('ldwPPSUWYYYYXWTT07UCvwtrpn",
"nlmlmnoqsua7RUWXZZZZYXUSPTnhnDIJKJMEEBytspljjlnszGNSX1232ZWRLEuo",
"jhikpxHSZ431SIxokhjovHSZ31VLm'),(e,t,r,a)=>{for(i=0;i<v.length;i",
"++)a(e,t,e+(o=v[i]*r),t+(c=u[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()},d=(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:[300,[30,.6],[10,4]],s:[60,[20,2],[10,5]],v:[50,[20,2],[10,",
"5]],a:[.6]}),m=(e,t)=>d(e,t),X=V2();CANV='black',WALL='white',SH",
"DW='grey',RECT(CANV,0,0,PX,PX),CXT(HX,HX);let h=[],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,v)=>{for(l.set(),e=0;e<C.length;e++){var u=(t=C[e])[0],T=t[1],",
"S=t[2];c.set(a,v).sub(u);var d=S/(2*c.len());i.set(T.x,T.y).perp",
"();var m=c.norm().dot(i),X=m>0?1:-1;s(1-abs(m),T,c.norm().perp()",
".mul(X),o),l.add(o.norm().mul(d))}for(e=0;e<n.length;e++)c.set(a",
"-(t=n[e])[0],v-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}}},f=(p=h",
",P=E,e=>{For(0,e,(e=>{p.length&&P.push(p.shift())}))});var p,P;l",
"et g=HX,x=HX;var A=e.f(-1,1),H=e.f(-1,1);For(0,30,((t,r)=>{var a",
"=V2().circ(r*TAU*2).mul(500*r).inc(500),n=e.f(.1,2);F.eff(a.x-g,",
"a.y-x,A,H,n),F.eff(a.x-g,a.y-x,A,H,n)}));let y=e.i(5,14);For(0,5",
"e3/y,((e,t)=>{For(0,y,((e,r)=>{h.push([V2().circ(t*TAU).mul(30+5",
"70*r),V2().circ(t*TAU),V2(1,1)])}))})),FoE(h,((e,t)=>{!(t%25 55)",
"&&e[2].mul(3)}));let b=((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(m(t,.15)),C",
"FS(m(t,1))}),(e=>{CFL(),CSB(0)}),((...e)=>t=>{for(let r=0;r<e.le",
"ngth;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)),(R=F,(e,t,r)=>(t.mul(.8).add(l.set().add(R.g",
"et(e.x,e.y)).mul(.2)),0)),((e,t,r)=>{var a,n;e.add(l.circ((a=t.r",
"ad(),n=TAU,0+round((a-0)/(n-0)*9)*(n-0)/9)).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).mul(r.x*a),(e?CLT:CMT)(X.x+n,X.y+C);return CCP(),0})))",
";var R;let B=1;return S(),e=>{if(CXT(HX,HX),f(8),ADD(),For(0,1,b",
"),MUL(),B=max(E.length,h.length),n(),0==B)return CXT(500,500),S(",
"),1}};function 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);re",
"turn 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:'4',Name:'Zen Flow 004',Description:'Tra",
"nquil and meditative, this art collection of mesmerizing|flowfie",
"lds mimics natural patterns with soothing colors,|providing a th",
"erapeutic atmosphere'.split('|'),Properties:'P4, W4, Spiral, Rad",
"ial, Wide, Etheric, Hexagon, Medium, C9',Medium:'Fully On-Chain ",
"BlockGen.Art Canvas',Artist:'Charles Machin - @CM_GenArt',Seed:S",
"EED},c=e=>{C=0;var t,r=DCE('canvas'),a=r.getContext('2d'),n=cM(1",
"50,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(),()=>(CC",
"X(a),DEF(),C||(C=t())&&l(),CCX(),r)},i=e=>{var t=DCE('canvas');l",
"et r,a;var n,C;for(var[n,l]of(CWH(t,PX*e),CCX(t.getContext('2d')",
"),DEF(null,e),RECT(cH(0,2,80,.6),2,2,PX-4,PX-4),CBP(),CRT(4,4,PX",
"-8,PX-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(C",
"ANV),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)?Fo",
"E(l,(e=>{TXT(C,20,e,r,a),a+=22})):TXT(C,20,l,r,a);return DEF(),C",
"CX(),e=>t},s=()=>{setTimeout((e=>{window.requestAnimationFrame(s",
");var 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),CXT((a-l)/2,(n-l)/2),CXS(o,o)};AA(ctx,1),(()=>{l(0);var a,C,c",
"=n.length,i='touch',v='mouse',T=e=>{e.preventDefault();var t=e.c",
"hangedTouches[0];return e.clientX=t.pageX,e.clientY=t.pageY,e},S",
"=e=>{var t=cnv.getBoundingClientRect(),r=CGT().invertSelf();C=e.",
"clientX-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.stopPropag",
"ation()})(e),_P=_I(_X,_Y)},u=e=>{_P&&FoE(t,(e=>e())),_M=_P=0,S(e",
")},FoE([[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.ad",
"dEventListener(...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=>{re",
"turn(t=DCE('a')).download=o.Name,t.href=art().toDataURL(),void t",
".click();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 004",
"mediaType": "text/html"
}
],
"image": "ipfs://QmZoq6aYijGVBwVQAo3rMUEDvrUhME78359rK3r6CDyh74",
"piece": 4,
"artist": "Charles Machin - @CM_GenArt",
"medium": "Fully On-Chain BlockGen.Art Canvas",
"vendor": "BlockGen.art",
"authNFT": "asset13as3a4t954ru7vhzy6pldse3qu8e7la2xgsr7u",
"mediaType": "image/png",
"properties": {
"Draw": "Hexagon",
"Form": "Spiral",
"Rows": "Wide",
"Waves": "W4",
"Agents": "Radial",
"Filter": "Etheric",
"Palette": "P4",
"Coupling": "Medium",
"Crytaline": "C9"
},
"description": [
"Tranquil and meditative, this art collection of mesmerizing",
"flowfields mimics natural patterns with soothing colors,",
"providing a therapeutic atmosphere"
]
}








