# TupperGen.frink

``` // This program was part of an April Fool's joke that I posted in April 2011. // see https://futureboy.us/temp/pigraph.html // // This is an implementation of Tupper's "self-referential" formula in Frink. // See: //   http://en.wikipedia.org/wiki/Tupper%27s_self-referential_formula // // This program reads in a (black and white) graphic from an image file // and converts it to a number that can be plotted with Tupper's formula, // appropriately modified for width and height.  Note that the equation I use // below is actually a simplified version of Tupper's formula that just plots // each pixel directly. f = new image["file:copyright.png"] width = f.getWidth[] height = f.getHeight[] println["image is \$width x \$height"] num = 0 for x = width-1 to 0 step -1    for y = 0 to height-1    {       num = num * 2       [r,g,b] = f.getPixel[x,y]       if r < 1/2          num = num + 1    } num = num*height println["num is \$num"] // Now graph the number again just to make sure everything went right. g = new graphics for x=0 to width-1    for y = num to num+height-1    { //      v = floor[(floor[y/height] 2^(-height floor[x] - floor[y] mod height)) mod 2]         v = ((y/height) * 2^(-height x - (y mod height))) mod 2       if v >= 1          g.fillRectCenter[x,-y,1,1]    } g.show[]     ```

This is a program written in the programming language Frink.
For more information, view the Frink Documentation or see More Sample Frink Programs.

Alan Eliasen was born 18115 days, 19 hours, 19 minutes ago.