for(i=[-0:1/160:1])translate([i,0])square([1/160, (icosw( (i))) ]);
function icosw(i)=-cos(i*360)/2+0.5+i;
for(i=[-0:1/160:1])translate([i,0])square([1/160, (icosw( (i))) ]);
function icosw(i)=-cos(i*360)/2+0.5+i;
for(i=[-0:1/160:1])translate([i , min(0,cosw(i))])
square([1/160, abs(cosw( (i))) ]);
function cosw(i)=cos(i*360)/2 -0.5+i;
for(i=[-0:1/160:1])translate([i, min(0,isinw(i))])
square([1/160, abs(isinw( (i))) ]);
function isinw(i)=gauss(i)-sin(i*360)/2;
function gauss(x) = x + (x - smooth(x));
function smooth (a) =let (b = clamp(a))(b * b * (3 - 2 * b));
function clamp(a, b = 0, c = 1) = min(max(a, b), c);
for(i=[-0:1/160:1])translate([i,0])square([1/160, (sinw( (i))) ]);
function sinw(i)=sin(i*360)/2+smooth(i);
function gauss(x) = x + (x - smooth(x));
function smooth (a) =let (b = clamp(a))(b * b * (3 - 2 * b));
function clamp(a, b = 0, c = 1) = min(max(a, b), c);
for(i=[-0:1/160:1])translate([i,0])square([1/160, (gauss( (i))) ]);
function gauss(x) = x + (x - smooth(x));
function smooth (a) =let (b = clamp(a))(b * b * (3 - 2 * b));
function clamp(a, b = 0, c = 1) = min(max(a, b), c)
for(i=[-0:1/160:1])translate([i,0])
square([1/160, (ramp( (i),1/3,2/3,0.1)) ]);
function ramp(v,bi1=1/3,bi2=2/3,start=1/3, end=2/3) =
let(b1=min(bi1,bi2),b2=max(bi1,bi2))
v<=b1?start:v<=b2?lerp(start,end,(v-b1)/(b2-b1)) :end;
function lerp(start, end, bias) = (end * bias + start * (1 - bias));
for(i=[-0:1/160:1])translate([i,0])square([1/160, (arc1( (i)))]);
function arc1 (x,n=0) = let(a= n>0? arc1(x,(n-1)):x) clamp(sqrt(1-(1-a)*(1-a)));
function clamp(a, b = 0, c = 1) = min(max(a, b), c);
for(i=[-0:1/160:1])translate([i,0])square([1/160, (smooth( (i),2/3,0.1))]);
function smooth (a) =let (b = clamp(a))(b * b * (3 - 2 * b));
function clamp(a, b = 0, c = 1) = min(max(a, b), c)
for(i=[-0:1/160:1])translate([i,0])square([1/160, (mstep( i,5))]);
function mstep(v,steps=3) = (floor(v*steps)/steps );
for(i=[-0:1/160:1])translate([i,0])square([1/160, (step( (i),2/3,0.1))]);
function step(v,bias,start=0, end=1) = v>=bias?end:start;