|
|
1.1 ! root 1: barts: ! 2: x new = old[sqrt(x*512),clamp(y+sin(x)/(x+50))] ! 3: ! 4: pjw.1 ! 5: x new=$pjw[x_cart((r = r_polar(x,y)+(sin(r_polar(x, y)))/100), a=a_polar(x,y)), y_cart(r,a)] ! 6: pg.1 ! 7: x new=$td[x_cart((r = r_polar(x,y)), (a=a_polar(x,y)+(sin(a_polar(x, y)))/300)), y_cart(r,a)] ! 8: td.3 ! 9: x new=$td[x_cart((r = r_polar(x,y)+(sin(a_polar(x, y)))/300), (a=a_polar(x,y))), y_cart(r,a)] ! 10: howard.1 ! 11: x new=$howard[x_cart((r = r_polar(x,y)-(sin(a_polar(x, y)))/300), (a=a_polar(x,y))), y_cart(r,a)] ! 12: ftg.1 ! 13: x new=$ftg[x_cart((r = r_polar(x,y)+(sin(a_polar(x, y)))/300), (a=a_polar(x,y)-(sin(r_polar(x, y)))/300)), y_cart(r,a)] ! 14: clowns-nose: ! 15: x new=$Pg[x_cart((r = r_polar(x,y)-(sin(a_polar(x, y)))/300), (a=a_polar(x,y))), y_cart(r,a)] ! 16: ! 17: ken swirl: ! 18: x new=old[xclamp(x_cart(r=r_polar(x,y),a=(a_polar(x,y)+r/3))),yclamp(y_cart(r,a))] ! 19: ! 20: lincoln transformation ! 21: x new=old[x_cart(r=(r_polar(x,y)/8)*8,a=(a_polar(x,y)/8)*8), y_cart(r,a)] ! 22: ! 23: fading ! 24: x new=(x<X/3)?$1:(x>X*2/3)?$2:3*((x-X/3)*$2+(X*2/3-x)*$1)/X ! 25: x new=(y<Y/6)?$1:(y>Y/3)?$2:6*((y-Y/6)*$2+(Y/3-y)*$1)/Y ! 26: ! 27: random split ! 28: x { ! 29: global int r; ! 30: r = X/2 ! 31: for (y = 0; y < Y; y++) ! 32: { r = r+(rand()%3)-1 ! 33: for (x = 0; x < r; x++) ! 34: new[x,y] = $1[x,y]; ! 35: x-- ! 36: for (x++; x < X; x++) ! 37: new[x,y] = $2[x-180,clamp(y-20)] ! 38: } ! 39: } ! 40: ! 41: weird ! 42: x new=($1>$2)?$2:$1 ! 43: x new=($1>100)?$1:$2 ! 44: ! 45: charicature: ! 46: x new=old[x_cart(r=sqrt(256*r_polar(x,y)),a=a_polar(x,y)), y_cart(r,a)] ! 47: ! 48: inverse charicature: ! 49: x new=old[x_cart(r=pow(r_polar(x,y), 2)/256,a=a_polar(x,y)), y_cart(r,a)] ! 50: ! 51: doug's fctns: ! 52: x new=old[xclamp(x+Sin(720*x)/150), yclamp(y+Sin(720*y)/150)] ! 53: x new=old[xclamp(x + Cos(((x-512)*36000)/512)/128), y] ! 54: x new=$1*((512-(x-512)*(x-512)-(y-512)*(y-512))>>14) ! 55: ! 56: random smearing ! 57: x new = old[clamp(x+(rand()&15)),clamp(y+(rand()&15))] ! 58: ! 59: mapping of square onto disc ! 60: x new=old[xclamp(a_polar(x,y)*2), yclamp(r_polar(x,y)*2)] ! 61: ! 62: mapping onto a sphere: ! 63: def bubble(R) { ! 64: int rx, Rx, dx, ex, xy, OX, OY ! 65: int ry, Ry, dy, ey, a, R2 ! 66: /* use R = 200 */ ! 67: OX=X/2 ! 68: OY=Y/2 ! 69: R2 = R*R ! 70: for (y = 0; y < Y; y++) ! 71: { ey = y-OY ! 72: ry = R2 - ey*ey ! 73: Ry = sqrt(ry) ! 74: for (x = 0; x < X; x++) ! 75: { ex = x-OX ! 76: if (abs(ex) <= Ry) ! 77: { rx = R2 - ex*ex ! 78: Rx = sqrt(rx) ! 79: xy = sqrt(rx+ry-R2) ! 80: dx = X-(2*R*atan(ex, xy))/180 ! 81: dy = Y-(2*R*atan(ey, xy))/180 ! 82: } ! 83: else ! 84: { dx = x ! 85: dy = y ! 86: } ! 87: new[x,y] = old[dx, dy] ! 88: } ! 89: } ! 90: } ! 91: ! 92: def oil(h) { ! 93: int v, a, b, mfp ! 94: array histo[256] ! 95: ! 96: for (y = h; y < 512-h; y++) ! 97: { new[0,y] = 0; ! 98: for (x = h; x < 512-h; x++) ! 99: { for (a = v = 0; a < 256; a++) ! 100: histo[a] = 0 ! 101: for (a = y-h; a <= y+h; a++) ! 102: for (b = x-h; b <= x+h; b++) ! 103: { histo[old[b,a]]++ ! 104: } ! 105: for (a = b = 0; a < 256; a++) ! 106: { if (histo[a] > b) ! 107: { b = histo[a] ! 108: mfp = a ! 109: } ! 110: } ! 111: new[x,y] = mfp; ! 112: } ! 113: } ! 114: } ! 115: ! 116: x new=0 ! 117: x new[x, yclamp(y - $clouds[x,y]/4)]=$clouds /* bentley drip */ ! 118: x new=old ! 119: x { ! 120: int r ! 121: array yshift[Y] ! 122: ! 123: for (y = 0; y < Y; y++) ! 124: { if (rand() < 2000) ! 125: r=(rand()&127)-64 ! 126: yshift[y] = r ! 127: } ! 128: ! 129: for (y=0; y<Y; y++) ! 130: { if (rand() < 2000) ! 131: r=(rand()&127)-64 ! 132: for (x=0; x<X; x++) ! 133: new[x,y] = old[clamp(x+r), clamp(y+yshift[x])] ! 134: } ! 135: } ! 136: ! 137: def tilt(an, XL, YL, D) { ! 138: int dx, dy, d, ex, ey ! 139: int sa, ca ! 140: /* try x { tile(60, 612, 800, 2048); } ! 141: sa = sin(-an) ! 142: ca = cos(-an) ! 143: ! 144: for (y = 0; y < Y; y++) ! 145: for (x = 0; x < X; x++) ! 146: { d = ((x-XL)*sa)/ca ! 147: ex = ((x-XL)*D)/(d+D) ! 148: ey = ((y-YL)*D)/(d+D) ! 149: dx = XL + (ex*1024)/ca ! 150: dy = YL + ey ! 151: new[x,y] = old[xclamp(dx),yclamp(dy)] ! 152: } ! 153: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.