Wikipedia / Tupper's self-referential formula
Wikipedia / Tupper's self-referential formula
Tupper's self-referential formula is a formula that visually represents itself when graphed at a specific location in the (x, y) plane.
History
The formula was defined by Jeff Tupper and appears as an example in his 2001 SIGGRAPH paper on reliable two-dimensional computer graphing algorithms. This paper discusses methods related to the GrafEq formula-graphing program developed by Tupper.
Formula
The formula is an inequality defined as:
denotes the floor function, and mod is the modulo operation.
Plots
equal the following 543-digit integer:
960939379918958884971672962127852754715004339660129306651505519271702802395266424689642842174350718121267153782770623355993237280874144307891325963941337723487857735749823926629715517173716995165232890538221612403238855866184013235585136048828693337902491454229288667081096184496091705183454067827731551705405381627380967602565625016981482083418783163849115590225610003652351370343874461848378737238198224849863465033159410054974700593138339226497249461751545728366702369745461014655997933798537483143786841806593422227898388722980000748404719
Graphing which satisfy the formula, results in the following plot:
, the formula tiles a vertical swath of the plane with a pattern that contains all possible 17-pixel-tall bitmaps. One horizontal slice of that infinite bitmap depicts the drawing formula since other slices depict all other possible formulae that might fit in a 17-pixel-tall bitmap. Tupper has created extended versions of his original formula that rule out all but one slice.
is a simple monochrome bitmap image is divided by 17, the least significant bit; the 17 least significant bits encode the rightmost column of pixels; the next 17 least significant bits encode the 2nd-rightmost column, and so on.
.
See also
References
Footnotes
Notes
Sources
Weisstein, Eric W. "Tupper's Self-Referential Formula." From MathWorld—A Wolfram Web Resource.
"Self-Answering Problems." Math. Horizons 13, No. 4, 19, April 2006
External links
Tupper's self-referential formula in Rosetta Code, implementation in several programming languages
TupperPlot, an implementation in JavaScript
Tupper self referential formula, an implementation in Python
The Library of Babel function, a detailed explanation of the workings of Tupper's self-referential formula
Tupper's Formula Tools, an implementation in JavaScript