graphane
Version:
Data Visualization Microframework
1 lines • 1.06 kB
JavaScript
/* graphane - 1.0.1 [module:plugin.shapes.extra] */ var _=n=>Math.round(n*1e4)/1e4;function d(n){return(n-90)*Math.PI/180}function u(n,o,t,c){return{x:_(n+t*Math.cos(c)),y:_(o+t*Math.sin(c))}}function f(n,o,t,c){let l=d(c);return u(n,o,t,l)}function m(n,o,t,c,l=0){let i=360/c,r="";for(let a=0;a<c;a++){let e=f(n,o,t,i*a+l);r+=`${a?"L":"M"}${e.x},${e.y}`}return r+="Z",r}function q(n,o,t,c,l,i=0){let r=360/l,a="";for(let e=0;e<l;e++){let h=f(n,o,t,r*e+i);a+=`${e?"L":"M"}${h.x},${h.y}`;let $=f(n,o,c,r*e+i+r/2);a+=`L${$.x},${$.y}`}return a+="Z",a}function v(n,o,t){return`M${n-t},${o}a${t},${t},0,1,0,${t*2},0a${t},${t},0,1,0,-${t*2},0`}function w(n,o,t,c,l=0,i=360){let r=(i-l)/10,a=(c-t)/r,e=d(l),$=(d(i)-e)/r,{x:y,y:M}=f(n,o,t,l),x=`M${y},${M}`;for(let s=1;s<=r;s++){let p=t+s*a,g=e+s*$,{x:T,y:L}=u(n,o,p,g),P=t+(s-.33)*a,Z=e+(s-.33)*$,{x:C,y:I}=u(n,o,P,Z),R=t+(s-.66)*a,b=e+(s-.66)*$,{x:j,y:k}=u(n,o,R,b);x+=`C${C},${I},${j},${k},${T},${L}`}return x}function z(n){n.extendPath({regularPolygon:m,star:q,circle:v,spiral:w})}var A=z;export{A as default};