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));
No comments:
Post a Comment