Guten Nachmittag,
Ihr Ziel ist es, in möglichst wenigen Quellcode-Bytes ein Bild von Piet Mondrians „Komposition“ (z. B. Komposition 10 ) nachzubilden .
Die Neuerstellung kann entweder die tatsächlichen Farben verwenden oder durch die entsprechenden Farben aus der Windows-Standardfarbpalette 16 ersetzen .
Ihre Neuerstellung kann in PNG, BMP oder NetPBM entweder in einer Datei oder in STDOUT oder direkt auf dem Bildschirm ausgegeben werden.
Ihre Erholung muss eine Auflösung von 512x512 oder höher haben.
Ihre Erholung darf nicht auf das Internet zugreifen. Wenn für Ihr Programm Datendateien erforderlich sind, wird deren Größe zur Größe Ihrer Quelle hinzugefügt.
Ihre Punktzahl entspricht der Größe Ihrer Quelldatei in Byte.
Bitte geben Sie mit Ihrer Eingabe an, welches Gemälde Sie nachbilden, und geben Sie einen Link zum Original und ein Bild Ihrer Nachbildung an.
Viel Glück.
quelle
Antworten:
Tikz, 175 Bytes
Komposition III in Schwarz und Weiß , 175 Bytes
Überprüfen Sie es in der Blogosphäre
Dies ist vielleicht eines von Mondrians minimalistischsten Werken und ich bin überrascht, dass noch niemand es gefunden hat. Es ist jedoch nicht besonders interessant, weshalb ich mehrere andere Bilder in meine Antwort aufgenommen habe.
Erläuterung
Zu jeder Tikz-Antwort gehört ein Wrapper. Der Wrapper ist:
Sobald Sie am Wrapper vorbeigekommen sind, gibt es einige
\def
Anweisungen, die Bytes sparen, aber den Code leider verschleiern:Wenn wir alle richtigen Ersetzungen vornehmen, sieht unser Code folgendermaßen aus:
Das erste Bit ist ein
\clip
und ist sehr wichtig, aber wir werden es vorerst überspringen.Jetzt zeichnen wir die erste Linie auf die leere Leinwand. Diese Linie ist ziemlich dick, daher stellen wir
[line width=2mm]
die Dicke ein auf2mm
:Dies verbindet ein paar Knoten und erzeugt diese Form:
Als nächstes haben wir
\draw
einen zweiten Strich, dieser Strich ist jedoch dünner, so dass wir die Liniendicke einstellen müssen auf1mm
:Jetzt sieht unser Bild so aus:
Dies kommt dem Original sehr nahe, ist aber nicht ganz so. Hier
\clip
kommt das ins Spiel. Wir verwenden das\clip
Symbol, um alle zusätzlichen Zeilen von unserer Zeichenfläche zu entfernen und die richtige Größe für die Zeichenfläche festzulegen. Mit der Größe der Leinwand erhalten wir das Bild:Komposition mit gelbem Fleck , 214 Bytes
Bewerten Sie es in CyberSpace
Erklärung zu kommen
Zusammensetzung II in Blau und Gelb , 225 Bytes
Bewerte es über das Webbernetz!
Erklärung zu kommen
Zusammensetzung B (Nr. 2) in Rot , 232 Bytes
Versuchen Sie es im Internet!
Erläuterung
Hier ist zunächst der Code mit Zeilenumbrüchen eingefügt, um die Lesbarkeit zu verbessern:
Der erste Befehl von Interesse ist
Dies zeichnet ein rotes Rechteck mit einem schwarzen Umriss. Für die linke obere Ecke des Gemäldes.
Anschließend zeichnen wir zwei weitere Rechtecke mit weißem Interieur und schwarzen Konturen, um das Gittermuster auf dem Gemälde zu erstellen
Wir zeichnen dann eine dünne Linie
Und beschneiden Sie das Bild auf die richtige Größe
Zusammensetzung II in Rot, Blau und Gelb , 251 Bytes
Testen Sie es im World Wide Web!
Erläuterung
Zuerst werde ich einige Zeilenumbrüche einfügen, um meinen Code lesbar zu machen
Die erste wichtige Linie ist:
Dies zeichnet die folgende Form:
Diese seltsame Form ist das gelbe Rechteck in der unteren rechten Ecke und die beiden Linien, die nicht die Kante eines farbigen Rechtecks sind. Als nächstes fügen wir das rote Quadrat ein und vertuschen die zusätzlichen Linien der letzten Form:
Das sieht so aus:
Nun fügen wir unser blaues Quadrat ein:
Jetzt müssen Sie nur noch alle unnötigen Teile des Bildes mit a ausschneiden
\clip
Zusammensetzung II , 308 Bytes
Probieren Sie es auf dem Information-Super-Highway aus
Erklärung zu kommen
quelle
Mathematica
202287 Bytes.Nur zum Spaß! 330 Bytes: Mondrian mit "Boogie Woogie" im Titel
Tatsächliche Einreichung [287 Bytes]
\[SpanFromLeft]
und ähnliche Ausdrücke belegen ungefähr 85 Bytes. In Mathematica hat jeder dieser Ausdrücke ein spezielles Symbol mit einem Zeichen.Ausgang links; Foto von Piet Mondrian, rot blau gelb Komposition rechts.
quelle
Ruby, 112 (111) Zeichen
Piet Mondrian - Komposition in B (Nr. II) mit Rot
Meine Produktion links, die hochskalierte Referenz rechts.
Die Farben können leicht angepasst werden - bis zu einer Genauigkeit von 1/9 -, ohne dass die Punktzahl verloren geht, indem der Maximalwert in PPM angepasst wird. Ich habe den Ansatz "Geeignete Win16-Farbe" gewählt. 8/9 Weiß ist wahrscheinlich näher an der ursprünglichen Leinwandfarbe, aber 9/9 ist näher an der Absicht des Autors.
Ein Zeichen kann gerettet werden , wenn wir ersetzen"1 0 0 "
mit(w+b+b)
(# F00 rot). Ich glaube, das zählt als "nah genug"Dateiausgabeversion (nicht golfen)
quelle
"0 "
->b
w="2 "
zuw="2 "*9
undb
auch wechseln .ppm
Datei speichern und in einem Bildbearbeitungsprogramm öffnenSmileBASIC,
27741892 BytesBroadway Boogie Woogie
Jede der "Zeilen" im Bild wird in diesem Format gespeichert:
Alle Zahlen werden gespeichert als
CHR$(number+32)
, Farben werden als ein Zeichen gespeichert;w
,y
,r
, Oderb
, und die Richtung wird gespeichert , wie|
oder-
Die zusätzlichen Rechtecke werden wie folgt gespeichert:
Auf die gleiche Weise.
quelle
SVG - 455
480- Mondrian Komposition II in Rot, Blau und GelbWenn Sie Javascript in SVG einbetten und es dynamisch gestalten können, ist es eine Programmiersprache. Ergo, das ist ein Programm. Stellt sich heraus, wenn ein
x
oder einey
Koordinate in SVG fehlt, ist der Standardwert 0. Ist auchred
kürzer als#f00
!Ziemlich gedruckt:
quelle
SmileBASIC, 67 Bytes
Ich habe mir ein einfaches ausgesucht: Komposition III in Schwarz und Weiß
Glücklicherweise ist die Grafikseite von SB genau 512x512 Pixel groß, aber es passt nicht alles auf den 400x240-Bildschirm, so dass ich keinen Screenshot einfach bekommen kann.
Erklärt:
quelle
Verarbeitung,
15.447,15.441,15.439BytesBrute Force, und ich habe es nicht geschafft, die Zeichenfunktion zu entfernen.
Es gibt Fehler in der Hauptverarbeitungs-Engine, ich denke, weil es von einem b64 zu groß ist. Sie können es hier testen .
JS Fiddles beschneidet es allerdings auf 100 * 100px. Mein base64 funktioniert, die Online-Umgebung jedoch nicht. :(
quelle
PImage x=loadImage(i);
stattdessendata:;base64
funktioniert genauso gutLove2D, 4956 + 395 + 1 = 5351 Bytes
Die Datendatei wird HIER gespeichert
Ausgabe:
Original:
Erläuterung
Der Encoder.
Dies ist nur das Skript, mit dem ich das Bild codiert habe. Gif wurde komprimierter, aber ich wurde nicht aufgefordert, ein Gif anzuzeigen.
Meist im Wettbewerb um das Kopfgeld. Es gibt wahrscheinlich bessere Möglichkeiten, dies zu tun, aber ich hielt es für interessant, eine einfache Palette zu verwenden und die Lauflänge zu dekodieren.
BEARBEITEN: Das Eingabebild wurde vereinfacht, etwas ungenauer, aber um eine Größenordnung kleiner.
quelle