Eh!
Ya sabes, el problema con nosotros los canadienses es que a veces, después de un largo día de caza de alces y reparación de presas, ¡nos olvidamos de regresar a nuestras cabañas! ¿No sería genial si nuestro práctico portátil (que siempre está a nuestro lado) tuviera alguna forma de señalarnos a casa? Bueno, hace mucho que se dice que, si muestra una brújula en su computadora, será más brillante cuando apunte hacia el norte. Me gustaría probar esto, pero necesito un programa compacto para llevar conmigo en mi próximo viaje, porque mi disco duro ya está lleno de recetas de jarabe de arce (y NO PUEDEN irse). Entonces, su tarea es diseñarme un programa que, cuando se ejecuta, guarde o muestre una imagen de la siguiente rosa de los vientos:
Las letras pueden estar en una fuente diferente. Recuerde, lo menos es lo mejor, ¡así que gana el conteo de bytes más bajo!
Especificaciones
Colores
- Púrpura claro: # 9999FF
- Gray: # E5E5E5
Longitudes y ángulos
- Ángulo
a
= 45 ° - Ángulo
b
= 90 ° - Longitud
c
= 250 unidades - Longitud
d
= 200 unidades - Longitud
e
= 40 unidades - Longitud
f
= 45 unidades
Aclaraciones
- El texto puede estar en cualquier fuente apropiada , donde apropiado denota que es legible para el ser humano promedio y educado.
- El texto debe estar a 3 unidades de los picos en su punto más cercano, no debe tocar la rosa y debe estar en posición vertical.
- Si se dibuja una línea desde el centro de la rosa, a través del punto final de la espiga y más allá, debe cruzar el centro del texto con una precisión de +/- 2 unidades (el texto debe estar centrado a lo largo de un eje
a
, donde sea
extiende desde el medio de la página, hasta el final de la espiga y más allá) - Cada personaje debe tener al menos 15 unidades por 15 unidades y tener una relación x / y o y / x de no más de 2: 1 (sin estiramiento - legibilidad)
- No se debe dibujar el círculo oscuro que pasa a través de los picos más largos y el texto más cercano al centro de la imagen de referencia.
- La imagen debe ser cuadrada y al menos 400 px por 400 px
- No se permite una imagen comprimida dentro de la fuente.
- Una unidad debe tener al menos 1 píxel
fuente
Respuestas:
HTML + CSS, 487 + 189 = 676
La rosa de los vientos se construye a partir de bordes CSS utilizando la técnica del triángulo y algunas transformaciones básicas. Las letras solo tienen posiciones fijas, por lo que resultó bastante largo: /
El fragmento a continuación se reduce para que todo encaje. Puedes ver el JSFiddle aquí . Además, no estoy seguro de qué tan bien se alinearán las letras en diferentes navegadores (con diferentes fuentes, estilos predeterminados, etc.).
fuente
Procesamiento 2 - 636
Una solución rápida que solo dibuja todos los triángulos usando el método de procesamiento de triángulos y luego coloca las letras en sus puntas.
puedes procesar aquí
fuente
PHP, 628 bytes
Se agregaron algunos saltos de línea para mayor comodidad.
Corre con
-r
. Crea un archivon.png
con la imagen; La unidad es de 2 píxeles.Debo admitir que encontré las coordenadas de los vientos por prueba y error, y probablemente estén un poco apagadas. Hará los cálculos pronto; pero lo prometo: no cambiarán el conteo de bytes.
Me divertí por ahora excavando mi trignonometría y luchando con
imagecopy
... ¡qué marica!en golf: no muchos trucos; pero estos pocos ahorraron mucho:
Ni siquiera conté antes de reemplazar los nombres de las funciones.
+
operador de matriz dio 42 bytes.Descompostura
fuente
R,
877850813Sospecho que hay mucho espacio para jugar al golf, pero quería conseguir algo para ver si lograba cumplir con las reglas.
Editar: Perdí un poco de limpieza alrededor de la creación del polígono, gané algunos borrando contornos
Esto produce la siguiente imagen png
Una pequeña explicación de lo que estoy haciendo
fuente
Mathematica, 347 bytes
Pregolfed:
N
yE
(base del logaritmo natural) son los dos muebles empotrados en Mathematica, pero como texto E se estilizado en una minúscula fuente que se ve en la imagen, pero el problema no lo hace bastante decir que sólo podemos usar un tipo de letra para todo el texto. Si ese es un requisito, entonces reemplazoE
con"E"
y gano dos bytes.Sqrt[2]
en Mathematica se puede estilizar en dos caracteres, por lo que si contamos cada unoSqrt[2]
como dos caracteres, mi nuevo conteo de bytes es 339 en lugar de 349.La imagen a continuación se produce.
fuente