V10/vol2/Faces/How/stretch2
window 0 0 680 680
def zclamp(n) {
return (n>0)?(n<Z)?n:Z:0;
}
def init() {
for (y = 0; y < Y; y++)
for (x = 0; x < X; x++)
new[x,y]=y*Z/(Y-1)
}
def refresh() {
for (y = 0; y < Y; y++)
for (x = 0; x < X; x++)
new[x,y]=old[x,y]
}
def mapper(t0, t1, f0, f1, h) {
int dy, blah
if (abs(t0-t1)>1)
{ mapper((t0+t1)/2, t1, (f0+f1)/2, f1, h)
mapper(t0, (t0+t1)/2, f0, (f0+f1)/2, h)
} else
new[t0, h] = ($M1[t0,h])?$P2[f0, h]:old[t0,h]
}
def Mapp() {
int start1, start2, end1, end2, dy;
init()
for (y = 0; y < Y; y++)
{ x = 10;
while ($M1[x,y] < 128 && x < X)
x++;
start1 = x;
x = X-10;
while ($M1[x,y] < 128 && x > 0)
x--;
end1 = x;
x = 10;
while ($M2[x,y] < 128 && x < X)
x++;
start2 = x;
x = X-10
while ($M2[x,y] < 128 && x > 0)
x--;
end2 = x;
if (start1 < end1 && start2 < end2)
mapper(start1, end1, start2, end2, y)
else
{ for (x = 0; x < X; x++)
new[x,y] = old[x,y]
}
}
}
x { init(); }
x new=old
x { Mapp(); }
x new=old