Tupperův vzorec

Tupperův sebereferenční vzorec je sebereferenční ( za určitých podmínek ) vzorec objevený Jeffem Tupperem .  Když je zobrazen v rovině, vytváří svůj vlastní obraz.  

Vzorec byl poprvé publikován v roce 2001 ve zprávě Jeffa Tuppera pro SIGGRAPH , věnované jím vyvinutému programu pro kreslení grafů, GrafEq .

Vzorec je nerovnost definovaná následovně

kde označuje celočíselnou část a mod je operátor modulo.

Nechť k je číslo s 543 číslicemi:

960 939 379 918 958 884 971 672 962 127 852 754 754 715 004 339 660 129 306 651 505 519 271 702 885 599 280 623 355 59930 623330 503330 62330 599330 62330, 284, 260, 280, 689 642 842. 280 87 280 87 280 87 280 87 280 87 280 87 280 87 280 87 280 87 280 87 280 280 874 280 87 280 87 2u 337 723 487 857 735 749 823 926 629 715 517 173 716 995 161 612 890 248 855 866 184 013 235 585 048 828 693 337 902 491 454 288 667 081 096 184 496 096 064 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 096 496 496 096 496 096 496 096 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496. 064 496 06LA 551 705 405 381 627 380 967 602 565 625 016 981 482 083 418 783 163 464 463 4630 264 4630 264 46330 4630 264 533046 463 4630. 014 655 997 933 798 537 483 143 786 841 806 593 422 227 898 388 722 980 000 748 404 719.

Pokud zobrazíte graf funkce pro body splňující nerovnost ( x , y ) v rozsahu a , dostanete:

Samotný vzorec má obecné použití pro dekódování bitmap zakódovaných v konstantě k . Vzorec lze použít k reprodukci libovolných obrázků, aniž by na sebe obsahoval jakékoli odkazy .

Konstanta k  je jednoduchý monochromatický rastr , použitý ve vzorci jako binární číslo x 17. Je-li k děleno 17, pak nejméně významný bit je levý dolní roh; všech 17 nejméně významných bitů bude odpovídat levému sloupci pixelů; následujících 17 nejméně významných bitů bude odpovídat druhému sloupci zleva a tak dále.

Chcete-li vytvořit konstantu k z obrázku, musíte:

  1. Prezentujte obrázek jako bitmapu v poli 106 × 17 ;
  2. Nahradit, pohybem zdola nahoru a zleva doprava, vyplněné buňky "1" a prázdné buňky "0";
  3. Převeďte výsledné číslo do desítkové číselné soustavy;
  4. Vynásobte číslo 17;

Stejným způsobem, ale v opačném pořadí, můžete získat obrázek z konstanty k .

Literatura

Odkazy