AB Tahmini İşaretini Çiz


11

Avrupa Birliği Direktifi (Unicode'daki U + 212e, sadece bu zorluk için yazdıramayacağınız) tarafından kullanılan "tahmini" işaretinin belirtimi oldukça hassastır.

AB tahmini işaretinin belirlenmesi

Bu sorudaki bazı kısıtlamaları kopyalamak için : Vektör veya tarama grafiklerini kullanarak sembolü dosyaya veya ekrana aktarın. Çıktınız rasterleştirilirse, resminizin boyutları 264 piksel × 240 piksel veya daha fazla olmalıdır. Başka yardım çizgileri veya uzunluk göstergeleri çizilmemelidir.


9
Oldukça hassas, ama yine de biraz belirsiz. Tam olarak nedir 0,085, 0,013ve 0,025ölçme? Mi 0,846, orta çapraz dış tarafından oluşturulan elips üssü geçmesine yönelik 1ve 0,9?
AdmBorkBork

1
Aynı sembol değil, ama bunun bir dup olarak kabul edilecek kadar yakın olduğunu düşünüyorum: codegolf.stackexchange.com/questions/26689/… . Yine de dup çekiçimi kullanmıyorum.
Dijital Travma

@TimmyD 0,025, merkez çizginin üstünde oturmak yerine elipsin merkezinin her iki tarafında +/- 0,0125 uzanan çapraz çubuğun kalınlığıdır. (Sembolü ters çevirdim ve kontrol ettim.) 0,013 köşenin yarıçapıdır (köşe çemberinin merkezini bulmak kolay olmalıdır). 0,085 aynı zamanda köşenin yarıçapıdır (köşe çemberinin y koordinatını bulmakta biraz yardımcı olur.)
Level River St

1
'E', 'n', 'g', 'l', 'a', 'd' harflerini kullanmaktan kaçınırsanız daha ilginç ...
Comintern

Yanıtlar:


15

VBA, 587560 bayt

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

Makro U çağır. Temelde şekil çizim bir sürü. Şekil 1 bir dikdörtgen, 5 yuvarlak bir dikdörtgen ve 9 bir ovaldir. Çıktı 500 genişlik ve 450 yükseklik.

resim açıklamasını buraya girin

Düzenleme : bir şekil çizimle çubuğun üstündeki yayılan köşeleri üretmek için yuvarlak dikdörtgeni (uçları yarım daire haline getirecek şekilde ayarlanarak) ekledi.


Excel ödünç - Eminim bu konuda çok iş başardın! Sen bırak 2değiştirerek bayt Sub U()içinSub U
Taylor Scott

Actuallly, sen yapma değiştirerek 535 bayt bu hakkı elde edebilir fetmek Optional f=0ve 0 f çağrıları kaldırarak, boşluk kaldırarak a=5 Then, bir çalışma sayfası codepane için geçerli olan alt hareketli ve kaldırma ActiveSheet.çağrısı (U sonra da denir bu araçlar Sheet1.U) ve kaldırma ()inSub U()
Taylor Scott

3

Haml + Sass, 20 + 722 = 742 bayt

Eminim bu çok daha fazla golf olabilir, ama bundan memnunum. CodePen hakkında demo .

Not: Varsayılan kenar boşlukları nedeniyle, bunun en az 1.000 piksel genişliğinde bir tarayıcı penceresine ihtiyacı vardır.

haml

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

şımarıklık

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

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

Bu sayfaya kod yapıştırılarak test edilebilir: https://www.shadertoy.com/new

Çıkış (ekran boyutu 1440 * 900 olduğunda):

resim açıklamasını buraya girin


Merkez çubuğun uçlarındaki köşelerinizden emin değiller, tam olarak görünmüyorlar.
Joffan

Belki biraz farklı bir "boyut" olmalıdır, ne kadar olması gerektiğini gerçekten anlamadım, bu yüzden gözlerle yaklaşık
Display Name

1
Yarıçapı 0.013 (x şeklin tam genişliği) olan dairesel yaylar olmalıdır.
Joffan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.