"SHADE.MTH: created by Peer van de Sanden; 01-01-1999" F(x):= G(x):= space:=0.2 "internal functions" MAXIMUM_F(a,b,space):=FLOOR(MAX(VECTOR(F(x),x,a,b,space))+2) MAXIMUM_G(a,b,space):=FLOOR(MAX(VECTOR(G(x),x,a,b,space))+2) MINIMUM_F(a,b,space):=FLOOR(MIN(VECTOR(F(x),x,a,b,space))) MINIMUM_G(a,b,space):=FLOOR(MIN(VECTOR(G(x),x,a,b,space))) SHADE_INTERNAL(a,b,i_):==IF(x>a,IF(b>x,MAX(MIN(x-i_,F(x)),G(x)))) SHADE_UNDER_INTERNAL(a,b,i_):==IF(x>a,IF(b>x,MAX(MIN(x-i_,G(x)),F(x)))) SHADE_BACK_INTERNAL(a,b,i_):==IF(x>a,IF(b>x,MAX(MIN(i_-x,F(x)),G(x)))) SHADE_BACK_UNDER_INTERNAL(a,b,i_):==IF(x>a,IF(b>x,MAX(MIN(i_-x,G(x)),F(x)))) "userfunctions" SHADE(a,b,space):=VECTOR(SHADE_INTERNAL(a,b,i_),i_,a-MAXIMUM_F(a,b,space),b-M~ INIMUM_G(a,b,space),space) SHADE_UNDER(a,b,space):=VECTOR(SHADE_UNDER_INTERNAL(a,b,i_),i_,a-MAXIMUM_G(a,~ b,space),b-MINIMUM_F(a,b,space),space) SHADE_BACK(a,b,space):=VECTOR(SHADE_BACK_INTERNAL(a,b,i_),i_,a+MINIMUM_G(a,b,~ space),b+MAXIMUM_F(a,b,space),space) SHADE_BACK_UNDER(a,b,space):=VECTOR(SHADE_BACK_UNDER_INTERNAL(a,b,i_),i_,a+MI~ NIMUM_F(a,b,space),b+MAXIMUM_G(a,b,space),space)