En un espíritu similar a esta pregunta , su misión es crear el logotipo más atractivo en un máximo de 1K de código.
Reglas:
Como máximo 1K de código (incluido), no hay datos externos.
La respuesta con más votos a favor gana.
¡Que te diviertas!
popularity-contest
chubakueno
fuente
fuente
Respuestas:
SVG
1kB? Lujo. Incluso puedo imprimir bastante la salida en lugar de eliminar todos los espacios en blanco innecesarios. (La sangría, por supuesto, usa pestañas, que Markdown convierte en espacios, por lo que el recuento de caracteres puede parecer mayor que el 977 real. Al eliminar espacios en blanco innecesarios, se reduce a 861).
Las superposiciones se manejan correctamente dibujando los anillos en una dirección, luego aplicando un clip y dibujándolos en la otra dirección. Los colores y las proporciones se extraen de un documento oficial que, por alguna razón, utiliza curvas de Bézier en lugar de círculos.
fuente
Javascript (núcleo) - 1000 en punto. - WebKit (Chrome)
Jugando con lienzo.
No estoy seguro de si es 1024 o 1000
K
, pero logró reducirlo a1000982940: DSolo apto para navegadores WebKit. Chrome bien. Firefox un desastre. Podría considerar hacerlo cruzar el navegador.
Código:
940: Se dejó de envolver
onload
y se basó en la secuencia de comandos que se insertó al final de labody
etiqueta + error de alineación y corrección de Firefox.Violín:
http://jsfiddle.net/Ifnak/XSBLg/embedded/result/http://jsfiddle.net/Ifnak/4fSWm/5/embedded/result/
Se carga tanto en Firefox como en Chrome, pero es bastante pesado en recursos en FF. El uso
requestAnimationFrame()
ayudó un poco, pero no lo suficiente.Tenga en cuenta que la nieve cae en el fondo, por lo tanto, desplácese hacia abajo para ver el lento crecimiento. Inicialmente tenía un poco de pintura en el suelo, pero no pudo hacer que encajara en 1024 chr.
Resultado (screencast GIF de baja calidad):
fuente
Mathematica
De mi respuesta en Mathematica.SE Q&A :
Editar: en la versión 10, el estilo de iluminación predeterminado cambió; para representar el gráfico anterior, será necesario agregar la Opción
Lighting -> "Classic"
aGraphics3D
.Más jugando con la iluminación para producir un efecto plano bidimensional:
Para Oliver, quien dijo que mi primer resultado fue "demasiado 3D-ish", aquí hay una representación 2D real a través del código de jVincent con mi refactorización, también desde el hilo vinculado:
fuente
Ruby, 321
Lamentablemente, cierto jefe de estado parece ser el tema principal de la mayoría de las noticias olímpicas hasta el momento. Por lo tanto, aquí está mi logotipo de estilo libre (¿mascota?) Para los Juegos de 2014.
Salida: (Retroceda y entrecierra los ojos. Perdón por el renderizado primitivo pero no merece nada mejor).
fuente
Bash + ImageMagick
Salida de muestra:
fuente
FreePascal
¿Juegos Olímpicos de Invierno? ¿Qué tal unos copos de nieve fractales en lugar de anillos regulares?
La recursividad para la rama central es bastante obvia: (dx, dy) = 0.5 (dx, dy). Las ramas izquierda y derecha se basan en la rotación por multiplicación matricial:
x = x cos (a) - y sin (a)
y = x sin (a) + y cos (a)
1/4 = 0.5 cos (60) y 7/16 es una buena aproximación de 0.5 sin (60).
. .
fuente
Java
Similar a mi respuesta SVG, pero
Tenga en cuenta que no he tratado de jugar golf, a pesar de la posibilidad de algunos trucos interesantes (como en
-57*~dir
lugar de57*(1+dir)
. Está en 923 caracteres, pero los golf hasta 624 con bastante facilidad.fuente
Commodore 64 BÁSICO
Una vez más, una respuesta C64, ¡pero esta vez puedo usar sprites ! ¡Hurra!
Recuerdo que si quisieras usar sprites, comenzarías tu programa con muchas
DATA
declaraciones aburridas . Para definir un patrón de sprites monocromáticos de "alta resolución" (24x21 píxeles) necesita 63 bytes. En realidad, hay un editor de sprites en línea que calcula los DATOS por usted, así que:También necesitaré más DATOS para los colores y las posiciones. Acabo de copiar eso de mi respuesta a la pregunta original del logotipo de los Juegos Olímpicos :
Entonces, por lo general, se establece
V=53248
. Este53248
debe ser un número importante, porque aún lo recuerdo 25 años después :) Resulta que es la dirección base de VIC-II (Controlador de interfaz de video):Luego leí el patrón de sprites en la memoria comenzando en la dirección
832
. Se siente extraño simplemente escribir en una ubicación de memoria, sin asignación, nonew
, nada de eso :) La dirección de inicio debe ser un múltiplo de 64.Usaré el mismo patrón para todos los sprites.
C
es el código de color,X
yY
son posiciones horizontales y verticales de los círculos.Se
POKE
necesitan algunos s más :V+0
,V+2
,V+4
, Etc ... son las ubicaciones horizontales de cada sprite, mientras queV+1
,V+3
,V+5
... son verticales. Los colores del sprite comienzan en el registroV+39
:Los punteros de datos de sprite comienzan en
2040
, y dado que los datos comienzan en832
, obtenemos832/64
=13
, entonces:Para encender los sprites configuré bits
0-4
del registroV+21
. También cambié el fondo a blanco, para que podamos ver el círculo azul.¡Eso es!
fuente
V+23
doble altura yV+29
doble ancho. (bit #x para sprite #x).LaTeX / TikZ
Tamaño: 876 bytes (12 líneas, línea con 72 caracteres y final de línea)
Tamaño: 817 bytes en una línea y con dos optimizaciones:
tikz
de clasestandalone
, ver comentario de Wheat Wizard.soft=blank
se pueden acortar definiendo un estilob
.LaTeX / TikZ (versión legible)
La siguiente versión más larga es probablemente más fácil de entender.
La superposición de los anillos se maneja dibujando primero los anillos con segmentos en blanco. Luego, en una etapa posterior, los anillos se vuelven a dibujar, pero esta vez los segmentos en blanco se llenan y los otros segmentos ya dibujados permanecen intactos. Por lo tanto, el recorte no se utiliza en absoluto.
El anillo con los márgenes blancos se dibuja en círculo con una doble línea. El área entre las líneas se rellena con el color del anillo y las líneas dobles más delgadas forman el margen blanco exterior e interior.
Los colores y las dimensiones se toman de la descripción de la página PDF de la página 5 del documento oficial (vea la respuesta de Peter Tayler).
fuente
\documentclass[tikz]{standalone}
gracias a este consejo .b
para evitar el tiempoblank=soft
que se usa cuatro veces.C ++ 1024 bytes
Actualizado: ahora con antialiasing. El código se ha desarmado un poco mientras se ajustaba (exactamente) a 1K.
No utiliza ninguna función de biblioteca, excepto las funciones de ostream para escribir el archivo de salida.
Emite un archivo .ppm:
fuente
R, 70 caracteres
Utilizando estadísticas CRAN-R.
fuente
GLSL
Siento que llego un poco tarde a la fiesta, pero tal vez pueda compensar eso con la primera presentación de GLSL en este sitio. Está destinado a ser utilizado como el sombreador de fragmentos para una primitiva de relleno de pantalla, y espera la resolución de la vista en el
iResolution
uniforme.Los colores y las posiciones son "prestados" de la presentación de Peter Taylor . Tuve que acortar algunos nombres de variables para obtener menos de 1024 caracteres, pero espero que aún sea legible.
Véalo en Shadertoy (si su navegador admite WebGL).
fuente
Mathematica
He reemplazado mi respuesta original con una que se basa en regiones y sus intersecciones. El tamaño del código es de 973 bytes, sin registro.
Las regiones 1-5 son los anillos. Los anillos tienen un radio interno de 2.5 unidades; El radio exterior es de 3 unidades. La relación entre la relación interna y la externa, y la lógica general del enfoque se encuentran aquí .
Por qué no podemos simplemente imprimir los 5 anillos sin tener en cuenta las capas.
Si trazamos estos anillos inmediatamente, no se entrelazan. Observe que el anillo amarillo se encuentra sobre los anillos azul y negro; El anillo verde yace sobre los anillos negro y rojo.
Voltear colores en 4 intersecciones de anillos.
Las regiones 6, 8, 10 y 12 son rectángulos que sirven para especificar en qué intersección de dos anillos enfocarse.
Las regiones 7, 9, 11 y 13 son las "superposiciones de anillo" donde el anillo en la parte inferior debe estar en la parte superior.
¿Qué intersecciones tenían sus colores invertidos?
Lo siguiente resalta las regiones de intersección donde los colores fueron "invertidos". Esto se logró cambiando las
BoundaryStyle
regiones 7, 9, 11 y 13 aWhite
.fuente
Javascript (three.js) - 910 bytes
Dado un elemento html, esta función creará los anillos como objetos 3D y luego representará una imagen fija para el elemento. Funciona en navegadores que admiten WebGL. VIOLÍN
fuente
gato (10 bytes)
Fue tan corto que el sitio web se negó a subirlo hasta que agregué esta descripción. El logo representa los Juegos Olímpicos.
fuente
C ++ con SFML (1003 incl. Espacio en blanco)
No es pequeño por ningún tramo de la imaginación, pero se mantiene tan breve pero legible como sea posible y aún por debajo de 1k.
Editar: colores actualizados basados en el envío SVG de @Peter Taylor.
fuente
Delphi
Resultado
fuente
creó una solución basada en una edición Java Swing GUI UltraGolfed (696 charas)
Semi sin comprimir: (971)
fuente
POWERSHELL,
código 869 y salida en captura de pantalla
fuente
SpecBAS
Cada anillo está formado por un círculo interno / externo, luego lleno de inundaciones.
Tenía que encontrar las intersecciones manualmente y rellenarlas individualmente (para que aún pueda ver algunas de las líneas entre ellas).
fuente