Dans un esprit similaire à cette question , votre mission est de créer le logo le plus beau dans au plus 1K de code.
Règles:
Au plus 1K de code (inclus), pas de données externes.
La réponse avec le plus de votes positifs l'emporte.
S'amuser!
popularity-contest
chubakueno
la source
la source
Réponses:
SVG
1 Ko? Luxe. Je peux même imprimer la sortie plutôt que de supprimer tous les espaces inutiles. (L'indentation utilise, bien sûr, des tabulations, que Markdown convertit en espaces, c'est pourquoi le nombre de caractères peut sembler supérieur au 977. La suppression des espaces inutiles le fait tomber à 861).
Les chevauchements sont gérés correctement en dessinant les anneaux dans une direction, puis en appliquant un clip et en les dessinant dans l'autre direction. Les couleurs et les rapports sont extraits d'un document officiel qui, pour une raison quelconque, utilise des courbes de Bézier plutôt que des cercles.
la source
Javascript (noyau) - 1000 sur le point. - WebKit (Chrome)
Jouer avec la toile.
Je ne sais pas si c'est 1024 ou 1000
K
c'est pour, mais j'ai réussi à le faire descendre à1000982940: DConvient uniquement aux navigateurs WebKit. Chrome OK. Firefox un gâchis. Pourrait en faire un navigateur croisé.
Code:
940: Suppression de l'enveloppement
onload
et reposant sur l'insertion du script à la fin dubody
tag + bug d'alignement et correction de FirefoxViolon:
http://jsfiddle.net/Ifnak/XSBLg/embedded/result/http://jsfiddle.net/Ifnak/4fSWm/5/embedded/result/
Charge dans Firefox ainsi que Chrome, mais est plutôt lourd en ressources dans FF. En utilisant
requestAnimationFrame()
aidé un peu, mais pas assez.Notez que la neige repose en bas, faites donc défiler vers le bas pour voir la croissance lente. Au départ, il y avait une certaine peinture au sol, mais ne pouvait pas l'adapter à 1024 chr.
Résultat (screencast GIF de faible qualité):
la source
Mathematica
De ma réponse dans le Mathematica.SE Q&A :
Modifier: dans la version 10, le style d'éclairage par défaut a changé; pour rendre le graphique ci-dessus, il faudra ajouter l'option
Lighting -> "Classic"
àGraphics3D
.Jouer davantage avec l'éclairage pour produire un effet plat à deux dimensions:
Pour Oliver qui a dit que mon premier résultat était "trop en 3D", voici un rendu 2D réel via le code de jVincent avec mon refactoring, également à partir du fil lié:
la source
Rubis, 321
Malheureusement, un certain chef d'État semble être le sujet principal de la plupart des nouvelles olympiques jusqu'à présent. Voici donc mon logo freestyle (mascotte?) Pour les Jeux de 2014.
Sortie: (Sauvegarder et plisser les yeux. Désolé pour le rendu primitif mais il ne mérite pas mieux.)
la source
Bash + ImageMagick
Exemple de sortie:
la source
FreePascal
Jeux olympiques d'hiver? Que diriez-vous de quelques flocons de neige fractaux au lieu d'anneaux réguliers.
La récursivité de la branche centrale est assez évidente: (dx, dy) = 0,5 (dx, dy). Les branches gauche et droite sont basées sur la rotation par multiplication matricielle:
x = x cos (a) - y sin (a)
y = x sin (a) + y cos (a)
1/4 = 0,5 cos (60) et 7/16 est une bonne approximation de 0,5 sin (60).
. .
la source
Java
Similaire à ma réponse SVG, mais
Notez que je n'ai pas essayé de jouer au golf, malgré la possibilité de quelques astuces intéressantes (comme
-57*~dir
au lieu de57*(1+dir)
. Il est à 923 caractères, mais les golfs à 624 assez facilement.la source
Commodore 64 BASIC
Encore une fois, une réponse C64, mais cette fois, je suis autorisé à utiliser des sprites ! Yay!
Je me souviens que si vous vouliez utiliser des sprites, vous commenceriez votre programme avec beaucoup de
DATA
déclarations ennuyeuses . Pour définir un motif de sprite monochromatique "haute résolution" (24x21 pixels), vous avez besoin de 63 octets. Il existe en fait un éditeur de sprites en ligne qui calcule les données pour vous, donc:J'aurai également besoin de plus de DONNÉES pour les couleurs et les positions. Je viens de copier cela de ma réponse à la question originale du logo des Jeux Olympiques :
Ensuite, vous auriez l'habitude de régler
V=53248
. Ce53248
doit être un chiffre important, car je m'en souviens encore 25 ans plus tard :) Il s'avère que c'est l'adresse de base du VIC-II (Video Interface Controller):Ensuite, j'ai lu le motif de sprite dans la mémoire en commençant à l'adresse
832
. Cela semble bizarre d'écrire simplement dans un emplacement de mémoire, pas d'allocation, nonnew
, rien de tel :) L'adresse de début doit être un multiple de 64.Je vais utiliser le même modèle pour tous les sprites.
C
est le code couleur,X
etY
sont des positions horizontales et verticales des cercles.Quelques autres
POKE
sont nécessaires:V+0
,V+2
,V+4
, Etc ... sont les emplacements horizontaux de chaque image - objet, tandis queV+1
,V+3
,V+5
... sont verticales. Les couleurs des sprites commencent au registreV+39
:Les pointeurs de données de sprite commencent à
2040
, et puisque les données commencent à832
, nous obtenons832/64
=13
, donc:Pour activer les sprites, je mets des bits
0-4
du registreV+21
. J'ai également changé l'arrière-plan en blanc, afin que nous puissions voir le cercle bleu.C'est ça!
la source
V+23
double hauteur etV+29
double largeur. (bit #x pour sprite #x).LaTeX / TikZ
Taille: 876 octets (12 lignes, ligne avec 72 caractères et fin de ligne)
Taille: 817 octets sur une ligne et avec deux optimisations:
tikz
de classestandalone
, voir commentaire de Wheat Wizard.soft=blank
peuvent être raccourcies en définissant un styleb
.LaTeX / TikZ (version lisible)
La version plus longue suivante est probablement plus facile à comprendre.
Le chevauchement des anneaux est géré en dessinant d'abord les anneaux avec des segments vierges. Ensuite, à un stade ultérieur, les anneaux sont à nouveau dessinés, mais cette fois les segments vides sont remplis et les autres segments déjà dessinés des anneaux restent intacts. Par conséquent, l'écrêtage n'est pas utilisé du tout.
L'anneau avec les marges blanches est dessiné par un cercle avec une double ligne. La zone entre les lignes est remplie de la couleur de l'anneau et les lignes doubles plus minces forment la marge blanche extérieure et intérieure.
Les couleurs et dimensions sont extraites de la description de la page PDF de la page 5 du document officiel (voir la réponse de Peter Tayler).
la source
\documentclass[tikz]{standalone}
grâce à cette astuce .b
pour éviter le longblank=soft
qui est utilisé quatre fois.C ++ 1024 octets
Mise à jour: maintenant avec l'anticrénelage. Le code a été quelque peu déréglé tout en restant dans (exactement) 1K.
N'utilise aucune fonction de bibliothèque à l'exception des fonctions ostream pour écrire le fichier de sortie.
Génère un fichier .ppm:
la source
R, 70 caractères
Utilisation des statistiques CRAN-R.
la source
GLSL
J'ai l'impression d'être un peu en retard à la fête, mais je peux peut-être me rattraper avec la première soumission GLSL sur ce site. Il est destiné à être utilisé comme ombrage de fragment pour une primitive de remplissage d'écran et attend la résolution de la fenêtre d'affichage dans le
iResolution
uniforme.Les couleurs et les positions sont «empruntées» à la soumission de Peter Taylor . J'ai dû raccourcir certains noms de variables pour descendre en dessous de 1024 caractères, mais j'espère que c'est toujours lisible.
Voyez-le sur Shadertoy (si votre navigateur prend en charge WebGL).
la source
Mathematica
J'ai remplacé ma réponse d'origine par une réponse qui s'appuie sur les régions et leurs intersections. La taille du code est de 973 octets, non golfée.
Les régions 1-5 sont les anneaux. Les anneaux ont un rayon intérieur de 2,5 unités; le rayon extérieur est de 3 unités. Le rapport du rapport intérieur / extérieur et la logique générale de l'approche se trouvent ici .
Pourquoi nous ne pouvons pas simplement imprimer les 5 anneaux sans prendre en compte les couches.
Si nous traçons ces anneaux immédiatement, ils ne se verrouillent pas. Notez que l'anneau jaune se trouve au sommet des anneaux bleu et noir; l'anneau vert se trouve au sommet des anneaux noir et rouge.
Couleurs inversées à 4 intersections d'anneaux.
Les régions 6, 8, 10 et 12 sont des rectangles qui servent à spécifier sur quelle intersection de deux anneaux se concentrer.
Les régions 7, 9, 11 et 13 sont les «chevauchements d'anneaux» où l'anneau en bas doit être en haut.
Quelles intersections ont eu leurs couleurs inversées?
Ce qui suit met en évidence les régions d'intersection où les couleurs ont été "inversées". Cela a été accompli en changeant les
BoundaryStyle
régions 7, 9, 11 et 13 enWhite
.la source
Javascript (three.js) - 910 octets
Étant donné un élément html, cette fonction créera les anneaux en tant qu'objets 3D, puis rendra une image fixe à l'élément. Fonctionne dans les navigateurs qui prennent en charge WebGL. VIOLON
la source
chat (10 octets)
Il était si court que le site Web a refusé de le télécharger jusqu'à ce que j'ajoute cette description. Le logo représente les Jeux Olympiques.
la source
C ++ avec SFML (1003 y compris les espaces blancs)
Pas petit par n'importe quel effort d'imagination, mais gardé aussi concis et pourtant lisible que possible et toujours inférieur à 1k.
Edit: couleurs mises à jour basées sur la soumission SVG de @Peter Taylor.
la source
Delphes
Résultat
la source
fait une solution basée sur une édition Java Swing GUI UltraGolfed (696 charas)
Un semi-compressé: (971)
la source
POWERSHELL,
code 869 et sortie en capture d'écran
la source
SpecBAS
Chaque anneau est composé d'un cercle intérieur / extérieur, puis rempli d'inondations.
J'ai dû trouver les intersections manuellement et les remplir individuellement (de sorte que vous pouvez toujours voir certaines des lignes entre elles).
la source