Disegna il segno stimato dell'UE


11

La specifica del segno "stimato" utilizzato dalla Direttiva dell'Unione Europea (U + 212e in Unicode, che potresti non semplicemente stampare per questa sfida) è abbastanza precisa.

Specifica del segno stimato dell'UE

Per copiare alcune restrizioni da questa domanda : Rendi il simbolo su file o schermo usando grafica vettoriale o raster. Se l'output è rasterizzato, l'immagine deve avere dimensioni di 264 pixel × 240 pixel o più. Non devono essere tracciate altre linee guida o indicatori di lunghezza.


9
Abbastanza preciso, ma ancora un po 'poco chiaro. Quali sono esattamente i 0,085, 0,013e 0,025di misura? La 0,846diagonale al centro è destinata a passare attraverso l'epicentro dell'ellisse formata dall'esterno 1e 0,9?
AdmBorkBork,

1
Non è lo stesso simbolo, ma penso che questo sia abbastanza vicino da essere considerato un dup: codegolf.stackexchange.com/questions/26689/… . Non sto usando il mio dup hammer però.
Trauma digitale

@TimmyD 0,025 è lo spessore della barra trasversale, che si estende di +/- 0,0125 su entrambi i lati del centro dell'ellisse, piuttosto che sedersi in cima alla linea centrale. (Ho invertito il simbolo e verificato.) 0,013 è il raggio dell'angolo (dovrebbe essere facile trovare il centro del cerchio dell'angolo). 0,085 è anche il raggio dell'angolo (sarebbe utile un po 'di aiuto nel trovare la coordinata y del cerchio dell'angolo.)
Level River St

1
Più interessante se eviti di usare le lettere 'E', 'n', 'g', 'l', 'a', 'd' ...
Comintern

Risposte:


15

VBA, 587 560 byte

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

Richiamare la macro U. Fondamentalmente molto disegno di forma. La forma 1 è un rettangolo, 5 un rettangolo arrotondato e 9 è un ovale. L'output è 500 larghezza per 450 altezza.

inserisci qui la descrizione dell'immagine

Modifica : aggiunto il rettangolo arrotondato (con regolazione per trasformare le estremità in semicerchi) per produrre gli angoli raggiati sulla parte superiore della barra con un disegno a forma.


Excel prestato: hai sicuramente lavorato molto! Puoi eliminare i 2byte cambiando Sub U()inSub U
Taylor Scott

Actuallly, è possibile ottenere questo fino a 535 byte facendo cambiando fper Optional f=0e rimuovendo le chiamate f 0, rimuovendo lo spazio a=5 Then, spostando le subroutine per un codepane foglio e rimuovere la ActiveSheet.chiamata (questo significa che U viene poi chiamato come Sheet1.U) e rimuovere la ()inSub U()
Taylor Scott,

3

Haml + Sass, 20 + 722 = 742 byte

Sono sicuro che questo potrebbe essere giocato molto di più, ma ne sono abbastanza contento. Demo su CodePen .

Nota: a causa dei margini predefiniti, è necessaria una finestra del browser larga almeno 1.000 pixel.

Haml

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

insolenza

$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 byte

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

Può essere testato incollando il codice in questa pagina: https://www.shadertoy.com/new

Uscita (quando la dimensione dello schermo è 1440 * 900):

inserisci qui la descrizione dell'immagine


Non sono sicuro dei tuoi angoli alle estremità della barra centrale lì, non sembrano proprio giusti.
Joffan,

Forse dovrebbero avere una "dimensione" leggermente diversa, non ho davvero capito quale dimensione dovrebbero essere, quindi approssimata con gli occhi
Visualizza nome

1
Dovrebbero essere archi circolari con un raggio di 0,013 (x l'intera larghezza della figura).
Joffan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.