Desenhar o sinal estimado da UE


11

A especificação do sinal "estimado" usado pela Diretiva da União Europeia (U + 212e em Unicode, que você pode simplesmente não imprimir para esse desafio) é bastante precisa.

Especificação do sinal estimado da UE

Para copiar algumas restrições desta pergunta : Renderize o símbolo para arquivo ou tela usando gráficos vetoriais ou raster. Se sua saída for rasterizada, sua imagem deverá ter dimensões de 264 pixels × 240 pixels ou mais. Quaisquer outras linhas de ajuda ou indicadores de comprimento não devem ser desenhadas.


9
Bastante preciso, mas ainda um pouco obscuro. Quais são exactamente o 0,085, 0,013e 0,025de medição? A 0,846diagonal no meio pretende passar pelo epicentro da elipse formado pelo externo 1e 0,9?
AdmBorkBork 21/07

1
Não é o mesmo símbolo, mas acho que isso está próximo o suficiente para ser considerado um dup: codegolf.stackexchange.com/questions/26689/… . Eu não estou usando meu martelo dup embora.
Digital Trauma

@ TimmyD 0,025 é a espessura da barra transversal, que se estende +/- 0,0125 em ambos os lados do centro da elipse, em vez de ficar no topo da linha central. (Invertei o símbolo e verifiquei.) 0,013 é o raio do canto (deve ser fácil encontrar o centro do círculo do canto). 0,085 também é o raio da esquina (seria bom um pouco de ajuda para encontrar a coordenada y do círculo da esquina.) #
Level River St St

1
Mais interessante se você evitar usar as letras 'E', 'n', 'g', 'l', 'a', 'd' ... ''
Comintern

Respostas:


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 a macro U. Basicamente, muitos desenhos de formas. A forma 1 é um retângulo, 5 é um retângulo arredondado e 9 é um oval. A produção tem 500 de largura por 450 de altura.

insira a descrição da imagem aqui

Editar : adicionado o retângulo arredondado (com ajuste para transformar as extremidades em semicírculos) para produzir os cantos arredondados na parte superior da barra com um desenho de forma.


Excel emprestado - Você com certeza colocou muito trabalho nisso! Você pode soltar 2bytes alterando Sub U()paraSub U
Taylor Scott

Actuallly, você pode obter esse baixo para 535 bytes, fazendo mudando fa Optional f=0e removendo os 0 chamadas f, removendo o espaço a=5 Then, movendo-se as sub-rotinas para um codepane planilha e remover a ActiveSheet.chamada (isso significa que U é então chamado como Sheet1.U) e remover o ()emSub U()
Taylor Scott

3

Haml + Sass, 20 + 722 = 742 bytes

Tenho certeza de que isso poderia ser muito mais praticado, mas estou feliz o suficiente com isso. Demonstração no CodePen .

Nota: Devido às margens padrão, isso precisa de uma janela do navegador com pelo menos 1.000 e alguns pixels de largura.

Haml

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

Sass

$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);}

Pode ser testado colando o código nesta página: https://www.shadertoy.com/new

Saída (quando o tamanho da tela é 1440 * 900):

insira a descrição da imagem aqui


Não tenho certeza sobre seus cantos nas extremidades da barra central, eles não parecem muito certos.
Joffan

Talvez eles deveriam ter um pouco de "tamanho" diferente, eu realmente não entendo o que tamanho devem ser, de modo aproximado-lo com os olhos
Display Name

1
Eles devem ser arcos circulares com um raio de 0,013 (x toda a largura da figura).
Joffan
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.