Wednesday, September 13, 2017

0 - 1 Remapping Functions: Ramp

/* remapping functions */


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