Tuppers Formel Konverter – Von Text zum Parameter k

Vorsicht, es wird nerdig!
Heute geht es um eine Formel – besser gesagt eine Ungleichung – die aus Zahlen kleine Bilder erstellt: Jeff Tuppers „self-referential formula“.

{\displaystyle {\frac {1}{2}}<\left\lfloor {\bmod {\left({\left\lfloor {\frac {y}{17}}\right\rfloor 2^{-17\lfloor x\rfloor -{\bmod {(}}{\lfloor y\rfloor },{17})}},2\right)}}\right\rfloor }

Ich versuche es mal in einen Satz zu fassen:
Die Ungleichung kann zusammen mit einer Zahl k ein monochromatisches Bild mit einer Breite von 106 und einer Höhe von 17 Bildpunkten darstellen.

Beispiel „danis blog“, k: 5968992642323785254138156076817223848688932421273871971603679348340510448914434708262023469972178004478260744417336737717438944746577297678955188830608088682782608694387231540203539772024052393060254256255327947363353650412545200391715976272466733686845935639126328169901790328277391232700778034007371738624

Für jedes Bild gibt es ein k.

Man kann sich auf diese Weise auch die Ungleichung selbst anzeigen lassen, weshalb sie das Attribut „selbstreferenzierend“ im Namen trägt.

Tuppers self referential formula ploted by Tuppers self referential formula.

Laut der deutschen Wikipedia ist es „aus fachlicher Sicht falsch“ von einer Formel zu sprechen, allerdings hält sich der englische Sprachraum anscheinend nicht sehr daran. „Selbstreferentiell“ ist sie auch nicht, da Formeln keine Augen besitzen um Text lesen zu können 🤪

Es scheint also mathematisch nicht ganz sauber zu sein, was meinen Lieblings-Mathe-YoutTube-Kanal Numberphile allerdings nicht davon abgehalten hat ein Video darüber zu machen.

https://www.youtube.com/watch?reload=9&v=_s5RFgd59ao

Nun denn, alles schön und gut, aber wie kann ich meinen eigenen Text darstellen lassen?

https://takitamblog.tk/skrypty/Tupper/ liefert dazu einen kleinen Playground, in dem man interaktiv Pixel anklicken und sich den resultierenden Parameter k ausgeben lassen kann.

Cool 🙂
Aber zu langsam um meiner Freundin nerdige Nachrichten zu schreiben…

Also musste ich selber ran. Der Plan:

  1. Den zu plottenden String einlesen
  2. In ein monochromes, 106 x 17 großes Bild umwandeln
  3. Parameter k ermitteln
  4. k an die URL https://tuppers-formula.ovh/ anhängen und im Browser öffnen
  5. Profit 😊

Das ließt sich jetzt recht einfach, Schritt 3 bedarf allerdings etwas Übung meinerseits, bis die binäre Information (Pixel schwarz oder weiß) richtig umgerechnet wurde.
Ansonsten war es noch interessant zusehen, wie man einen Inputstring „malt“ anstatt ihn als Information direkt zu verwenden.

Falls Jemand selbst damit rumspielen will findet man den Code in meinem Github Repository.

Vielen herzlichen Dank für die Aufmerksamkeit und https://tuppers-formula.ovh/#171765229326681716194351135155046457917554444066713805966458749152596469570792338070086871380868015382696076149454420386733535912134827374843837530444943502702371439857647168268050657439063376652456746468427377771352056024438286321607592484701532066167921439407707153283613529528579863409558546648251552527856020272086136695340155932918550098348250561473321007464552557054517181264704930628678535843311776662016513762046663112429941033412487015600982591437587325355481886691328!

Anhang mit Links

Decimal <-> Binary converter:
String <-> reverse String:
Create a picture with some text in it:
General stuff about Python and PIL for image creation:
Tupper’s function plotting website
Problem with rotation of picture:
Launch a website in browser:
YouTube video of Ben Eater which I discovered – shows to load only pixels of image:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.