In einem ähnlichen Sinne wie bei dieser Frage ist es Ihre Mission, das am besten aussehende Logo in höchstens 1 KB Code zu erstellen.
Regeln:
Höchstens 1 KB Code (einschließlich), keine externen Daten.
Die Antwort mit den meisten positiven Stimmen gewinnt.
Habe Spaß!
popularity-contest
Chubakueno
quelle
quelle
Antworten:
SVG
1kB? Luxus. Ich kann sogar die Ausgabe hübsch drucken, anstatt alle unnötigen Leerzeichen zu entfernen. (Für den Einzug werden natürlich Tabulatoren verwendet, die von Markdown in Leerzeichen umgewandelt werden. Daher scheint die Zeichenanzahl möglicherweise höher zu sein als die tatsächliche Zahl von 977. Durch Entfernen von unnötigen Leerzeichen wird sie auf 861 verringert.)
Die Überlappungen werden korrekt gehandhabt, indem die Ringe in eine Richtung gezeichnet werden, dann ein Clip angewendet wird und sie in die andere Richtung gezeichnet werden. Die Farben und Verhältnisse stammen aus einem offiziellen Dokument, das aus irgendeinem Grund Bézier-Kurven anstelle von Kreisen verwendet.
quelle
Javascript (Kern) - 1000 auf den Punkt. - WebKit (Chrome)
Spiel mit der Leinwand.
Ich bin nicht sicher, ob es 1024 oder 1000
K
ist, aber ich habe es geschafft, es auf1000982940 zu bringen: DNur für WebKit-Browser geeignet. Chrome OK. Firefox ein Chaos. Könnte sich darum kümmern, es browserübergreifend zu machen.
Code:
940: Wrapping ist weggefallen
onload
und verlässt sich darauf, dass das Skript am Ende desbody
Tags eingefügt wird + Ausrichtungsfehler und Firefox-Korrektur.Geige:
http://jsfiddle.net/Ifnak/XSBLg/embedded/result/http://jsfiddle.net/Ifnak/4fSWm/5/embedded/result/
Lädt sowohl in Firefox als auch in Chrome, ist aber in FF ziemlich ressourcenintensiv. Mit
requestAnimationFrame()
ein wenig geholfen, aber nicht genug.Beachten Sie, dass der Schnee unten liegt und scrollen Sie nach unten, um das langsame Wachstum zu sehen. Hatte anfangs etwas Übermalung auf dem Boden, konnte es aber nicht passend für 1024 chr machen.
Ergebnis (schlechter GIF-Screencast):
quelle
Mathematica
Aus meiner Antwort in der Mathematica.SE Q & A :
Bearbeiten: In Version 10 wurde der Standardbeleuchtungsstil geändert. die Grafik zu machen über ein die Option hinzufügen müssen
Lighting -> "Classic"
zuGraphics3D
.Weiter mit der Beleuchtung spielen, um einen flachen zweidimensionalen Effekt zu erzeugen:
Für Oliver, der mein erstes Ergebnis als "zu 3D-isch" bezeichnete, ist hier ein tatsächliches 2D-Rendering über jVincents Code mit meinem Refactoring, ebenfalls aus dem verlinkten Thread:
quelle
Ruby, 321
Leider scheint ein bestimmtes Staatsoberhaupt das Hauptthema der meisten olympischen Nachrichten zu sein. Hier ist also mein Freestyle-Logo (Maskottchen?) Für die Spiele 2014.
Ausgabe: (Sichern und blinzeln. Entschuldigen Sie das primitive Rendering, aber er verdient es nicht besser.)
quelle
Bash + ImageMagick
Beispielausgabe:
quelle
FreePascal
Winterolympiade? Wie wäre es mit einigen fraktalen Schneeflocken anstelle von regulären Ringen.
Die Rekursion für den Mittelast ist ziemlich offensichtlich: (dx, dy) = 0,5 (dx, dy). Linker und rechter Zweig basieren auf Rotation durch Matrixmultiplikation:
x = x cos (a) - y sin (a)
y = x sin (a) + y cos (a)
1/4 = 0,5 cos (60) und 7/16 ist eine gute Näherung von 0,5 sin (60).
. .
quelle
Java
Ähnlich wie meine SVG-Antwort, aber
Beachten Sie, dass ich nicht zum Golf habe versucht es, trotz der Möglichkeit, einige interessante Tricks (wie
-57*~dir
statt57*(1+dir)
. Es ist auf 923 Zeichen, aber golfs bis 624 ganz leicht nach unten.quelle
Commodore 64 BASIC
Wieder eine C64-Antwort, aber dieses Mal darf ich Sprites verwenden ! Yay!
Ich erinnere mich, wenn Sie Sprites verwenden wollten, würden Sie Ihr Programm mit vielen langweiligen
DATA
Aussagen beginnen. Um ein "hochauflösendes" (24x21 Pixel) monochromes Sprite-Muster zu definieren, benötigen Sie 63 Bytes. Es gibt tatsächlich einen Online- Sprite-Editor , der die DATEN für Sie berechnet.Ich brauche noch ein paar DATEN für die Farben und Positionen. Ich habe das gerade von meiner Antwort auf die ursprüngliche Frage zum Logo der Olympischen Spiele kopiert :
Dann würden Sie normalerweise einstellen
V=53248
. Dies53248
muss eine wichtige Nummer sein, da ich mich 25 Jahre später noch daran erinnere :) Es stellt sich heraus, dass dies die Basisadresse von VIC-II (Video Interface Controller) ist:Dann habe ich das Sprite-Muster beginnend mit der Adresse in den Speicher eingelesen
832
. Es fühlt sich komisch an, nur auf einen Speicherort zu schreiben, keine Zuordnung, neinnew
, nichts dergleichen :) Die Startadresse muss ein Vielfaches von 64 sein.Ich werde für alle Sprites dasselbe Muster verwenden.
C
ist der FarbcodeX
undY
gibt die horizontale und vertikale Position der Kreise an.Noch ein paar
POKE
s sind nötig:V+0
,V+2
,V+4
, Etc ... sind die horizontalen Positionen jedes Sprite, währendV+1
,V+3
,V+5
... vertikal sind. Die Sprite-Farben beginnen beim RegisterV+39
:Die Sprite-Datenzeiger beginnen um
2040
und da die Daten um beginnen832
, erhalten wir832/64
=13
, also:Um die Sprites einzuschalten, setze ich Bits
0-4
des RegistersV+21
. Ich habe auch den Hintergrund in Weiß geändert, damit wir den blauen Kreis sehen können.Das ist es!
quelle
V+23
für doppelte Höhe undV+29
für doppelte Breite festlegen . (Bit #x für Sprite #x).LaTeX / TikZ
Größe: 876 Bytes (12 Zeilen, Zeile mit 72 Zeichen und Zeilenende)
Größe: 817 Bytes in einer Zeile und mit zwei Optimierungen:
tikz
der Klassestandalone
, siehe Kommentar des Weizen-Assistenten.soft=blank
kann durch Definieren eines Stils verkürzt werdenb
.LaTeX / TikZ (lesbare Version)
Die folgende längere Version ist wahrscheinlich einfacher zu verstehen.
Die Überlappung der Ringe wird behandelt, indem die Ringe zuerst mit leeren Segmenten gezeichnet werden. Dann werden die Ringe zu einem späteren Zeitpunkt erneut gezeichnet, aber dieses Mal werden die leeren Segmente gefüllt und die anderen bereits gezeichneten Segmente der Ringe bleiben unberührt. Daher wird das Abschneiden überhaupt nicht verwendet.
Der Ring mit den weißen Rändern wird durch einen Kreis mit einer doppelten Linie gezeichnet. Der Bereich zwischen den Linien ist mit der Farbe des Rings gefüllt und die dünneren Doppellinien bilden den äußeren und inneren weißen Rand.
Die Farben und Maße sind der PDF-Seitenbeschreibung von Seite 5 des offiziellen Dokuments entnommen (siehe die Antwort von Peter Tayler).
quelle
\documentclass[tikz]{standalone}
dank dieser Spitze .b
, um dieblank=soft
viermalige Verwendung zu vermeiden .C ++ 1024 Bytes
Aktualisiert: Jetzt mit Antialiasing. Code wurde etwas de-golfed, während er noch genau in 1 KB passt.
Verwendet keine Bibliotheksfunktionen außer ostream-Funktionen zum Schreiben der Ausgabedatei.
Gibt eine PPM-Datei aus:
quelle
R, 70 Zeichen
CRAN-R-Statistiken verwenden.
quelle
GLSL
Ich habe das Gefühl, dass ich ein bisschen zu spät zur Party komme, aber vielleicht kann ich das mit der ersten GLSL-Einreichung auf dieser Seite wieder gutmachen. Es soll als Fragment-Shader für ein bildschirmfüllendes Grundelement verwendet werden und erwartet die Auflösung des Ansichtsfensters im
iResolution
Uniform.Farben und Positionen sind von Peter Taylors Vorlage "entlehnt" . Ich musste einige Variablennamen kürzen, um unter 1024 Zeichen zu kommen, aber ich hoffe, dass sie noch lesbar sind.
Sehen Sie es bei Shadertoy (wenn Ihr Browser WebGL unterstützt).
quelle
Mathematica
Ich habe meine ursprüngliche Antwort durch eine ersetzt, die Regionen und ihre Schnittpunkte verwendet. Die Codegröße beträgt 973 Byte, ungolfed.
Regionen 1-5 sind die Ringe. Die Ringe haben einen Innenradius von 2,5 Einheiten; Der äußere Radius beträgt 3 Einheiten. Das Verhältnis von innerem zu äußerem Verhältnis und die allgemeine Logik des Ansatzes sind hier zu finden .
Warum wir die 5 Ringe nicht einfach ausdrucken können, ohne Schichten zu berücksichtigen.
Wenn wir diese Ringe sofort zeichnen, greifen sie nicht ineinander. Beachten Sie, dass der gelbe Ring auf dem blauen und dem schwarzen Ring liegt. Der grüne Ring liegt auf dem schwarzen und dem roten Ring.
Spiegeln von Farben an 4 Kreuzungen von Ringen.
Die Bereiche 6, 8, 10 und 12 sind Rechtecke, mit denen angegeben wird, auf welchen Schnittpunkt zwei Ringe fokussiert werden sollen.
Die Bereiche 7, 9, 11 und 13 sind die "Ringüberlappungen", bei denen sich der Ring auf der Unterseite oben befinden sollte.
Welche Kreuzungen hatten ihre Farben gewechselt?
Im Folgenden werden die Schnittbereiche hervorgehoben, in denen Farben "gespiegelt" wurden. Dies wurde erreicht, indem die
BoundaryStyle
Bereiche 7, 9, 11 und 13 auf geändert wurdenWhite
.quelle
Javascript (three.js) - 910 Bytes
Bei einem HTML-Element erstellt diese Funktion die Ringe als 3D-Objekte und rendert dann ein Standbild für das Element. Funktioniert in Browsern, die WebGL unterstützen. GEIGE
quelle
Katze (10 Bytes)
Es war so kurz, dass die Website sich weigerte, es hochzuladen, bis ich diese Beschreibung hinzufügte. Das Logo steht für Olympische Spiele.
quelle
C ++ mit SFML (1003 inkl. Leerzeichen)
Nicht klein bei jeder Vorstellung, aber so knapp und doch lesbar wie möglich und immer noch unter 1k.
Bearbeiten: Aktualisierte Farben basierend auf der SVG-Einreichung von @Peter Taylor.
quelle
Delphi
Ergebnis
quelle
eine Lösung basierend auf einer Java Swing GUI UltraGolfed Edition (696 Zeichen) erstellt
Semiunkomprimiertes: (971)
quelle
POWERSHELL, 869
Code und Ausgabe im Screenshot
quelle
SpecBAS
Jeder Ring besteht aus einem inneren / äußeren Kreis, der dann mit Wasser gefüllt wird.
Musste die Kreuzungen manuell finden und diese einzeln füllen (so dass Sie immer noch einige der Linien zwischen ihnen sehen können).
quelle