Narumium

Blog

多角形

n 角形を作る。

precision highp float;
varying vec2 uv;
uniform sampler2D t;
uniform vec2 resolution;
#define PI acos(-1.)
#define NGON 5.
float polygon(vec2 p,float n,vec2 sv){
float n1=2.*PI/n;//
float theta=acos(dot(normalize(p),normalize(sv)));
theta=mod(theta,n1);
float n2=(n-2.)*PI/n;//n1
float a=theta+n2/2.;
float d=length(sv)*(cos(theta)-cos(a)*sin(theta)/sin(a));
return 1.-smoothstep(d,d+.01,length(p));
}
float polygonLine(vec2 p,float n,vec2 sv){
return polygon(p,n,sv)-polygon(p,n,length(sv)*.9*normalize(sv));
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX