Dibuje el signo estimado de la UE


11

La especificación del signo "estimado" utilizado por la Directiva de la Unión Europea (U + 212e en Unicode, que no puede simplemente imprimir para este desafío) es bastante precisa.

Especificación del signo estimado de la UE

Para copiar algunas restricciones de esta pregunta : Procese el símbolo en un archivo o pantalla usando gráficos vectoriales o de trama. Si su salida está rasterizada, su imagen debe tener dimensiones de 264 píxeles × 240 píxeles o más. No se deben dibujar otras líneas de ayuda o indicadores de longitud.


99
Bastante preciso, pero todavía un poco confuso. ¿Cuáles son exactamente el 0,085, 0,013y 0,025de medición? ¿La 0,846diagonal en el medio está destinada a pasar por el epicentro de la elipse formada por el exterior 1y 0,9?
AdmBorkBork

1
No es el mismo símbolo, pero creo que está lo suficientemente cerca como para ser considerado un duplicado : codegolf.stackexchange.com/questions/26689/… . Sin embargo, no estoy usando mi martillo doble.
Trauma digital

@TimmyD 0,025 es el grosor de la barra transversal, que se extiende +/- 0,0125 a cada lado del centro de la elipse, en lugar de sentarse en la parte superior de la línea central. (Invertí el símbolo y lo comprobé). 0,013 es el radio de la esquina (debería ser fácil encontrar el centro del círculo de la esquina). 0,085 es también el radio de la esquina (sería útil un poco de ayuda para encontrar la coordenada y del círculo de la esquina).
Level River St

1
Más interesante si evita usar las letras 'E', 'n', 'g', 'l', 'a', 'd' ...
Comintern

Respuestas:


15

VBA, 587 560 bytes

Sub S(a,b,c,d,e,f)
Set v=ActiveSheet.Shapes.AddShape(a,b,c,d,e)
v.Fill.ForeColor.RGB=f
v.Line.Visible=0
If a=5 Then v.Adjustments(1)=.5
End Sub
Sub U():p=91.5:w=-1
S 1,0,0,500,450,w
S 9,0,0,500,450,0
S 9,38.5,13.5,423,423,w
S 1,36,120,29,210,0
S 1,65,80,26.5,290,0
S 1,435,120,29,105,0
S 1,408.5,80,26.5,145,0
q=212.25:S 1,9,q,480,19,0
S 5,p,205.75,317,13,w
S 1,405,231.25,95,131.5,w
r=14.5:S 1,p,70.5,r,30,0
q=85:S 9,p,59.6,q,q,w
S 1,p,349.5,r,30,0
S 9,p,305.4,q,q,w
S 1,395,70.5,r,30,0
S 9,323.5,59.6,q,q,w
q=231.25:S 1,p,q,6.5,6.5,0
S 9,p,q,13,13,w
End Sub

Invoque la macro U. Básicamente muchos dibujos de formas. La forma 1 es un rectángulo, 5 un rectángulo redondeado y 9 es un óvalo. La salida es de 500 de ancho por 450 de alto.

ingrese la descripción de la imagen aquí

Editar : se agregó el rectángulo redondeado (con ajuste para convertir los extremos en semicírculos) para producir las esquinas redondeadas en la parte superior de la barra con un dibujo de forma.


Excel prestó - ¡Seguro que trabajaste mucho en eso! Puede eliminar 2bytes cambiando Sub U()aSub U
Taylor Scott

Realidad terminó, se puede conseguir esto a 535 bytes al hacer el cambio fa Optional f=0y la eliminación de los 0 llamadas f, eliminando el espacio a=5 Then, moviendo las subrutinas a un codepane hoja de trabajo y la eliminación de la ActiveSheet.llamada (esto significa que T se denomina entonces como Sheet1.U) y la eliminación de la ()enSub U()
Taylor Scott

3

Haml + Sass, 20 + 722 = 742 bytes

Estoy seguro de que esto se podría jugar mucho más, pero estoy bastante feliz con eso. Demo en CodePen .

Nota: Debido a los márgenes predeterminados, esto necesita una ventana del navegador de al menos 1,000 y algunos píxeles de ancho.

Haml

#u
#v
 #w
 #x
 #y
#z

Hablar con descaro a

$w: 1000px
$h: 900px
$a: 183px
$b: 25px
$p: 85px
$q: 13px
$d: 846px
$e: $w - 2*$a
$f: 143px
$s: 50%
$t: $p/5.5
=d($w:$w,$h:$h)
 width: $w
 height: $h
=m($c)
 background-color: $c
=k
 +m(#000)
 position: absolute
 content: ''
=l
 +k
 +m(#fff)
=o($o:$p)
 +d($o,$p)
=r($a)
 border-radius: $a
*
 +k
html,body
 +l
 position: relative
#u
 +d
 clip-path: ellipse($s $s)
#v
 +d($e)
 left: $a
 clip-path: circle(($d/2) at $s $s)
#v::before,#v::after
 +l
 +d($e,($h -$b)/2)
 +r($q)
#v::after
 bottom: 0
#w,#x
 +o($t)
 top: $f
#w::before,#x::before,#y::before
 +l
 +o
 +r($s 0)
#x,#x::before
 right: 0
#x::before
 +r(0 $s 0 0)
#y
 +o($t)
 bottom: $f
 z-index: 9
#y::before
 +r(0 0 0 $s)
#z
 +l
 +d($s,267px)
 top: ($h+$b)/2
 right: 0

3

GLSL + shadertoy.com, 349 345 344 bytes

#define F float
void mainImage(out vec4 R,vec2 C){F S=min(iResolution.x,iResolution.y/0.9);vec2 p=C/vec2(0.5,0.45)/S-1.;F A=0.94-length(p*vec2(1.22,1));F H=min(min(-p.y-0.025,p.y+0.551),p.x);F B=max(length(p)-1.,min(abs(p.y)-0.025,max(A,H)));F D=max(min(p.x,-p.y),max(-A,0.634-abs(p.x)));R=vec4(vec3(max(H,min(B*D*64.-0.01,min(B,D)))*S/3.),1);}

Puede probarse pegando el código en esta página: https://www.shadertoy.com/new

Salida (cuando el tamaño de la pantalla es 1440 * 900):

ingrese la descripción de la imagen aquí


No estoy seguro acerca de sus esquinas en los extremos de la barra central allí, no se ven del todo bien.
Joffan

Tal vez deberían tener un "tamaño" un poco diferente, realmente no entendí de qué tamaño deberían ser, por lo que lo aproximé con los ojos
Nombre para mostrar

1
Deben ser arcos circulares con un radio de 0.013 (x el ancho completo de la figura).
Joffan
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.