วาดเครื่องหมายโดยประมาณของสหภาพยุโรป


11

ข้อมูลจำเพาะของเครื่องหมาย "ประมาณ" ที่ใช้โดย European Union Directive (U + 212e ใน Unicode ซึ่งคุณอาจไม่เพียงพิมพ์สำหรับการท้าทายนี้) ค่อนข้างแม่นยำ

สเปคของสัญญาณโดยประมาณของสหภาพยุโรป

ในการคัดลอกข้อ จำกัด บางอย่างจากคำถามนี้ : ส่งสัญลักษณ์ไปยังไฟล์หรือหน้าจอโดยใช้กราฟิกแบบเวกเตอร์หรือแรสเตอร์ หากเอาต์พุตของคุณ rasterised ภาพของคุณต้องมีขนาด 264 พิกเซล× 240 พิกเซลหรือมากกว่า บรรทัดความช่วยเหลือหรือตัวบ่งชี้ความยาวอื่น ๆ จะต้องไม่ถูกดึงออกมา


9
ค่อนข้างแม่นยำ แต่ก็ยังไม่ค่อยชัดเจน ว่าอะไรเป็น0,085, 0,013และ0,025วัด? เป็น0,846เส้นทแยงมุมในช่วงกลางตั้งใจจะผ่านศูนย์กลางของวงรีที่เกิดขึ้นจากด้านนอก1และ0,9?
AdmBorkBork

1
ไม่ได้เป็นสัญลักษณ์เหมือนกัน แต่ผมคิดว่านี้เป็นพอใกล้จะได้รับการพิจารณา dup: codegolf.stackexchange.com/questions/26689/... ฉันไม่ได้ใช้ค้อนคู่ของฉัน
Digital Trauma

@TimmyD 0,025 คือความหนาของ cross bar ซึ่งขยาย +/- 0,0125 ทั้งสองด้านของกึ่งกลางของวงรีแทนที่จะนั่งบนจุดศูนย์กลาง (ฉันกลับสัญลักษณ์และตรวจสอบแล้ว) 0,013 คือรัศมีของมุม (ควรหาจุดศูนย์กลางของวงกลมที่มุมได้ง่าย) 0,085 ยังเป็นรัศมีของมุม (ความช่วยเหลือเล็กน้อยในการหาพิกัด y ของวงกลมมุมจะดี)
Level River St

1
น่าสนใจมากขึ้นถ้าคุณหลีกเลี่ยงการใช้ตัวอักษร 'E', 'n', 'g', 'l', 'a', 'd' ...
Comintern

คำตอบ:


15

VBA, 587 560 ไบต์

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

เรียกใช้แมโคร U โดยทั่วไปการวาดรูปร่างเป็นจำนวนมาก รูปร่าง 1 เป็นสี่เหลี่ยมจัตุรัสสี่เหลี่ยมผืนผ้า 5 อันโค้งมนและ 9 เป็นรูปไข่ ผลผลิตกว้าง 500 ถึง 450 สูง

ป้อนคำอธิบายรูปภาพที่นี่

แก้ไข : เพิ่มสี่เหลี่ยมโค้งมน (พร้อมการปรับเปลี่ยนปลายให้เป็นครึ่งวงกลม) เพื่อสร้างมุมรัศมีที่ด้านบนของแถบด้วยการวาดรูปร่างเดียว


Excelยืม - คุณแน่ใจว่าได้ใส่งานจำนวนมากลงในงานนั้น! คุณสามารถปล่อย2ไบต์ด้วยการเปลี่ยนSub U()เป็นSub U
Taylor Scott

Actuallly คุณสามารถได้รับการลงนี้ 535 ไบต์โดยการเปลี่ยนfไปOptional f=0และลบ 0 ฉสายการลบพื้นที่ในa=5 Thenการเคลื่อนย้ายซับรูทีนที่จะ codepane แผ่นและลบActiveSheet.โทร (ที่นี้หมายถึงว่า U แล้วเรียกว่าเป็นSheet1.U) และลบ()ในSub U()
Taylor Scott

3

Haml + Sass, 20 + 722 = 742 ไบต์

ฉันแน่ใจว่านี่สามารถเล่นกอล์ฟได้มากขึ้น แต่ฉันก็มีความสุขมาก การสาธิตใน CodePen

หมายเหตุ: เนื่องจากระยะขอบเริ่มต้นจึงต้องมีหน้าต่างเบราว์เซอร์ที่มีพิกเซลกว้างอย่างน้อย 1,000 พิกเซล

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 ไบต์

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

สามารถทดสอบได้โดยการวางรหัสในหน้านี้: https://www.shadertoy.com/new

เอาท์พุท (เมื่อขนาดหน้าจอ 1440 * 900):

ป้อนคำอธิบายรูปภาพที่นี่


ไม่แน่ใจเกี่ยวกับมุมของคุณที่ปลายบาร์ตรงกลางพวกเขาดูไม่ถูกต้องนัก
Joffan

บางทีพวกเขาควรจะมี "ขนาด" ที่แตกต่างกันเล็กน้อยฉันไม่เข้าใจจริงๆว่าควรมีขนาดใดจึงประมาณด้วยตา
ชื่อที่แสดง

1
ควรเป็นส่วนโค้งแบบวงกลมที่มีรัศมี 0.013 (x ความกว้างเต็มของรูป)
Joffan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.