EIG052 Pixelwelten

avatar
Thomas Kahle

Ich wurde beauftragt, einen Bauplan für eine Minecraft-Festung mit kreisförmiger Grundfläche anzulegen. Das schickt mich erstmal auf eine Reise in die Geschichte der Pixel, die in Wirklichkeit gar keine kleinen bunten Quadrate sind.

Feedback gerne auf Mastodon @Eigenraum@podcasts.social, an feedback (bei) eigenpod.de oder in die Kommentarspalte auf der Episodenseite.

Automatisch generiertes Transkript (nicht geprüft)
Music.
So, hallo zusammen, willkommen zurück nach einer, ja, etwas längeren Sommerpause,
sind wir hier wieder auf Sendung mit dem Eigenraum und,
naja, Mathematik ist ja für die Ewigkeit, die Sommerpause war jetzt auch etwas
länger, als ich mir das vorgestellt habe, aber so ist es nun mal und im Grenzwert
gegen die Unendlichkeit der Zeit ist das ja alles nichts,
vielleicht hört ihr das ja sowieso erst hier im Jahr 2351 und dann haben die
Abstände zwischen den Folgen ja gar keine Relevanz mehr für euch.
Also willkommen zurück zu eurem prähistorischen Mathe-Podcast aus dem guten alten 21. Jahrhundert.
Und zu dem Zeitpunkt, zu dem ich das hier aufnehme, wurden gerade 100.000 Downloads passiert.
Also 100.000 Downloads von irgendwelchen Folgen dieses kleinen Podcasts und
zwar nur gezählt von der Homepage, wenn ihr das hier schön über den RSS-Feed
hört in eurer Podcast-App, so wie ich das immer empfehle.
Und das freut mich natürlich sehr. Und viele von diesen Downloads sind eben auch von alten Folgen.
Also man kann das zeitlos immer noch nachhören und so ist die Mathematik eben.
Und heute will ich euch mal was berichten von einem Trend vom Anfang des 21.
Jahrhunderts. Da war der ziemlich groß.
Und der Trend ist das Computerspiel Minecraft.
Also damals im 21. Jahrhundert war das ja noch so, dass man diese Spiele,
da gab es ja noch nicht die Gehirnimplantate, sondern man spielte die Spiele,
indem man mit seinen Augen auf einen Bildschirm schaute und mit seinen Händen das Spiel steuerte.
Und damals war es jedenfalls Minecraft ein sehr populäres Spiel.
Und vielleicht muss ich das auch gar nicht so viel dazu erzählen,
weil das ja wahrscheinlich super bekannt ist in der Zukunft.
Also das ist so ein Computerspiel. Es spielt in der 3D-Welt und versucht zu überleben.
Und dazu baut man sich so allerlei Werkzeuge oder ein Haus oder Maschinen,
mit denen man dann Rohstoffe abbaut und daraus stellt man was her.
Also das ist dann das Mining und Crafting, Bergbau und Handarbeit,
die dem Spiel den Namen geben.
Und der Charme an Minecraft ist neben guten Spielmechaniken.
Dass es auch so einen ganz eigenen Grafikstil etabliert hat.
In diesem Grafikstil ist alles irgendwie pixelig. Die Welt besteht im Wesentlichen
aus so 3D-Blöcken und dadurch hat alles so seinen eigenen Look.
Insbesondere ist die Welt auch viel stärker diskretisiert als unsere Welt.
Man geht jetzt irgendwie nicht so darauf, die Grafik immer genauer zu machen
und so ein Abbild der Realität zu schaffen, so eine richtige Simulation,
sondern man begnügt sich damit, dass es so eine gut sichtbarste, kleinste Einheit gibt.
Aber die gut sichtbarste, kleinste Einheit, der Block, der ist in Minecraft ziemlich groß.
Also eine Spielfigur ist zum Beispiel nur so zwei Blöcke groß.
Und die Blöcke sind da zwar ein bisschen dekoriert, aber...
Ja, letztendlich hat man so eine Kantenlänge von einem Meter,
würde ich das jetzt mal sagen, und alles muss sich irgendwie in dieses Raster
von diesen einmal einen Meter Blöcken pressen.
Ja, auch in unserer Familie wird Minecraft gespielt. Ich habe auch selbst schon
mal Minecraft gespielt.
Ich fahre jetzt vielleicht nicht so durch meine ausgefallenen Rüstungsverzierungen
auf, aber ich arbeite mir meine Street Credibility dann eher so durch den Betrieb
des Servers für die halbe Schulklasse.
Und naja, die Operatorrechte, da muss ich mir meinen Respekt verdienen durch
reisenharte Regeln und so weiter.
So, nun trug es sich also zu, dass auf unserem Server eine große Festung gebaut
werden sollte und zwar rund.
Also die Kids kamen auf die Idee, dass sie eine runde Festung haben wollen und
zwar mit runden Grundriss und dann noch großen runden Türmen an den Seiten.
Und irgendwie steht das, dieser Pixelwelt ja so ein bisschen.
Es gibt zumindest ein Spannungsfeld zwischen den Pixeln und so schönen runden Kreisen.
Und daher war erstmal so eine kleine Recherche nötig auf meiner Seite,
wie man eigentlich einen Kreis verpixelt. Und ich empfehle mal für die Übungsaufgaben
zu dieser Folge, also ihr könnt jetzt schon mal Pause drücken und euch schon
mal Karopapier holen mit quadratischen Karos.
Weiß ich in der Lineatur das jetzt ist, weiß ich nicht so genau,
aber ich denke in euer Schreibwarengeschäft des Vertrauens werdet ihr da fündig.
Also ihr braucht Karopapier mit quadratischen Karos.
Und wenn ihr dann die Übung machen wollt, dann könnt ihr einfach die Karos ausmalen.
Oder vielleicht gibt es ja auch irgendwo eine sinnvolle App.
Moment, hatten wir nicht in dieser Game of Life Folge, Eigenraum 32,
da hatten wir mal so eine App.
Ich schaue das mal noch kurz nach. Ach ja, Golly. G-O-L-L-Y.
Ich denke, die müsste auch gehen.
Und wenn ihr in eurem Podcast-Player Kapitelbilder seht, dann könnt ihr jetzt
auch mal so ein bisschen mitgucken, wie sich da die verpixelten Kreise anfühlen und wie die aussehen.
Und außerdem machen wir das natürlich jetzt erstmal in 2D, denn wenn wir so
einen runden Turm in Minecraft bauen wollen,
dann ist er ja ein Zylinder und wenn wir die Kreisfläche gut hinbekommen,
die Grundfläche, dann reicht das ja auch, dann können wir einfach von da aus die Mauer hochbauen.
Ich befürchte natürlich, dass die Kids irgendwann eine Kuppel wollen,
aber dann ziehe ich mich da aus der Affäre mit, naja, dann macht er es halt
einfach nochmal genauso in 3D oder das müssen sie dann selbst rauskriegen.
Also als erstes sollten wir uns vielleicht irgendwie auf so Prinzipien einigen.
Also wenn man jetzt so eine Mauer baut, dann soll die jetzt möglichst keine
Löcher haben, aber sie sollte irgendwie auch dünn sein, sonst braucht man so viel Baumaterialien.
Und deswegen nehme ich jetzt die Annahme, dass die Linie meines Kreises möglichst
dünn sein soll, was ist das Dünnste? Ein Pixel Dicke.
Also wenn es dann so ein bisschen irgendwie beim Kreis um die Kurve geht,
dann muss man sich jetzt noch erstmal überlegen, was das bedeuten soll, ein Pixel Dicke.
Also das Dünnste, wo man nicht durchgucken kann und wenn zwei Pixel so über
die Diagonale so mit Ecke an Ecke aneinanderstoßen, dann kann man da nicht durchgucken
in Minecraft und das würde ich auch akzeptieren.
Also das ist sozusagen dann eine geschlossene Wand, wenn zwei von diesen Pixeln
Ecke an Ecke aneinanderstoßen.
Natürlich bin ich nicht der Erste, der über solche Probleme nachgedacht hat.
Also mit den Pixeln fingen eigentlich schon sehr früh an, lange vor den Computern.
Also zumindest vor der Computergrafik, so wie wir sie heute kennen.
Ab 1911 tauchten in Patenten schon sogenannte Picture Elements auf.
Also wie so verkleinerte Ausschnitte aus Bildern, die man irgendwie weiterverarbeiten wollte.
Und das ging dann ein Weilchen und in den 1960er Jahren tauchte dann die Abkürzung
Pixel für Picture Element auf.
Es gab auch noch eine Konkurrenzabkürzung übrigens, die hieß Pell.
Aber Pell setzte sich nicht durch. Pixel war irgendwie das, was die coolen Leute
benutzt haben. Und deswegen hat sich Pixel durchgesetzt.
Überhaupt waren die 1960er Jahre so eine Art goldenes Jahrzehnt der Pixelgrafik,
wo viel von dem entstanden ist, was ich jetzt erzählen will.
Da haben die Leute schon viel über geometrische Figuren auf Karopapier nachgedacht
oder eben auf den ersten Computerbildschirmen.
Oder eben auch, um das Bild abzuspeichern.
Also auch ein Datenformat für ein Bild, was auf Diskretisierung basiert,
nicht nur in der Darstellung auf dem Bildschirm, einfach in der Verarbeitung
von Bildern, können sich schon Gedanken dazu machen.
Gehen wir vielleicht mal sogar noch einen Schritt zurück und denken erstmal an eine Gerade.
Also wir wollen jetzt eine Gerade auf Karopapier zeichnen, aber eben nicht,
indem wir ein Lineal nehmen und die Gerade einfach zeichnen,
das ist eben die kontinuierliche Art und Weise, da ignorieren wir ja die Karos,
sondern wir wollen nur durch Einfärben von Pixeln, Einfärben von Karos, die Gerade zeichnen.
Es kann natürlich sein, dass man jetzt Glück hat und die Gerade,
die man zeichnen will, die geht genau in eine der Karo-Richtungen,
also vertikal oder horizontal oder vielleicht auch noch diagonal.
Das sind so Spezialfälle, die leicht sind. Also die diagonale Gerade,
da macht man immer so Karo, Alt-Karo, Diagonal oder eben bei den horizontalen
und vertikalen Geraden ist es auch einfach, einfach die Karos hintereinander ausmalen.
Und weil diese Spezialfälle leicht sind, nehmen wir jetzt mal an,
dass wir nicht in einem von diesen Spezialfällen sind und lassen die außen vor.
So, zur weiteren Vereinfachung können wir jetzt unser Blatt auch noch so ein
bisschen drehen und wir stellen uns mal vor, die Gerade geht von unten links nach rechts oben.
Also wenn wir irgendeine andere Gerade zeichnen wollen, können wir unser Blatt
zumindest so drehen, dass das erstmal so der Fall ist, dass sie von links unten
nach rechts oben geht und die Steigung soll dabei weniger als 45 Grad sein.
Also wenn die Steigung mehr als 45 Grad ist, dann müssten wir es nochmal spiegeln.
Also das können wir uns ja auch vorstellen, dass wir so diese Vereinfachtung
machen können, dass wir jetzt erstmal nur Geraden zeichnen wollen,
die von links unten nach rechts oben gehen, aber mit so einer flachen Steigung.
Also die immer mehr nach rechts gehen, als die nach oben gehen.
So, ich hoffe, ihr habt jetzt ein Bild im Kopf oder vor euch.
Und dann kann ich jetzt die Dicke der Linie definieren.
Also in diesem Fall soll die gerade so dünn sein, dass in jeder Spalte eures
Karopapiers genau ein Kästchen angemalt ist.
Wir gehen mehr nach rechts als nach oben und jedes Mal, wenn wir einen Schritt
nach rechts gehen, müssen wir uns in der Spalte für ein Kästchen entscheiden.
Der Algorithmus, der das zeichnet, der ist also ganz natürlich eine Schleife
über die x-Achse, über das nach rechts gehen.
Also er geht Schritt für Schritt nach rechts, zeichnet einen Pixel und nach
dem Weitergehen in der Schleife, nach dem Weiter 1 nach rechts gehen,
muss er sich jetzt entscheiden, ob er den nächsten Pixel eben genau daneben
malt oder höchstens eine Reihe weiter oben.
Es kann immer nur höchstens eine Reihe weiter oben sein, denn wir wollen ja
in jeder Spalte ein Pixel zeichnen,
dürfen keine Lücken lassen und die Steigung ist so, dass wir entweder einen
Schritt nach oben gehen, wenn wir einen Schritt nach rechts gehen oder keinen
Schritt nach oben gehen, wenn wir einen Schritt nach rechts gehen.
Das könnt ihr jetzt super ausprobieren, indem ihr wirklich mal mit Lineal erstmal
eine normale Gerade auf das Karopapier zeichnet.
Eine, die die Anforderungen erfüllt. Und dann könnt ihr die Entscheidung fast
schon so visuell treffen.
Ihr geht immer eine Spalte nach rechts und guckt dann, ist die Gerade jetzt
mehr in dem Kästchen, was neben dem letzten ist oder eins über dem.
Und so könnt ihr quasi eure echte Gerade verpixeln.
Und so funktioniert auch der Algorithmus. Also wenn man das wirklich effizient
implementieren will, dann dreht man sich erst das Koordinatensystem so hin,
dass die Gerade auch wirklich leicht ansteigt nach rechts oben.
Und dann macht man eine Schleife über die Spalten und bei jedem Schritt wird
aus der wirklichen Steigung, die man ja dann irgendwie gegeben hat.
Berechnet, ob man nun eine Reihe nach oben gehen muss oder nicht.
Das ist ein absoluter Standardalgorithmus der Computergrafik,
der sogenannte Brasenham-Algorithmus. Der ist benannt nach Jack Elton Brasenham.
Der hat damals in den 1960er Jahren bei IBM gearbeitet und wohl diesen Algorithmus
zum ersten Mal implementiert. Er hat auch einen PhD und ist in der mathematischen
Genealogie verzeichnet mit seinem Doktortitel von 1964.
Sein Advisor war Jared Lieberman an der Stanford University und seine Math Genealogy Nummer ist 23.962.
Ich möchte sagen, dieser Algorithmus, der kommt mir auch irgendwie von dieser
Osterformel bekannt vor. Ich weiß es jetzt nicht mehr so genau oder was im jüdischen Kalender.
Jedenfalls ist einem das plausibel, wenn man irgendwie bestimmte lineare Zusammenhänge
diskretisieren muss, dann hat man eigentlich immer so einen Vorgang.
Da kann man ja auch diesen Algorithmus anwenden, um ….
Eine diskrete Approximation der Punkte einer Gerade zu bekommen.
Am besten ihr hört es nochmal in Eigenraum 38 nach, ob in der Osterformelfolge
da irgendwas dazu erzählt wurde.
Ich glaube den Namen des Algorithmus habe ich auf keinen Fall erwähnt,
aber die Idee kommt mir so bekannt vor.
So die gleiche Idee kann man jetzt auch für den Kreis verwenden.
Also man geht immer einen Schritt nach rechts und berechnet,
wie viel man nach oben gehen muss.
Mithilfe irgendwie eines Fehlermaßes.
Und wir stellen uns vor, dazu mal, dass wir, stellen wir uns einen Kreis vor,
und wir stellen uns vor, wir stehen ganz unten im Kreis, unten in der Mitte.
Es gibt einen Kreispunkt, der ist unten in der Mitte, genau unter dem Mittelpunkt.
Und wenn man jetzt nach rechts geht, dann bewegt sich der Kreis ja immer erstmal
relativ wenig nach oben.
Also das ist ein Stück Kreislinie, wo wir unsere Annahme, wir gehen immer einen
Schritt nach rechts und berechnen einfach, ob wir einen Schritt nach oben gehen
sollen oder nicht einen Schritt nach oben, wo wir die auf jeden Fall anwenden können.
Die exakten Formeln, mit der diese Entscheidung getroffen wird,
die sind dann ein bisschen anders,
aber letztendlich ist das der gleiche Algorithmus, zumindest am Anfang.
Also kann man hier auch wieder die gleiche Definition von Strichbreite 1 Pixel verwenden.
Und es geht auch erstmal ein Weilchen gut, aber es geht nicht für immer gut.
Denn der Kreis, wenn ich mich auf der Kreislinie bewege, irgendwann,
und das irgendwann ist, wenn ich von diesem Kreis ein Achtel durchschritten
habe von dieser Kreislinie,
dann fängt es schon an, dass ich mehr nach oben gehen muss als nach rechts.
Aber das Stück, was dann kommt, nachdem ich ein Achtel der Kreislinie abgelaufen
bin, das sieht ja wieder genau so aus, wie das, was ich eben gelaufen bin,
nur wie nochmal so gespiegelt rückwärts.
Also eigentlich muss ich nur ein Achtel dieser Kreislinie durchlaufen.
Und dann kann ich dieses ein Achtelstück, was ich nehme, eigentlich kopieren,
noch einmal dran, gespiegelt dran kopieren, dann habe ich einen Viertelkreis
und den Viertelkreis kopieren, dann habe ich einen Halbkreis und einen Halbkreis
nochmal kopieren, dann habe ich den ganzen Kreis.
Also eigentlich, was der Algorithmus jetzt wirklich macht, ist diese Symmetrie
auszunutzen und jedes Mal, wenn ein Schritt berechnet wurde,
gleich acht Punkte zu zeichnen, die gespiegelten Punkte gleich mit.
Und so muss man auch bei diesem Kreisalgorithmus nur einen Teil zeichnen und
in diesem Teil gilt unsere Annahme, dass immer, wenn ich einen Schritt nach
rechts gehe, ich einfach nur entscheiden muss, gehe ich auch einen Schritt nach
oben oder gehe ich jetzt gerade mal nicht einen Schritt nach oben.
Ja, sehr praktisch. Und dazu gibt es auch eine super Animation im Wikipedia-Artikel
Midpoint Circle Algorithm, wie dieser Algorithmus auch genannt wird.
Und die verlinke ich euch natürlich. Und dann könnt ihr euch die mal anschauen,
wie da der Kreis entsteht. So, den habe ich dann mal in Python implementiert
und damit konnte ich den Jugendlichen dann eine Bauanleitung für den Grundrisskreis geben.
In diesem Fall war ein Durchmesser von 100 Blöcken gewollt worden und die Festung
wurde mittlerweile auch gebaut, übrigens auf dem Meer,
wo dann erstmal nochmal aus dem Kreis, nachdem er gebaut wurde,
ganz viel Wasser entfernt wurden musste, was auch ewig gedauert hatte,
weil man da irgendwelche Maschinen bauen musste, die mit Schleim und Honig zu
tun hatten oder ich weiß es nicht mehr.
Ich habe die Maschinen gesehen, ich habe gesehen, dass es funktioniert,
dass man große Mengen Wasser damit entfernen konnte, aber ich habe nicht verstanden,
wie die Kids das gemacht haben.
Aber ich habe verstanden, wie die ihren Kreis gebaut haben und wer weiß,
ob sie das verstanden haben, denn sie haben einfach nur meine Anleitung Pixel
genau umgesetzt, die ich ihnen ausgedruckt hatte mit Matplotlib.
So, die Festung steht, der Boden ist aus Gold und es gibt noch ein Aquarium in der Mitte.
Warum die Welt in Minecraft eigentlich so verpixelt ist, das weiß ich nicht so genau.
Aber ich glaube mich zu erinnern, dass Notch, also Markus Persson,
der Erfinder von Minecraft, irgendwann mal das Spiel Dwarf Fortress als Inspiration benannt hat.
Das habe ich auch mal gespielt. Das ist echt ein verrücktes Spiel.
Das ist so eine Simulation von einer Zwergenbande.
Also die hat schon so ein bisschen so ähnliche Erfahrungen wie die SpielerInnen in Minecraft.
Die buddeln in der Erde und wollen irgendwie überleben und müssen Rohstoffe sammeln und so weiter.
Und das Spiel ist aber eine 3D-Simulation, die nur mit Text dargestellt wird.
Also man hat nur Text auf dem Bildschirm, aber der Text ist kein Text,
kein lesbarer Text, sondern der baut eben Grafik aus diesem Text auf.
Also zum Beispiel ein Add-Zeichen ist dann einer der Zwerge.
Und es kann auch noch so in verschiedenen Farben sein, damit man die ein bisschen unterscheiden kann.
Und Sternchen ist dann eine bestimmte Art von Gestein und Punkt ist eine andere
Art von Gestein und ein kleines Haar ist ein Hund oder also so gibt es dann
so ein Code und ja, nach einer Weile gewöhnt man sich da dran, dann nur so auf so,
Modospace-Fong-gefülltes Raster zu schauen, was dann eine Ebene von dieser Welt
ist und dann kann man mit einer bestimmten Tastenkombination eben noch so hoch
und runter sich durch die.
Höhenebenen schauen und dann muss eben ziemlich viel Prozessierung im Kopf passieren,
um sich dann die 3D-Welt vorzustellen, wie die da ihre Bergwerke bauen.
Aber man hat eben auch diese diskreten, ganzzahligen Koordinaten,
genau wie bei Minecraft.
Also man kann sich dann auch ziemlich genau verabreden, indem man drei ganze Zahlen durchgibt.
Aber das war ja alles in diesem Jahrhundert. Also die Geschichte der Pixel selbst,
die geht noch viel weiter zurück, eben auf die 60er.
Und wenn man das so ein bisschen versucht zu recherchieren, dann kommt man schnell
auf den Mathematiker oder Grafiker oder Informatiker L.V. Ray Smith.
Der ist einer der Erfinder von allerlei Dingen in diesem Bereich.
Der hat zum Beispiel erfunden den Transparenzkanal bei der Bildverarbeitung.
Der Transparenzkanal ist wie ein zusätzlicher Kanal in so einer Bilddatei,
der abspeichert, wo das Bild durchsichtig sein soll.
Das war super wichtig in den Frühzeiten des Internets.
Da hatte man so animierte GIFs. Also wenn man eine E-Mail, seine E-Mail-Adresse
veröffentlichen wollte, dann hatte man so ein animiertes GIF,
wo sich so ein Briefumschlag dreht. In 3D.
Und wenn man richtig cool war, dann war das natürlich so ein transparentes GIF,
dass dahinter der coole Hintergrund der eigenen Webseite noch sichtbar war. Jaja, so war das damals.
Avery Smith ist auch einer der ersten Mitarbeiter von Lucasfilm oder zumindest
der Digitalabteilung von Lucasfilm und Mitbegründer von Pixar,
dem Animationsfilmstudio.
Und da hat er so seine eigene Theorie, was Pixel eigentlich sind.
Was denkt ihr denn, was ein Pixel ist?
Also die verpixelte Welt von Minecraft suggeriert uns ja, und die meisten Leute
antworten das auch, dass ein Pixel einfach so ein kleines Quadrat ist,
das auf dem Computerbildschirm erscheint.
Und wenn der Computer alt ist, ja, dann sieht man die Pixel noch.
Heutzutage sind die Computer gut und die Bildschirme und man sieht die Pixel
nicht mehr, weil die so klein sind, aber eigentlich sind sie immer noch da.
Oder wenn man Retro-Spiele spielt, dann sind die Pixel eben etwas größer und
Mario ist dann irgendwie so aus farbigen Pixeln aufgebaut.
Also es gibt so eine richtige Pixel-Optik und Pixel-Art und so weiter.
Und nur gut, wenn man Minecraft spielt, dann sind es eigentlich Würfel,
dann ist das in 3D, aber das sind dann alles nur Verfeinerungen.
Also es fällt gar nicht so leicht, so die Idee eines Pixels irgendwie so herauszuarbeiten.
Und laut dem eben benannten L.V. Ray Smith ist es nun aber gar nicht so.
Also der Pixel ist nicht ein Quadrat.
Der Pixel ist nicht nur ein quadratischer Fleck, sondern die Geschichte des
Pixels ist eine Geschichte voller Missverständnisse.
Und um jetzt nochmal kurz zu verstehen, was er unter einem Pixel versteht,
da kommen wir ganz schnell auf so eine existenzielle Frage, ob Pixel die Realität
abbilden oder wie sie das tun und ist die Realität überhaupt kontinuierlich
oder ist die Realität vielleicht wirklich verpixelt?
Also wenn man jetzt irgendwie an so Quantentheorien denkt oder so,
da gibt es ja irgendwie so die Plancklänge und irgendwelche diskreten,
kleinsten Einheiten und vielleicht ist die Welt irgendwie, wir sehen das zwar
nicht, weil unsere Auflösung gut genug ist,
aber vielleicht ist die Welt am Ende irgendwo ganz unten drin doch diskret.
Das wäre jetzt vielleicht für einen Physik-Podcast irgendwas, ich weiß es nicht.
Wenn jemand was weiß, dann meldet euch.
Ich würde gerne darüber diskutieren, ob die Welt kontinuierlich analog ist.
Also nehmen wir mal an, die Realität ist analog, überabzählbar.
Und das bedeutet für mich die reellen Zahlen, das Kontinuum.
Das zeichnet irgendwie die meisten Modelle von der Realität aus.
Zumindest ist es so unsere Vorstellung. Zwischen je zwei Punkten gibt es immer noch weitere Punkte.
Das sind die reellen Zahlen, das Kontinuum. Und zwar so viele,
wie es überhaupt Punkte gibt. Das ist eben dieses Verrückte da dran.
Das Kontinuum hat die verrückte Eigenschaft, dass es zwischen den,
sagen wir mal, reellen Zahlen 0 und 1, dazwischen gibt es nochmal genauso viele
reelle Zahlen, wie es überhaupt reelle Zahlen gibt.
Und das zeichnet das Kontinuum aus.
Was es damit jetzt wirklich genau technisch auf sich hat, das hängt natürlich
mit vielen Sachen zu tun.
Also wie wir das in der Mathematik modellieren, Es ist gar nicht so einfach,
hängt damit zusammen, was wir mit genauso vielem meinen und da kann man jetzt
viel über unendlich reden.
Aber für das, was wir jetzt hier gerade besprechen, gibt es eben diese wichtige
Unterscheidung zwischen zwei Arten von Unendlich.
Also eine ist das kontinuierliche Unendlich, was wir eben besprochen haben,
was durch die reellen Zahlen dargestellt wird.
Und das andere ist eben das Computerunendlich, das Abzählbarunendlich.
Das sind die natürlichen Zahlen.
Eins, zwei, drei, vier, geht auch immer weiter. Aber trotzdem gibt es viel weniger
natürliche Zahlen als reelle Zahlen, weil es eben,
naja, wie die Fachleute sagen, eine injektive Abbildung von den natürlichen
Zahlen in die reellen Zahlen gibt, aber keine injektive Abbildung in die andere
Richtung von den reellen Zahlen in die natürlichen Zahlen.
Deswegen sind die natürlichen Zahlen wirklich weniger. Und im Computer,
zumindest im Prinzip, arbeiten wir mit abzählbar unendlichen Mengen.
Die Turing-Maschine hat einen abzählbar unendlich großen Speicher.
Die Felder auf ihrem Band sind diskret, aber eben nur abzählbar viele.
Und die Pixel sind auch diskret. Also die Pixel sind sozusagen die abzählbar
diskrete Welt und die echte Welt ist kontinuierlich reell wie die reellen Zahlen.
So entwickelt man dann irgendwie die Intuition der Pixelwelt als Approximation.
Man muss irgendwie mit Pixeln approximieren und so haben wir es bei unserer
Geraden gemacht und die Approximation kann immer besser werden,
indem man die Auflösung erhöht, aber sie bleibt doch fundamental eine Approximation.
Sie kann nicht das abbilden, das Diskrete, kann nicht das Kontinuierliche abbilden.
Oder doch? Und das ist das Argument, was L.V. Ray Smith in seinem Buch bringt.
Und das hat mit einem mathematischen Theorem zu tun, dem sogenannten Abtasttheorem.
Das Abtas-Theorem hat auch eine interessante Geschichte, so ein Beispiel so
eines Ergebnisses, das in unterschiedlichen Ländern ganz unterschiedliche Namen hat.
Auf Wikipedia ist das sogar heutzutage noch ganz gut dokumentiert.
Wenn man zum Beispiel auf Russisch schaut, dann heißt das das Theorema Kotelnikova,
also das Kotelnikow-Theorem.
Auf Englisch heißt es das Nyquist-Shannon-Theorem und auf Deutsch auch das WKS-Abtast-Theorem
für Whittaker, Kotelnikow und Shannon.
Also Kotelnikow und Shannon kamen jetzt zweimal vor, Nyquist einmal, Whittaker einmal.
Und im Buch von L.V. Ray Smith wird auch die Geschichte erzählt.
Also der Erste, der das veröffentlicht hat, war wohl Kotelnikow.
Aber es war eben die Stalin-Zeit und danach der Kalte Krieg und Shannon hat
es dann auch nochmal veröffentlicht mit seinem eigenen Beweis Mitte der 40er
Jahre. Kutelnikow war irgendwie in den 30ern.
Und mit einem neuen Beweis, den er auch wahrscheinlich selbst gefunden hat.
Wahrscheinlich haben die nicht kommuniziert oder wussten nichts voneinander.
Und auf der deutschen Wikipedia steht dazu, Claude Shannon stützte sich auf
Überlegungen von Harry Nyquist zur Übertragung endlicher Zahlenfolgen mittels
trigonometrischer Polynome.
Und auch auf die Theorie der Kardinalfunktion
von Edmund Taylor Whittaker von 1915 und dessen Sohn John McNarkton Whittaker
von 1928 und zu ähnlichen Resultaten wie Nyquist kam auch Karl Küpfmüller 1928
und erst die Rechercheure der Eduard-Rhein-Stiftung haben die Priorität 1933
von Kotelnikow zweifelsfrei nachgewiesen.
Und dafür bekam er 1999 den Eduard-Rhein-Preis.
Und dann steht da noch, unabhängig von Kotelnikow formulierte Herbert Perabe
das Abtasttheorem 1939.
Okay, also es gilt Stieglers Gesetz der Namensgebung.
Stieglers Gesetz der Namensgebung ist benannt nach Stephen Stiegler,
einem amerikanischen Statistiker, und das Gesetz besagt, dass keine Entdeckung
nach dem benannt wird, der oder die sie entdeckt hat.
Und Stieglers Gesetz wurde von Robert Merton entdeckt.
So, und um zu verstehen, was es jetzt mit den Pixeln zu tun hat,
muss man dieses Abtasttheorem verwenden, sagt L.V. Ray Smith.
Und dazu müssen wir noch einmal kurz an die Fourier-Transformation erinnern.
Und damit es jetzt irgendwie noch verständlich bleibt, gehe ich jetzt nochmal eine Dimension tiefer.
Das ist auch alles für die Computergrafik wichtig, aber am liebsten ist es mir
jetzt nochmal ein Audiosignal zu nehmen, das kann man sich so richtig schön als Kurve vorstellen.
Ein Audiosignal ist ja eine Lautstärke oder ein Schalldruck gemessen über der
Zeit, also so eine Kurve aus Schwingungen und zum Beispiel ein Sinuston,
der schwingt dann immer schön gleichmäßig hoch und runter.
Oder zum Beispiel der Kammerton A, das ist dann eine Schwingung mit 440 Hertz,
das heißt der Schalldruck ändert sich 440 Mal pro Sekunde zwischen hoch und niedrig, hin und her.
Und unser Ohr hört das dann und dann hört es sich an, wie der Ton, den manche als A kennen.
Und die sogenannte Fourier-Transformation, die betrifft nun solche Signale und
bietet eine zweite Darstellung eines solchen Signals.
Die eine Darstellung habe ich ja eben schon erwähnt, das ist so Lautstärke oder
Druck über der Zeit. Und die andere betrifft Frequenzen.
Man kann das gleiche Signal nämlich auch darstellen, indem man es in Frequenzen zerlegt.
Statt für jeden Zeitpunkt die Lautstärke anzugeben, gebe ich für jede Frequenz,
für jede Zahl an Hertz die Stärke dieser Frequenz an.
Und ein mathematischer Satz sagt dann, dass das ineinander umrechenbar ist,
dass es eigentlich die gleiche Information ist, zumindest im Prinzip.
Das hat dann mit Integralen zu tun und so weiter. Das ist eine Sache,
die wirklich der kontinuierlichen Welt entstammt.
Und der Kammerton A, der schwingt in der Zeit unendlich immer hoch und runter,
aber in der Frequenzwelt besteht er aus einer einzigen Frequenz, 440 Hertz.
In der Frequenzwelt ist der Kammerton A nur ein einziger Punkt.
Und da ist doch schon so ein Bruch, also etwas Kontinuierliches,
wie diese ganze Sinusschwingung, wird hier in einem einzigen Punkt,
in einer einzigen Frequenz abgebildet.
Und das Abtasttheorem hebt das aufs nächste Level.
Jetzt können wir das nämlich verstehen und das ist schon wirklich ein bisschen magisch.
Und das Theorem sagt, jedes Signal, welches nur einen beschränkten Frequenzbereich umfasst,
lässt sich durch Abtasten, also Samplen in der Zeit, an nur diskret vielen,
eventuell abzimmbar unendlich vielen, aber nur diskret vielen Stellen perfekt rekonstruieren.
Oder man kann es sogar noch quantitativ genauer machen. Wenn b die maximale Frequenz ist.
Die in einem Signal vorkommt, so genügen Funktionswerte, die mit einer Frequenz
von 2b gesampelt werden, um das Signal perfekt zu rekonstruieren.
Wenn ich also einfach mit einer Frequenz von 2b immer die Funktionswerte von
dem Signal kenne, kenne ich das perfekte Signal. Aus den diskreten Punkten kann
ich das Kontinuierliche rekonstruieren und zwar perfekt.
Es gibt da natürlich noch einige mathematische Voraussetzungen neben dem beschränkten
Frequenzbereich, wie zum Beispiel, dass das Signal integrierbar ist als Funktion,
aber sowas lassen wir jetzt mal weg. Es gibt natürlich auch noch technische Voraussetzungen.
Also wenn ich diese perfekte Rekonstruktion angebe, dann ist das natürlich wieder
etwas Mathematisches, eine ordentliche Summe oder so, die in der wirklichen
Technik nicht so realisiert wird und in der Praxis dann umgangen wird.
Aber letztendlich gibt es hier einen Übergang von kontinuierlich zu diskret.
Und ich meine, so einen beschränkten Frequenzbereich zu haben,
das ist ja gar nicht so eine verrückte Annahme.
Also die Signale, die das menschliche Ohr wahrnehmen können,
die kommen mit Sicherheit aus einem beschränkten Frequenzbereich.
Und der wird immer kleiner, je älter man wird, so traurig wie das ist.
Am Ende bedeutet das Theorem wirklich etwas für das menschliche Gehör.
Wir können damit zum Beispiel eine Samplingrate bestimmen. Also wir wissen ja,
die Signale, die wir irgendwie hören wollen, die sind sowieso nur aus einem
bestimmten Frequenzbereich, weil unser Ohr darüber nicht hinausgeht.
Und dieser Podcast hier wird zum Beispiel mit 48 Kilohertz aufgezeichnet.
Das heißt 48.000 Samples pro Sekunde, alle im gleichen Abstand.
Und da werden eben die Schallwellen meiner Stimme aufgezeichnet und abgetastet,
wie der Name des Abtasttheorems es sagt.
Das ist so ein Standard für Audioproduktion. Es gibt auch noch niedrigere Abtastraten,
zum Beispiel die sogenannte Telefonqualität.
Die hat nur 8.000 Hertz, 8.000 Samples pro Sekunde. Und das hört sich dann eben
nicht so gut an, aber Sprache ist immer noch verständlich.
So, das war jetzt das Audio, die 1D-Variante davon. Und für Bilder und Pixel
funktioniert das am Ende genauso.
Also nur eben hat man dann Farbkanäle für die verschiedenen Bereiche,
die man abtastet. Und vielleicht noch einen Transparenzkanal.
Und man braucht eine 2D-Foyer-Transformation und alles wird etwas komplizierter.
Aber der Pixel nach LV-Ray Smith ist also kein kleines Quadrat,
sondern es ist ein Sample. Es ist ein Punkt, wo man zempeln muss.
Und es gibt auch da ein Abtasttheorem.
Und das Abtasttheorem sagt einem, wie die Pixel zu wählen sind,
in Abhängigkeit von dem Bild, was man darstellen will.
Und wenn man genug davon hat, dann kann man das Bild aus den Samples perfekt
rekonstruieren. Und insbesondere bei der Rekonstruktion ist ein Pixel dann nicht
mehr ein Quadrat, was irgendwie eingefärbt wird oder einen Grauwert hat.
Ein Pixel ist ein Messpunkt und die Messung an diesem Messpunkt oder an diesem
Samplepunkt, die übersetzt sich bei der Rekonstruktion in einen ganzen Bereich,
in ein bestimmtes Frequenzspektrum, in etwas, was ausgedehnt ist und eben insbesondere nicht quadratisch ist.
Also er hat dann wirklich eine technische Implementierung, die auch in Adobe
Photoshop glaube ich so implementiert ist,
wo ein Pixel zu einem kreisförmigen Ausdehnung der Information beiträgt,
die durch das Pixel kodiert wird, also entweder einen Farbwert oder einen Grauwert und so.
So kann die Information, die durch ein Pixelbild abgespeichert wird.
Eben zu einem viel hochauflösenderen Bild führen, wenn sie auf diese schlaue
Weise rekonstruiert wird.
Anstatt aus einem Pixel ein Quadrat zu zeichnen, ein Pixel als Information über
die Farbe in der Umgebung von diesem Messwert zu verstehen.
Und naja, das hat dann auch in der Gestaltung des Buches einfließen lassen.
Also wenn man zum Beispiel auf den Buchrücken schaut, dort steht groß das Wort Pixel geschrieben,
aber die Pixel, die zu diesem Wort Pixel führen,
die sind eben mit den entsprechenden Verzerrungen gezeichnet,
sodass sich ganz witzige Schattierungen an den Buchstaben ergeben,
um auf diesen Effekt hinzudeuten,
dass Pixelgrafik nicht immer Klötzchengrafik sein muss. Und wenn man das in dem Buch von L.V.
Ray Smith liest, dann merkt man wirklich irgendwas.
Das Buch heißt übrigens A Biography of the Pixel und ist voll von interessanten
mathematischen Gedanken, historischen Gedanken und eben der Geschichte des Pixels
und der Computergrafik. Und da merkt man, dass da überall Mathematik drin steckt.
Also mathematisches Denken, Mathematik verstehen und das hat die Computergrafik
dahin gebracht, wo sie heute ist.
Also hier mal wieder eine Leseempfehlung, auch wenn das Buch leider ziemlich dick ist.
Es hat wenigstens ziemlich viele Bilder drin, sodass man auch mal etwas visuell
genießen kann. Ich bin selbst bisher über das Querlesen noch nicht hinausgekommen,
aber vielleicht lest ihr ja schneller und könnt euch so die Wartezeit auf die
nächste Folge verkürzen.
Außer ihr hört das im 25. Jahrhundert.
Entweder gibt es noch eine Folge hier nach oder nicht. Und wenn nicht,
dann wartet lieber nicht mehr länger.
Aber ich bin mir sicher, dass wir uns auch in Folge 53 vom Eigenraum wieder hören.
In diesem Sinne, das war die kleine Geschichte der Pixel-Welten.
Bis bald, bleibt neugierig und wir hören uns. Tschüss.

1 Gedanke zu „EIG052 Pixelwelten

Schreibe einen Kommentar

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

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden.