€ চিহ্নটি আঁকুন


61

লক্ষ্যটি হ'ল নিম্নলিখিত চশমা অনুসারে the (ইউরো) চিহ্ন সহ একটি চিত্র আউটপুট বা প্রদর্শন করা (সাইনটির সীমানা উপেক্ষা করে)।

€ চিহ্ন

সূত্র: http://en.wikedia.org/wiki/File:Euro_Con تعمیر.svg

নিয়মাবলী:

  • প্রোগ্রাম / স্ক্রিপ্টকে অবশ্যই আর্গুমেন্ট হিসাবে সিক্সের পিক্সেলের উচ্চতা নিতে হবে (সাইনটির চারপাশে ফাঁকা জায়গা alচ্ছিক)
  • প্রতীক হিসেবে বা একটি অক্ষর থেকে টানা করা যাবে না, সরাসরি (এটা করতে নিষেধ করছে পরোক্ষভাবে ছবিতে) বা (গণক তারপর একটি HTML পৃষ্ঠার এটা প্রদর্শন করার)print8364
  • আউটপুটটি কোনও ফাইলে সংরক্ষণ করার দরকার নেই, এটি প্রদর্শিত হতে পারে কেবলমাত্র একটি স্ক্রিনশট হিসাবে প্রদর্শিত
  • স্ট্যান্ডার্ড "লুফোলস" নিষিদ্ধ
  • সংক্ষিপ্ততম কোড জিতেছে

7
কৌতুকময়! আমার জ্যামিতি / ত্রিকোণমিতি পর্যালোচনা করার সময় এসেছে। আমি কিছু স্থানাঙ্কগুলি অনুমিত করা বেশ কঠিন দেখছি।
মাইকেল এম।

5
আমাকে "ফ্যাসিটিটিভ" সন্ধান করতে হয়েছিল
ডিজিটাল ট্রমা

2
আমি সত্যিই একটি ল্যাটেক্স + টিকজেড উত্তরের জন্য প্রত্যাশা করছি :)
কোল জনসন

12
ইউরো না থাকলে এই সমস্যাটির অস্তিত্ব থাকত না, এরপরে আবার "মো অর্থ মো সমস্যার" সত্য প্রকাশ করল
টমাস জনসন

1
টাইপোগ্রাফিকভাবে ব্যবহারযোগ্য কী তা আমি জানি না এবং আমি টাইপোগ্রাফারও নই। আপনি যদি নিখুঁত € চিহ্ন চান তবে কেবল € অক্ষরটি ব্যবহার করুন। তবে এটি এই প্রশ্নের লক্ষ্য নয়। আমি পিক্সেল নিখুঁত চিত্র আশা করিনি। আপনি যদি এটিকে পছন্দ না করেন তবে বিভিন্ন বিধি দিয়ে অন্য প্রশ্ন যুক্ত করতে নির্দ্বিধায়।
এএল

উত্তর:


22

পোস্টস্ক্রিপ্ট / ঘোস্টস্ক্রিপ্ট, 100

(প্রোগ্রামের জন্য ,৯, কমান্ড-লাইন সুইচ উপসর্গের জন্য 4)

সম্পূর্ণরূপে গল্ফযুক্ত এবং হাতে টোকেনাইজড:

$ hexdump -C euro.ps
00000000  68 20 88 78 92 36 92 38  92 8b 88 4b 88 3c 92 ad  |h .x.6.8...K.<..|
00000010  88 00 88 00 88 3c 88 2d  88 ce 92 05 88 00 88 00  |.....<.-........|
00000020  88 32 88 d8 88 28 92 06  92 16 88 b9 88 fb 92 6b  |.2...(.........k|
00000030  88 b5 88 f1 92 63 88 13  88 f1 92 63 88 17 88 fb  |.....c.....c....|
00000040  92 63 92 16 88 b9 88 0f  92 6b 88 b5 88 05 92 63  |.c.......k.....c|
00000050  88 1b 88 05 92 63 88 1f  88 0f 92 63 92 16 92 42  |.....c.....c...B|
00000060

আপনার নিজের দেখার জন্য আপনি এখানে একটি অনুলিপি পেতে পারেন ।

@ টমাসডাব্লু এর উত্তর দেখার পরে এবং আমার প্রোগ্রামটি যত্ন সহকারে বিবেচনা করার পরে, আমি বুঝতে পেরেছি যে আমি এটি আরও ভাল করতে পারি।

টোকেনাইজড সংস্করণ এটির সমতুল্য:

h 120 div dup scale
75 60 translate

0 0 60 45 -50 arc
0 0 50 -40 40 arcn
closepath

-71 -5 moveto
-75 -15 lineto
19 -15 lineto
23 -5 lineto
closepath

-71 15 moveto
-75 5 lineto
27 5 lineto
31 15 lineto
closepath

fill

অপ্টিমাইজেশনের একটি ব্যাখ্যা:

প্রথমে, আমি আমার প্রথম সমাধানটি পুরো জিনিসটিকে ঘিরে একটি পাথ না করে কিছু সহজ উপপথের ইউনিয়নে রূপান্তরিত করেছিলাম। আমি একটি পরামিতি ইনপুট করার জন্য টমাসের পদ্ধতি ধার করেছিলাম, যা আমার যা ছিল তার চেয়ে অনেক ভাল।

তারপরে আমি সমস্ত স্থানাঙ্কগুলি 10 দ্বারা গুণিত করেছিলাম এবং আমাকে কেবল পূর্ণসংখ্যার স্থানাঙ্ক দেওয়ার জন্য সবকিছুকে গোল করে ফেলেছিলাম। আমি কোণগুলিও বৃত্তাকার হয়েছি এবং দুটি বৃহতকে সমান নেতিবাচক কোণে রূপান্তরিত করেছি। এটি সুবিধামত প্রতিটি একক সংখ্যা -128 এবং 127 এর মধ্যে পড়ে।

এবং তারপরে আমি সমস্ত কিছু টোকানাইজড করেছিলাম । প্রতিটি অপারেটর প্রত্যেকে দুটি-বাইট অনুক্রমের সাথে প্রতিনিধিত্ব করা যায়। যেহেতু প্রতিটি সংখ্যা একটি একক স্বাক্ষরিত বাইট দ্বারা প্রতিনিধিত্ব করা যেতে পারে, প্রতিটি এক এছাড়াও মাত্র দুটি বাইট হয়ে যায়। hশুরুতে আমি যে অংশটি দিয়ে এটি করতে পারি নি তা কেবলমাত্র দুটি বাইট, কেবল তার hপরে এবং একটি স্থান and

এটি চালান:

gs -dh=200 euro.ps

200 পিটি উচ্চ

gs -dh=80 euro.ps

80 পিটি উচ্চ

gs -dh=20 euro.ps

20 পিটি উচ্চ


নতুন: এমনকি সংক্ষিপ্ত সংস্করণ!

এনকোডযুক্ত ব্যবহারকারীর পাথ ব্যবহার করে, আমি কয়েকটি বাইট দ্বারা প্রোগ্রামের আকার হ্রাস করতে পরিচালিত করেছি। এই প্রোগ্রামগুলির প্রত্যেকটিই প্রথমটির সমতুল্য, অভিন্ন আউটপুট উত্পাদন করে:

92 বাইট:

hexdump -C euro.ps
00000000  68 20 88 78 92 36 92 38  92 8b 88 4b 88 3c 92 ad  |h .x.6.8...K.<..|
00000010  7b 7b 88 b5 88 c4 88 2d  88 3c 30 20 30 88 3c 88  |{{.....-.<0 0.<.|
00000020  2d 88 cf 30 20 30 88 32  88 d8 88 28 88 b9 88 fb  |-..0 0.2...(....|
00000030  88 b5 88 f1 88 13 88 f1  88 17 88 fb 88 b9 88 0f  |................|
00000040  88 b5 35 88 1b 35 88 1f  88 0f 7d 8e 0b 00 07 08  |..5..5....}.....|
00000050  0a 01 23 03 0a 01 23 03  0a 7d 92 b3              |..#...#..}..|
0000005c

যা সমান:

h 120 div dup scale
75 60 translate
{
 {-75 -60 45 60
  0 0 60 45 -50
  0 0 50 -40 40
  -71 -5
  -75 -15
  19 -15
  23 -5
  -71 15
  -75 5
  27 5
  31 15}
  <00 07 08 0A 01 03 03 03 0A 01 03 03 03 0A> 
} ufill

এবং সামান্য বিপরীত বিভ্রান্তিকর সমাধানটি আরও একটি চরিত্রকে সংরক্ষণ করে, কেবল 91 এর জন্য:

$ hexdump -C euro.ps
00000000  68 20 88 78 92 36 92 38  92 8b 88 4b 88 3c 92 ad  |h .x.6.8...K.<..|
00000010  5b 5b 8e 1e b5 c4 2d 3c  00 00 3c 2d ce 00 00 32  |[[....-<..<-...2|
00000020  d8 28 b9 fb b5 f1 13 f1  17 fb b9 0f b5 05 1b 05  |.(..............|
00000030  1f 0f 7b 92 38 88 7f 92  50 7b 32 35 36 92 a9 7d  |..{.8...P{256..}|
00000040  92 54 7d 92 49 5d 92 32  8e 0b 00 07 08 0a 01 23  |.T}.I].2.......#|
00000050  03 0a 01 23 03 0a 5d 92  32 92 b3                 |...#..].2..|
0000005b

যা সমান:

h 120 div dup scale
75 60 translate
[
  [
   <b5 c4 2d 3c
    00 00 3c 2d ce
    00 00 32 d8 28
    b9 fb
    b5 f1
    13 f1
    17 fb
    b9 0f
    b5 05
    1b 05
    1f 0f> {dup 127 gt {256 sub} if} forall 
  ] cvx
  <00 07 08 0A 01 23 03 0A 01 23 03 0A> 
] cvx
ufill

1
মহান কাজ! আমার ধারণা বাইনারি টোকেন সম্পর্কে আমাকে সব শিখতে হবে
টমাস ডাব্লু।

@ThomasW। যদিও আমি এখনও পুরোপুরি শেষ করি নি; আমি এখনও এনকোডেড স্ট্রিং স্ট্রিং ডকুমেন্টেশনটি
পড়ছি

আপনার পরে স্থানের দরকার নেই hকারণ বাইনারি টোকেনগুলি স্ব-সীমাবদ্ধ। বিটিডাব্লু, আপনি কোডটি কীভাবে দিয়েছিলেন? আমি এটি একটি স্ট্যান্ডার্ড হেক্স সম্পাদক দিয়েছিলাম, যা ক্লান্তিকর।
টমাস ডাব্লু।

2
@ এন .১ টোকানাইজড ফাইলগুলি নিয়মিত পোস্টস্ক্রিপ্ট ফাইলগুলির মতোই কাজ করে এবং আপনি একই ফাইলটিতে বাইনারি টোকেন এবং স্ট্যান্ডার্ড প্লেইনেক্সট পোস্টস্ক্রিপ্ট মিশ্রিত করতে পারেন। প্রতিটি বাইনারি টোকন সরাসরি অপারেটর বা অন্যান্য অবজেক্টের সাথে সম্পর্কিত হয়, যাতে আপনি সহজেই অপারেশনগুলি প্রতিস্থাপন বা সন্নিবেশ করতে পারেন, বা স্নিপেটগুলি অন্য কোনও প্রোগ্রামে অনুলিপি করতে পারেন। টোকেনাইজড ফর্ম সম্পর্কে সঠিক বিবরণটি বিভাগের ৩.১২ বিভাগের পোস্টস্ক্রিপ্ট ভাষা রেফারেন্স ম্যানুয়াল (লাল বই) এ পাওয়া যাবে। এনকোডযুক্ত ব্যবহারকারীর পাথগুলি 4.6.2 তে বর্ণিত হয়েছে।
জে ম্যানসফিল্ড

1
@ n.1 সেই কারণেই আমি ফাইলটি লেখার জন্য একটি হেক্স সম্পাদককে ব্যবহার করেছি। টোকেন ডিলিমিটার বাইটগুলি সাধারণত আইএসও-ল্যাটিন -১ এবং অন্যান্য স্থির-প্রস্থের এনকোডিং-এর অক্ষরের সাথে মিল রাখে তবে সম্পাদক যদি এটি ইউটিএফ -8 বা অন্য কোনও ভেরিয়েবল-প্রস্থের এনকোডিংয়ের সাথে ব্যাখ্যা করে থাকেন তবে আপনি যে কোনও জিনিস একই রকম পাবেন will বাইনারি ডেটা অন্তর্ভুক্ত অন্যান্য ফাইল।
এজেম্যানসফিল্ড

50

গণিত, 193 183 177 173 169 166 বাইট

হ্যাঁ, গণিত! আমি এই অঞ্চলটিকে চক্রান্ত করছি যা একটি নির্দিষ্ট (বরং জটিল) অসম্পূর্ণতার সেটকে সন্তুষ্ট করে:

e=RegionPlot[(1<Abs@y<3||c)&&{x,y+12}.(d=2{-5Sin@40°-6,m=5Cos@40°})*{x+15,y+1-2Sign@y}.d<0||c&&x<2m/.c->100<x^2+y^2<144,{x,-15,9},{y,-12,12},Frame->0>1,ImageSize->#]&

ব্যবহারগুলি হল e[height], যেমন e[100]:

এখানে চিত্র বর্ণনা লিখুন

বা e[200]:

এখানে চিত্র বর্ণনা লিখুন

আপনি খেয়াল করতে পারেন, ধারালো প্রান্তগুলি সামান্য বৃত্তাকার বন্ধ রয়েছে। কারণ অঞ্চলটি কেবলমাত্র স্থানের বিন্দুগুলির নমুনা তৈরি করে প্লট করা যেতে পারে এবং ম্যাথামেটিকা ​​প্রতিটি পিক্সেলকে ডিফল্টরূপে নমুনা দেয় না। স্যাম্পলিং রেজোলিউশনটি আরও একটি বিকল্প যুক্ত করে বাড়ানো যেতে পারে PlotPoints->#(যা পিক্সেল প্রতি এক নমুনা ব্যবহার করে), যা 14 টি অক্ষর যুক্ত করে । আমি এই বিকল্পটি দিয়ে এটি চালানোর পরামর্শ দিচ্ছি না, কারণ এটি রানটাইম উল্লেখযোগ্যভাবে বৃদ্ধি করে এবং সবেমাত্র ভিজ্যুয়াল আবেদন বাড়ায় #/4। সুতরাং, (ওপি অনুমোদনের পরে) এটি স্কোর অন্তর্ভুক্ত করা হয় না।

এখানে একটি সামান্য অবারিত সংস্করণ:

e[height_] := (
  angle = 40°;
  d = {-5 Sin[angle] - 6, 5 Cos[angle]};
  RegionPlot[
      (Abs[y] > .5 && Abs[y] < 1.5
        ||
       r > 25 && r < 36)
    &&
      {x, y + 6}.d > 0
    &&
      {x + 7.5, y + .5 - Sign[y]}.d < 0
    ||
      r > 25 && r < 36 && x < 5 Cos[angle] 
    /. r -> x^2 + y^2
    ,
    {x, -7.5, 4.5},
    {y, -6, 6},
    Frame -> False,
    ImageSize -> height
  ]
);

নোট করুন যে গল্ফযুক্ত সংস্করণে, আমি এসকে এড়ানোর জন্য 2 এর একটি ফ্যাক্টর দ্বারা স্থানাঙ্ক সিস্টেমকে স্কেল করেছি .5তবে এটি প্রমাণিত হয়েছে যে চরিত্রের গণনাটি আসলে অভিন্ন।

আমি সূত্রটি কীভাবে কার্যকর করেছি তার একটি ব্যাখ্যা এখানে। আমি আকারটি দুটি অঞ্চলে বিভক্ত করেছি। একটিতে রিং এবং স্ট্রাইপস রয়েছে এবং opeালের সাথে ডানদিকে BCDEএবং বাম দিকে IJand GHালু এবং পরে আরও কাটা হয় । অন্যটিতে একই আংটি রয়েছে তবে কেবলমাত্র বিন্দুটির এক্স স্থানাঙ্কে কাটা হয়েছে D। দুটি অঞ্চলের শর্তগুলি একত্রিত হয়েছে ||, যা এখানে একটি সেট ইউনিয়ন হিসাবে কাজ করে।

রিংটি কেবলমাত্র হিসাবে সংজ্ঞায়িত করা হয়েছে 5 < r < 6, rউত্স থেকে দূরত্বটি কোথায় । ( x²+y²) এর বাইরে কাজ করা আরও সহজ , সুতরাং আমি 25 < x² + y² < 36রিংয়ের সমস্ত পয়েন্ট পেতে ব্যবহার করছি ।

ফিতে মধ্যে হয় ±.5এবং ±1.5Y এর মডুলাস গ্রহণ করে আমরা একই সাথে উভয় স্ট্রাইপ পরিচালনা করতে পারি , সুতরাং স্ট্রাইপগুলি (অসীম দৈর্ঘ্যের) ঠিক পূরণ করে .5 < |y| < 1.5। আবার, স্ট্রাইপ এবং রিংয়ের মিলনের জন্য আমি কেবল ব্যবহার করছি ||

আকর্ষণীয় বিষয়টি সম্ভবত "মুখোশগুলি" কীভাবে পাবেন। পয়েন্টটির Dএকটি এক্স সমন্বয় রয়েছে 5 cos 40°, তাই নিম্ন প্রান্তের যত্ন নেওয়ার মুখোশটি (কেবল রিংয়ের সাথে মিলিত) ন্যায়সঙ্গত x < 5 cos 40°। এটি সেট ছেদগুলির মাধ্যমে প্রয়োগ করা যেতে পারে যা &&যুক্তিতে অনুবাদ করে ।

অন্যান্য মুখোশগুলি সত্যিই কৌতুকপূর্ণ অংশ। প্রথমে এর opeালু পাওয়া যাক BCDE। আমরা খুব সহজেই পয়েন্ট গঠন করা যেতে পারে Cএবং D, যেমন (0, -6)এবং 5 (cos 40°, sin 40°)যথাক্রমে। লাইন ধরে নির্দেশক ভেক্টরটি তখন ঠিক D - C = (5 cos 40°, 5 sin 40° + 6)। ডানদিকে মাস্কটি প্রয়োগ করতে, আমাকে কেবল এটি নির্ধারণ করতে হবে যে কোনও বিন্দু বামে বা সেই লাইনের ডানদিকে রয়েছে (আসুন লাইন ভেক্টরকে কল করুন p)। আমি ভেক্টরকে Cআমার আগ্রহের দিক থেকে নিয়ে এবং এটি কোনও ভেক্টরের লম্বায় লম্বা করে প্রোজেক্ট করে এটি অনুধাবন করতে পারি p। প্রক্ষেপণের চিহ্নটি আমাকে বলবে যে দিকটি চলছে। লম্ব লম্বা ভেক্টর প্রাপ্তি 2 ডি-তে খুব সহজ: স্থানাঙ্কগুলি ফ্লিপ করুন এবং এর মধ্যে একটির চিহ্নটি বিপরীত করুন। এটি dআমার কোডের পরিবর্তনশীল :(-5 sin 40° - 6, 5 cos 40°)Cআকর্ষণীয় বিন্দু থেকে ভেক্টর q = (x, y)হয় q - C = (x, y + 6)। প্রক্ষেপণটি কেবলমাত্র স্কেলার পণ্য (বা বিন্দু পণ্য) এর মধ্যে qএবং d। আমি dএটি যেভাবে বেছে নিয়েছি তা বাম দিকে নির্দেশ করার জন্য ঘটে তাই আমি চাই d.(q-C) > 0। এই শর্তটি ডান হাতের মাস্কটি প্রয়োগ করে।

বাম-হাতের মুখোশের জন্য আমি মূলত একই ধারণাটি ব্যবহার করতে পারি। Opeাল একই এবং তাই তাই d। আমার পরিবর্তে আমার পয়েন্টটি নীচের দিকের ডোরাগুলির নীচে-বাম কোণগুলি থেকে অফসেট করা দরকার C। যাদের স্থানাঙ্ক রয়েছে (-7.5, 0.5)(উপরের স্ট্রাইপ) এবং (-7.5, -1.5)(নিম্ন স্ট্রাইপ)। সুতরাং এটি দুটি স্ট্রাইপের জন্য দুটি স্বতন্ত্র নিয়মের জন্য কল করবে। যাইহোক, মনে রাখবেন সব পয়েন্ট কম মাস্ক দ্বারা প্রভাবিত নিম্ন ডোরা রয়েছে এবং অত: পর নেতিবাচক আছে Y । এবং উপরের মুখোশ দ্বারা প্রভাবিত সমস্ত পয়েন্টের ইতিবাচক y আছে । সুতরাং আমি কেবল আমার অফসেটটি ব্যবহার করে স্যুইচ করতে পারি Sign[y]যা 1ইতিবাচক এবং -1নেতিবাচক জন্য y। সুতরাং আমার অফসেট পয়েন্ট হয়ে যায়(-7.5, -0.5 + Sign[y])। অন্যথায় মুখোশটি ঠিক ডান হাতের মুখোশের মতোই কাজ করে। অবশ্যই, এবার প্রক্ষেপণটি নেতিবাচক হওয়া দরকার। সুতরাং, নির্লজ্জভাবে এটি এমন কিছু হবে RH-projection > 0 && LH-projection < 0(যা আমি কোডটিতে মূলত যা ছিল তাও)। তবে আমরা এটি সংক্ষিপ্ত করতে পারি, কারণ ধনাত্মক এবং negativeণাত্মক সংখ্যাকে গুণিত করতে একটি negativeণাত্মক সংখ্যা দিতে হয়, সুতরাং এটি ঠিক RH * LH < 0(কোথায় RHএবং LHসম্পর্কিত অনুমানগুলি হয়)।

এটাই. এগুলি একসাথে রাখলে নিম্নলিখিত যৌক্তিক কাঠামো বাড়ে:

(
  (is_in_circle || is_in_stripe)
  &&
  is_between_left_and_right_mask
)
||
(
  is_in_circle && left_of_edge
)

কেবল স্পষ্ট করে বলতে গেলে, আমার ব্যাখ্যাতে স্থানাঙ্কগুলি চ্যালেঞ্জে প্রদত্ত নির্মাণ চিত্রটি নির্দেশ করে। আমার কোড উপরে উল্লিখিত হিসাবে আসলে এগুলি দ্বারা সমস্ত গুন 2- আমি বাইট সংরক্ষণ করতে এটি পরিবর্তন করেছি, কিন্তু বাইট গণনা আসলে অভিন্ন, এবং আমি আবার পরিবর্তনটি ফিরিয়ে নিতে বিরক্ত করতে পারি না। পূর্ণসংখ্যার দেখতে আরও সুন্দর লাগবে।


1
আমি ম্যাথামেটিকায় তুলনামূলকভাবে নতুন, তাই আমি আপনার কোড সম্পর্কে কিছু মন্তব্য প্রশংসা করব!
টমাস ডাব্লু।

2
@ThomasW। ঠিক আছে, আসল গণিতের স্টাফ কেবল একটি কল RegionPlotযা স্পেসের সমস্ত পয়েন্টগুলিতে কেবল রঙ দেয় যা প্রদত্ত শর্তটি পূরণ করে। সুতরাং এটি দেওয়া x^2+y^2<1একটি ইউনিট বৃত্ত আঁকবে। আমি প্রকৃত গণিতগুলির জন্য একটি ব্যাখ্যা যুক্ত করব যদিও (পরে আজ রাতে)।
মার্টিন এন্ডার

1
গোলাকার প্রান্তগুলি সহ কোডটির দৈর্ঘ্য কত? আমি মনে করি আপনার কাছে এই মুহুর্তে সংক্ষিপ্ত কোড রয়েছে তবে আমি আপনার উত্তরটি গোলাকার কোণগুলির সাথে গ্রহণ করতে পারি না, এটি অন্য উত্তরগুলির সাথে অন্যায় হবে যেগুলি গোলাকার নয়। কঠোরভাবে বিশেষ উল্লেখ অনুসরণ করুন। ধন্যবাদ
এএল

@ n.1 যদি না আপনি থমাস ডাব্লু'র পোস্টস্ক্রিপ্ট উত্তরটিকে অযোগ্য ঘোষণা করেন, কারণ এটি দ্বিপাক্ষিক বা এটি খুব আক্রমণাত্মকভাবে গোল হয়ে গেছে, তার উত্তর অবশ্যই সংক্ষিপ্ত। যাইহোক, রেজোলিউশন স্থির করতে 14 টি অক্ষর লাগে, সুতরাং আমার উত্তর তার পরে সবচেয়ে কম। আমি সম্পাদনা করব।
মার্টিন এন্ডার

1
@ThomasW। এই নাও!
মার্টিন ইন্ডার

29

বিবিসি বেসিক, ২০২

INPUTh:w=h/12s=w/2.4p=25VDU22,6,29,640;400;p,4,0;1.5*w;p,153,6*w;0;p,4,0;1.5*w;p,159,h/3.1;4.7*w;p;9*s;9*w;p,87,h/3.1;-19*w;p,4,-7.5*w;0;p;s;w;p,85,4.5*s;0;p,81,s;w;p;s;w;p;s;w;p,85,-7.5*w;2*w;p,81,s;w;

http://www.bbcbasic.co.uk/bbcwin/bbcwin.html এ এমুলেটরটি ডাউনলোড করুন

বিবিসি বেসিকগুলিতে, সমস্ত গ্রাফিকগুলি নিম্ন স্তরে মেশিন-নির্দিষ্ট ASCII নিয়ন্ত্রণ অক্ষর ব্যবহার করে পরিচালনা করা হয় (তবে কিছু উচ্চ স্তরের কমান্ডগুলি সাধারণ সুবিধার জন্যও উপলব্ধ।) এখানে যেগুলি ব্যবহৃত হয়েছে তা 22 (পরিবর্তন প্রদর্শন মোড) 29 (পরিবর্তন উত্স) এবং 25, পিএলএটি স্টেটমেন্টের সমতুল্য, যা এক্স এবং ওয়াই প্যারামিটারের পূর্বে ব্যাকগ্রাউন্ড / অগ্রভাগে অতিরিক্ত ক্রিয়া প্যারামিটার (অঙ্কিত রেখা, বৃত্ত, ত্রিভুজ ইত্যাদি) গ্রহণ করে।

সুতরাং আমাকে যা করতে হবে তা হ'ল ভিডিউ নিয়ামককে প্রচুর অক্ষর প্রেরণ করা। সেমিকোলনে বন্ধ হওয়া মানগুলি 16 বিট হয়। অন্যদের 8 বিট হয়। ভিডিইউ নিয়ন্ত্রকের কাছে প্রেরিত মোট বাইটের সংখ্যা ৯১ , যদিও এটি নিজেই উত্তর হিসাবে যোগ্যতা অর্জন করবে না কারণ সেই পর্যায়ে আকারটি হার্ডকোডযুক্ত।

উত্সের জন্য সুস্পষ্ট স্থানটি বৃত্তের কেন্দ্রবিন্দু, তবে বারগুলি উত্পাদন করার সাথে আরও বেশি কমান্ড জড়িত রয়েছে। সুতরাং আমি উত্সটি 1.5 এর নীচে নীচের বারের নীচে স্থানান্তরিত করেছি, যা ভগ্নাংশের সংখ্যা এবং প্রয়োজনীয় নেতিবাচক সংখ্যা হ্রাস করে। এটি বৃত্তের কেন্দ্রের সাথে উল্লম্ব লাইনের উপর থেকে যায়, যা গুরুত্বপূর্ণ কারণ লাইন E এই উল্লম্ব রেখা থেকে শুরু হয়।

প্রকৃতপক্ষে, আমি কেবল অঙ্কনের বাইরে 3 টি সংখ্যা গণনা করতে হয়েছিল: সি আকারের উপরের অভ্যন্তর কোণ (5 কোষ 40, 5 পাপ 40 + 1.5) = (3.8302,3.1394 + 1.5) = প্রায় (12 / 3.1, 4.6) এবং লাইনের গ্রেডিয়েন্ট E: x / y = 3.8302 / (6 + 3.1394) = 0.4157 = প্রায় 1 / 2.4

যেহেতু আমার কাছে কেবল বিনামূল্যে মূল্যায়ন সংস্করণ রয়েছে (ব্যাখ্যা করা), আমি প্রতীক উচ্চতাটিকে ব্যবহারকারী ইনপুট হিসাবে নিই। আপনি যদি পূর্ণ সংস্করণ (29.99GBP) কিনে থাকেন তবে আপনি সংকলন করতে পারেন এবং এর সাথে কমান্ড লাইনটি পড়তে পারেন w=VAL(@cmd$)/12

অবহেলিত কোড

গল্ফযুক্ত কোডে, কেবল একটি ভিডিইউ স্টেটমেন্ট রয়েছে, তবে বর্ণহীন কোডে আমি এটিকে স্পষ্টতার জন্য কয়েকটি ভাগে বিভক্ত করি। এছাড়াও, যেহেতু বিবিসি p,0,বেসিকটি সামান্য এডিয়ান , সংমিশ্রণটি গল্ফ করা যেতে পারে p;তবে আমি এটিকে স্পষ্টতার জন্য ছেড়ে দিয়েছি।

  INPUT h
  w=h/12                   :REM w is the width of the line, which is 1/12 the height of the symbol, hardcoded at 900.
  s=w/2.4                  :REM s/w is the gradient x/y of line E. s is the horizontal offset of the top and bottom of the ends of horizontal bars
  p=25                     :REM VDU p,action,x;y; is the equivalent of PLOT action,x,y

  VDU 22,6                 :REM change mode
  VDU 29,640;400;          :REM set origin

  VDU p,4,0;1.5*w;         :REM move to centre of circle
  VDU p,153,6*w;0;         :REM draw circle in foreground colour
  VDU p,4,0;1.5*w;         :REM move to centre of circle
  VDU p,159,h/3.1;4.6*w;   :REM draw circle in background colour, ending at the upper inner point of the C shape.
  VDU p,0,9*s;9*w;         :REM move relative along slant gradient, 9 spaces in y direction, to define the upper cut on the circle
  VDU p,87,h/3.1;-19*w;    :REM draw triangle in background colour, based on the last two points and the absolute point specified here (vertical line for lower cut)

  VDU p,4,-7.5*w;0;        :REM move absolute to bottom left of lower bar
  VDU p,0,s;w;             :REM move relative to top left of lower bar
  VDU p,85,4.5*s;0;        :REM draw triangle to bottom right corner of lower bar (absolute)
  VDU p,81,s;w;            :REM draw triangle to top right of lower bar (relative)

  VDU p,0,s;w;             :REM move relative to bottom right of upper bar
  VDU p,0,s;w;             :REM move relative to top right of upper bar
  VDU p,85,-7.5*w;2*w;     :REM draw triangle to bottom left of upper bar (absolute)
  VDU p,81,s;w;            :REM draw triangle to top left of upper bar (relative)

এখানে চিত্র বর্ণনা লিখুন


বিবিসি বেসিক। অসাধারণ! এটি আমার প্রায় ত্রিশ বছর পিছনে লাগে!
টম চ্যান্টলার

1
@ ডমারের বিবিসি বেসিক প্রথম প্রথম প্রকাশিত হয়েছিল 1981 সালে, প্রথম ইউরো নোট ছাপার 20 বছরেরও বেশি আগে (2002.) সুতরাং এই জাতীয় মেশিনে আপনি একমাত্র বড় ইউরোর চিহ্নটি আঁকতে পারতেন এটিই একমাত্র উপায়! অন্যথায় আপনি ASCII অক্ষর পুনরায় সংজ্ঞায়িত পারে nএকটি 8x8 বিটম্যাপ সঙ্গে একটি ইউরো প্রতীক, এই মত: VDU 23,n,30,33,120,32,120,30,30,0। উইকিপিডিয়া অনুসারে, বিবিসি বেসিক এখনও মূলত মোবাইল ডিভাইসগুলির জন্য তৈরি করা হচ্ছে।
লেভেল নদী সেন্ট

প্রকৃতপক্ষে! আমি মনে করি 1984 সালে আমরা আমাদের পেয়েছি। আমি মনে করি গ্রাফ পেপারে শীতল স্প্রিট আঁকতে এবং তারপরে তাদের বাইনারি উপস্থাপনাগুলি কার্যকর করা, কারণ আমি নিশ্চিত যে আপনিও এটি করেছেন। কোন নোটে, আমি হাতে হাতে আপনার ইউরো চিহ্নটি আঁকলাম। টাইপো ঠিক হয়ে গেলে এবং পূর্বের মানটি 30 থেকে 33 এ পরিবর্তন করা খুব ভাল। আমি আপনার প্রোফাইল থেকে দেখছি আপনি লোগোও ব্যবহার করেছেন যা আমাকে আবার আমার প্রাথমিক বিদ্যালয়ের দিনগুলিতে নিয়ে যায়। বিবিসি বেসিকটি আজও ব্যবহারে রয়েছে তা শিখতে পেরে দুর্দান্ত। যদি এটি আমাদের পক্ষে যথেষ্ট ভাল হত ...
টম চ্যান্টলার

কেবল যোগ করার জন্য, বিবিসি বেসিক 8x8 বিটম্যাপটিকে আরও "ইটালিক" তৈরি করা যেতে পারে (বৃহত্তর লোগোর সাথে মিল রেখে) এটিকে পরিবর্তন করে VDU 23,n,30,33,124,32,120,33,30,0। ট্রিপ ডাউন মেমরি লেনের জন্য ধন্যবাদ।
টম চ্যান্টলার

25

এইচটিএমএল, 250 249 248 242 244 234 229

<svg viewBox=-7.5,-6,12,12
onload=this.style.height=prompt()><clipPath
id=c><path
d=M5-6,1.8,1.5,3.8,3.2V6H-9.4L-7.1,.5-7.5-.5-5.2-6>
</clipPath><g
clip-path=url(#c) fill=none stroke=#000><circle
r=5.5 /><path
d=M-8,1h15M-8-1h15>

যদিও এটি কেবল এসভিজি স্টাফ ব্যবহার করছে এটি তীব্রভাবে লক্ষণীয় এইচটিএমএল পার্সিংয়ের উপর নির্ভর করে এবং এটি এইচটিএমএল হিসাবে পরিবেশন করতে হবে। কড়া এসভিজির জন্য আরও অনেক বেশি বাইটের প্রয়োজন হবে।

চেষ্টা করে দেখুন!


13
(-: ǝɯ oʇ ǝuıɟ sʞoo⅂
খুঁতখুঁতে ossifrage

1
হ্যাঁ, আমি পোস্টস্ক্রিপ্ট স্থানাঙ্কগুলিতে ভাবছিলাম, যা অন্য রাস্তা! এখন Y অক্ষটি অদলবদল করে।
টমাস ডাব্লু।

3
আমার জন্য (ক্রোম 34) এমনকি পিছনে ছাড়াই কাজ করুন </svg>। ওহ, এবং সেই মার্কআপটি ভয়াবহ । আমি আশা করি আপনি নিজের জন্য লজ্জিত ;-)
ইলমারি করোনেন

2
@ ইলমারিকারোনেন আমি লজ্জা পেয়েছি ;-)। সাধারণত আমি এইচটিএমএল এর চেয়েও পরিষ্কার এক্সএইচটিএমএল পছন্দ করি। যাইহোক, আমি যদি অনুসরণটি ছেড়ে চলে যাই তবে আমি </svg>কেবল বৃত্তটি লাইনগুলি নয় (স্ট্যান্ডলোন ফাইলে, মার্কআপের ভিতরে নেই জেএস বিন যোগ করতে পারে) see
টমাস ডাব্লু।

1
আপনি 6 বাইট সংরক্ষণ করে সংক্ষিপ্ত evt.targetকরতে পারেন this
টুথব্রাশ

17

সিএসএস, 512 494 বাইট

<style>*,:after,:before{position:absolute;width:20;content:"";background:#fff}#a{margin:150;height:20;border:2px solid;border-radius:20px}#a:after{width:10;height:10;bottom:0;right:-8}p{top:7;left:-6;width:29;height:2;border:solid;border-width:2 0;transform:skewX(-23deg);margin:0;background:0}p:before{width:2;height:4;bottom:-3;left:-.5}p:after{width:16;height:16;bottom:-3;right:-8}</style><div id=a><p><script>document.getElementById('a').style.transform='scale('+(prompt()/24)+')'</script>

মোটামুটি বিট দ্বারা ক্ষুদ্রতম উত্তর নয়, তবে আমার সমস্ত সিএসএস-মিনিফিকেশন-ফুকে তলব করার সময় আমি যতটা ছোট পেয়েছি

আদেশ সহকারে:

ফায়ারফক্স এবং আইই তে সমস্ত 'পিক্স' বিহ্বলিত উপরের কোডগুলি ক্রোম এবং সাফারি নয় যা তাদের ইউনিটগুলির বিষয়ে আরও উদ্বেগজনক :)

জেএসফিডেলকে কাজ করতে পেতে আমাকেও পুনরায় যুক্ত করতে হয়েছিল:

http://jsfiddle.net/9A3J9/

100: এখানে চিত্র বর্ণনা লিখুন

200: এখানে চিত্র বর্ণনা লিখুন

অবারিত কোড:

 <style>
*,:after,:before{
    position:absolute;
    width:20;
    content:"";
    background:#fff
}
#a{
    margin:150;
    height:20;
    border:2px solid;
    border-radius:20px
}
#a:after{
    width:10;
    height:10;
    bottom:0;
    right:-8
}
p{
    top:7;
    left:-6;
    width:29;
    height:2;
    border:solid;
    border-width:2 0;
    transform:skewX(-23deg);
    margin:0;
    background:0
}
p:before{
    width:2;
    height:4;
    bottom:-3;
    left:-.5
}
p:after{
    width:16;
    height:16;
    bottom:-3;
    right:-8
}
</style>

<div id=a><p>

<script>
document.getElementById('a').style.transform='scale('+(prompt()/24)+')'
</script>

3
কি দারুন! এই skewXকৌশলটি আমার একা পেয়ে যেতে পারে।
manatwork

গতকালই ঠিক এটাই লিখতে শুরু করেছি। আপনাকে তখন মিথ্যা পয়েন্টগুলি
আইনাসিও

ডিভিতে একটি আইডি সেট করা এবং ব্যবহার getElementById6 টি হ্রাস করে । এবং তারপরে আপনি
সিএসএসে আইডিটি

এছাড়াও, pযদি এর পরে আর কোনও বিষয়বস্তু না থাকে তবে ক্লোজিং ট্যাগটি বাদ দেওয়া যেতে পারে (অনুমান অনুসারে)। এবং আমি এটিও পরীক্ষা করে দেখতে পারি যে ব্রাউজারগুলি অটোক্লোজ করে div( নির্দিষ্ট পরিমাণে নিষিদ্ধ, এটি এফএফ-তে
ফ্রেডে

@ আইনাচিও দুর্দান্ত পরামর্শ! আমরা 494 বি তে নেমে এসেছি ধন্যবাদ :)
কেইটরিওনে

16

পোস্টস্ক্রিপ্ট + ঘোস্টস্ক্রিপ্ট 137 + 6 = 143 (বাইনারি), 209 + 6 = 215 বাইট

বাইনারি টোকেন সহ পুরো গল্ফযুক্ত সংস্করণ:

$ hexdump -C euro_golfed.ps 
00000000  68 20 31 32 20 92 36 92  38 92 8b 37 2e 35 20 36  |h 12 .6.8..7.5 6|
00000010  92 ad 35 20 36 0a 31 2e  38 20 2d 31 2e 35 0a 33  |..5 6.1.8 -1.5.3|
00000020  2e 38 20 2d 33 2e 32 0a  33 2e 38 20 2d 36 0a 2d  |.8 -3.2.3.8 -6.-|
00000030  39 2e 34 20 2d 36 0a 2d  37 2e 31 20 2d 2e 35 0a  |9.4 -6.-7.1 -.5.|
00000040  2d 37 2e 35 20 2e 35 0a  2d 35 2e 32 20 36 92 6b  |-7.5 .5.-5.2 6.k|
00000050  37 7b 92 63 7d 92 83 35  2e 35 92 14 30 92 6f 2d  |7{.c}..5.5..0.o-|
00000060  38 20 2d 31 0a 2d 38 20  31 92 6b 32 7b 31 35 20  |8 -1.-8 1.k2{15 |
00000070  30 92 85 92 6b 7d 92 83  30 20 30 20 35 2e 35 20  |0...k}..0 0 5.5 |
00000080  30 20 33 36 30 92 05 92  a7                       |0 360....|
00000089

হ্যান্ড কোডেড বাইনারি ফাইল ডাউনলোড করুন

এএসসিআইআই সংস্করণ:

h 12 div dup scale
7.5 6 translate
5 6
1.8 -1.5
3.8 -3.2
3.8 -6
-9.4 -6
-7.1 -.5
-7.5 .5
-5.2 6
moveto
7{lineto}repeat
clip newpath
5.5 0
-8 -1
-8 1
moveto
2{15 0 rlineto moveto}repeat
0 0 5.5 0 360 arc
stroke

হিসাবে সংরক্ষণ করুন euro.psএবং ঘোস্টস্ক্রিপ্টের মতো চালান

gs -dh=80 euro.ps

ঘোস্টস্ক্রিপ্ট দ্বারা রেন্ডার করা 80 পয়েন্টের ইউরো চিহ্ন

gs -dh=20 euro.ps

ঘোস্টস্ক্রিপ্ট দ্বারা উপস্থাপিত ইউরো চিহ্ন, 20 পয়েন্ট

যেহেতু পোস্টস্ক্রিপ্টে পিক্সেলের মতো কোনও জিনিস নেই, সেই উচ্চতার পরিবর্তে পয়েন্টগুলিতে ব্যাখ্যা করা হয়। কমান্ড লাইনে স্যুইচ করার জন্য আমি +6 গণনা করেছি।


1
মেহ, সংকলিত ফাইলের আকারকে আমার কীভাবে হারাতে হবে। : ডি ... এই বাইনারি টোকেনগুলি কীভাবে কাজ করে? এটি কি মূলত হাতে হাতে কোড সংকলনের মতো নয়?
মার্টিন ইন্ডার

DCলাইন অনুভূমিক স্ট্রাইপগুলি সঠিকভাবে কাটবে না। নীচে থেকে লম্ব নিচের Dদিকে সঠিক জায়গায় 'বৃত্ত' আকৃতিটি কাটবে না, নিম্নে :( আপনার এসভিজি উত্তরের সাথেও একই রকম মনে হচ্ছে
ব্যবহারকারী 2846289

অনুভূমিক স্ট্রাইপের বাম প্রান্তটি সারিবদ্ধ হয় না।
ব্যবহারকারী 2846289

@ m.buettner সবচেয়ে গুরুত্বপূর্ণ পোস্টস্ক্রিপ্টের নাম দুটি বাইট ক্রম ব্যবহার করে প্রকাশ করা যেতে পারে। এটি সত্যিই সংকলন করছে না যে আপনি কোনও সি বা জাভা প্রোগ্রাম সংকলন করবেন। এটি কোনও পোস্টস্ক্রিপ্ট প্রোগ্রামের মতো একই পার্সিং প্রক্রিয়াতে যাবে। যদি আপনি হেক্সডাম্পের দিকে তাকান বা কোনও পাঠ্য সম্পাদকটিতে বাইনারি ফাইলটি খোলেন আপনি দেখতে পাবেন এটি প্রায় ASCII সংস্করণের মতো তবে বেশিরভাগ নাম দুটি বাইট ক্রম দ্বারা প্রতিস্থাপিত হয়েছিল।
টমাস ডাব্লু।

@ ভাদিমআর আপনার তীক্ষ্ণ চোখ আছে! আমার ধারণা আমি ব্রেভিটির জন্য খুব বেশি নির্ভুলতার সাথে ব্যবসা করেছি (খুব আক্রমণাত্মকভাবে গোল করছি)। আমাকে কিছু অঙ্ক যুক্ত করতে হতে পারে।
টমাস ডাব্লু।

13

পাইথন - কচ্ছপ - 517

import turtle,sys
from math import *
q=sqrt
h=int(sys.argv[1])/24
t=turtle.Turtle()
z=t.begin_fill
y=t.end_fill
x=t.goto
w=t.towards
v=t.fd
u=t.circle
r=t.seth
o=t.setx
n=t.xcor
t.pu()
x(10*h,0)
t.left(90)
t.circle(10*h,40)
z()
A=w(0,-12*h)
B=2/sin(A*pi/180)
u(10*h,280)
r(-90)
C=n()/h
v((q(144-C*C)-q(100-C*C))*h)
D=w(0,0)
r(D+90)
u(-12*h,D+135.42)
y()
F=2*pi/9
G=h*cos(F)/(5*sin(F)+6)
x(45*G,-3*h)
z()
o(-15*h)
r(A)
v(B*h)
o(45*G+15*h+n())
y()
x(65*G,h)
z()
o(-15*h)
r(A)
v(B*h)
o(65*G+15*h+n())
y()
t.ht()
input()

python % 100এবং python % 500যথাক্রমে:


3
আপনি যে শর্টকাট নির্ধারণ করেছেন তার থেকে মুক্তি পেয়ে আপনি প্রচুর অক্ষর বাঁচাতে পারেন। আপনি কেবল cএকবার ব্যবহার করেন , সুতরাং এটির চেয়ে কেবল এটি খাটো করতে হবে math.cosএবং আমি মনে করি এমন আরও কিছু লোক রয়েছে যা আপনি সামগ্রিক দৈর্ঘ্য কাটতে অস্বীকার করতে পারেন।
এজেম্যানসফিল্ড

1
উপসর্গগুলি from math import *ফেলে রেখে আপনি ছয়টি অক্ষর শেভ করতে পারেন math.
অ্যালেক্সওয়ালচান

3
আপনি সংজ্ঞায়িত করেছেন u=t.circle, তবে কয়েক লাইন পরে আপনি কোনও t.circle(...)কল স্যুপ আউট করতে ভুলে গেছেন ।
আলকোনজা

2
Draw আঁকতে কচ্ছপ € বেঁচে থাকার কি সময়।
নিট

13

পিএইচপি, 432 435 367 356 334 বাইট

(সম্পাদনা করুন: দৃশ্যত আইজে এবং জিএইচ বিসিডিইডি-র সমান্তরাল হওয়ার কথা। এখনই ঠিক করা হয়েছে)

এই স্ক্রিপ্টটি একটি এসভিজি চিত্র আউটপুট করে, তবে এটি হিসাবে পরিবেশন করবে text/html ডিফল্ট । আমি মনে করি বেশিরভাগ ব্রাউজার এটি এম্বেডড এসভিজি চিত্রযুক্ত একটি HTML ওয়েব পৃষ্ঠা হিসাবে বিবেচনা করবে। এটি যাইহোক আমার জন্য ঠিক আছে বলে মনে হচ্ছে।

চিত্রটির উচ্চতা ক্যোরি স্ট্রিং প্যারামিটার হিসাবে পাস করা হয়েছে। (দ্রষ্টব্য: বাইট গণনায় 3 লাইনের শেষে একটি নতুন লাইন চরিত্র অন্তর্ভুক্ত রয়েছে, এটি সঠিকভাবে কাজ করার জন্য প্রয়োজনীয়)।

<?php $x=$_GET['x']/12;$a=$x*5;$b=$x*6;$c=$x*7;$d=$x*12.4884;$e=$x*2.2863;$f=$x*5.5;$g=$x*.4157;$h=$x*6.5;$i=$x*7.5;$j=$x*12;$k=$x*11.3302;$l=$x*9.1628;$m=$x*8;$s=$x*12;echo<<<Q
<svg width="$s" height="$s"><clipPath id="c"><path d="M$d 0H$e L0 $f L$g $h L0 $i V$s H$k V$m H$l z"/></clipPath><g clip-path="url(#c)" fill="none" stroke="#000" stroke-width="$x"><circle cx="$i" cy="$b" r="$f"/><path d="M0 $a H$k M0 $c H$k"/></g></svg>
Q;

আপডেট সংস্করণ ( 367 356 334 বাইট):

preg_replace_callback()সংখ্যাগত মানগুলিকে স্কেল করার অনেক বেশি কার্যকর উপায়। এই কোডটি মূল সংস্করণ হিসাবে একই আউটপুট উত্পাদন করে। (সম্পাদনা করুন: আরও কমানোর ধন্যবাদ আইনাসিওকে ধন্যবাদ )

<?php
echo preg_replace_callback('/[\d\.]+/',function($m){return$m[0]*$_GET['x']/12;},'<svg width=12 height=12><clipPath id=c><path d=M12.4884,0H2.2863L0,5.5,0.4157,6.5,0,7.5V12H11.3302V8H9.1628z /></clipPath><g clip-path=url(#c) fill=none stroke=black stroke-width=1><circle cx=7.5 cy=6 r=5.5 /><path d=M0,5H11M0,7H11 /></g></svg>');

আউটপুট:

euro.php? এক্স = 60

এখানে চিত্র বর্ণনা লিখুন

euro.php? এক্স = 200

এখানে চিত্র বর্ণনা লিখুন


widthএবং heightএখানে অপ্রয়োজনীয়। এবং xmlnsবেশিরভাগ ব্রাউজারে রেন্ডার করার জন্য আপনাকে এটি নির্দিষ্ট করতে হবে (পরীক্ষিত ফায়ারফক্স এবং ক্রোম; এমনকি এসভিজির সঠিক এমআইএমআই টাইপ প্রেরণ করা হলেও তারা উভয়ই এটি এসএমজি হিসাবে নয়, এক্সএমএল হিসাবে রেন্ডার করে)। আইডোন.ন.জেককিভিএল0 (369 বাইট সমাধানের জন্য হার্ডকডড এক্স মানটি সরিয়ে দিন)
টিম এস

@TimS। না, আপনি আদর্শভাবে পিএইচপি কোড চালনা করে ফলাফলগুলি কোনও এসভিজি ফাইলে অনুলিপি করলে এটি সঠিকভাবে কাজ করবে না। তবে আপনি যদি সত্যই কোনও ওয়েব সার্ভারে স্ক্রিপ্ট প্রকাশ করেন তবে পিএইচপি (ডিফল্টরূপে) মাইম টাইপের ফলাফলগুলি পরিবেশন করবে text/html। এটির সাথে ক্রোম এবং ফায়ারফক্সের কোনও সমস্যা নেই, যদিও আমি সবেমাত্র আবিষ্কার করেছি যে সাফারিটি খানিকটা বেহায়াপন।
চটজলদি ossifrage

আহ! আমি কৌশলটি এখন দেখছি: এর text/htmlসাথে <svg>...একটি svgউপাদান সহ একটি এইচটিএমএল ফাইল হিসাবে ব্যাখ্যা করা হয়েছে , যার প্রয়োজন xmlnsনেই তবে প্রয়োজন widthএবং প্রয়োজন height। আমি একটি এসভিজি ফাইলের শর্তে ভাবছিলাম, যার সঠিক প্রয়োজন xmlns। আপনার কোড ঠিক আছে।
টিম এস

দ্বিতীয় কোডে, আপনি যদি 12 এর পরিবর্তে 24 ব্যবহার করেন, তবে আপনি প্রতিটি x.5 মানের 1 টি বাইট হ্রাস করবেন না?
আইনাসিও

@ আইনাসিও হ্যাঁ! :-) দুর্ভাগ্যক্রমে আমি "5", "6", "7" এবং "8" এর প্রতিটি ঘটনায় একটি বাইটও অর্জন করি। ফলাফল দৈর্ঘ্য ঠিক একই।
চটজলদি ossifrage

9

sh, 8604

আমি মনে করি কেউ সম্ভবত আরও ভাল করতে পারে তবে আসুন শুরু করা যাক।

echo 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|base64 -d|unxz>e.svg;echo \<img src=e.svg height=$1\>>e.htm;firefox e.htm

3
আউটপুটটিকে হার্ড-কোডিংয়ের মানক লুফোলের অধীনে আসবে না?
ব্যবহারকারী 80551

4
এটি অবশ্যই "স্ট্যান্ডার্ড লুফোলস" বিভাগের অধীনে আসে।
ইগলিবু

2
@ ইগলিবু: কেমন?
রাই-

18
কোড-গল্ফ চ্যালেঞ্জের জন্য এটি একটি দীর্ঘ উত্তর। :-)
এএল

2
@ ইগ্লাইবু অসম্মতি .svg ভেক্টর ভিত্তিক তাই অতুলনীয়ভাবে মাপা যায় - এবং $1ইনপুট পরামিতি দ্বারা হয় ।
ডিজিটাল ট্রমা

9

এইচটিএমএল 5, 395

==> এটি অনলাইনে চেষ্টা করুন

<canvas id=c><script>_='function e,t,n){c.savtranslate,trotatn?0:.42)}v=docuEleById("c"c=vContex"2d"scalw=(v.width=v.height=promp))/12,w76,1arc(56--114.2,6,66-13,6.-   2,1 11.5)c.clearRec2restor-7mov-71lin6,.5,strokt(   .5--e(0,);1,ment.geteTo(';for(Y in $='  ')with(_.split($[Y]))_=join(pop());eval(_)</script>

কোডটি জেএসক্রাশ ব্যবহার করে সংকুচিত হয়েছে

নিবিড়িত কোডটি এখানে:

<canvas id=c>
<script>
v=document.getElementById('c');
c=v.getContext('2d');
function r(){c.rotate(0.42)}
function t(x,y){c.save();c.translate(x,y)}
c.scale(w=(v.width=v.height=prompt())/12,w);
t(7.5,6);
c.arc(0,0,5.5,0,6);
c.stroke();
c.moveTo(-7.5,-1);c.lineTo(6,-1);
c.moveTo(-7.5,1);c.lineTo(6,1);
c.stroke();
c.clearRect(4.2,0,6,6);
t(0,6);r();
c.clearRect(0,-11,3,6.2);
c.restore();
t(-7.5,-0.5);r();
c.clearRect(-1,-2,1,2);
c.restore();
t(-7.5,1.5);r();
c.clearRect(-1,-1.5,1,1.5)
</script>

ক্রাশ প্রয়োগের আগে উত্সটি গল্ফ করে এটি 378 এ হ্রাস করা যেতে পারে: jsfiddle.net/_nderscore/EUBG8
nderscore

এটি জাভাস্ক্রিপ্ট, এইচটিএমএল নয়। আমি কীভাবে কাজ করে তা বুঝতে না পেরে মানুষ ক্লান্ত হয়ে পড়েছি।
কচ্ছপ

1
হ্যাঁ, কারণ <canvas>ট্যাগটি জাভাস্ক্রিপ্ট ... এইচটিএমএল 5 প্রায়শই এইচটিএমএল / সিএসএস / জেএস না লেখার জন্য ব্যবহৃত হয়। লোকেরা এটি বোঝে না এমন নয়, প্রোগ্রামাররা প্রায়শই অলস হয় (অন্তত আমি আছি)। আপনার মন্তব্যটি কিছুটা কঠোর মনে হচ্ছে।
মাইকেল এম

@ মিগ আমি কি ভাবলাম এইচটিএমএল + সিএসএস + জেএসকে ডিএইচটিএমএল বলা হয়?
কিনোকিজুফ

6

পোস্টস্ক্রিপ্ট, 270

7 7 অনুবাদ
/ L {lineto} Def
/ o {0 0} Def
o 6 44.85 165.52 আর্ক
-7.08 1.5 লি
-7.5 .5 লি
o 6 175.22 184.74 আর্ক
-7.08 -.5 l
-7.5 -1.5 লি
o 6 194.48 309.67 আর্ক
o 5 320 197.46 আরকন
1.87 -1.5 l
2.29 -.5 l
o 5 185.74 174.26 আরকন
2.7 .5 লি
3.12 1.5 লি
o 5 162.54 40 আরকন
ক্লোজপথ পূরণ

এটি কেবল জিওজেব্রার সাহায্যে গণনা করা স্থানাঙ্কগুলির উপর ভিত্তি করে পাথ উপাদানগুলিকে যুক্ত করে আউটলাইনটি সংজ্ঞায়িত করে এবং এরপরেখাটি পূরণ করে।

আমি lineto( /l{lineto}def) এবং বৃত্তের উত্স ( ) এর শর্টকাট যুক্ত করে কিছু অক্ষর সংরক্ষণ করেছি/o{0 0}def

একটি ভিন্ন আকার নির্দিষ্ট করতে, ফর্মটির একটি কমান্ড যুক্ত করুন height width scale প্রথম ফাঁকা লাইনের পরে ।

নিজে থেকে চালানো হলে, এটি ডিফল্ট পৃষ্ঠা আকারের পৃষ্ঠার নীচে বাম-কোণে ইউরো চিহ্নটি আঁকবে। যেমন এটি সংরক্ষণ করুনanything.ps এবং এটি কোনও দস্তাবেজ দর্শকের সাথে দেখুন।

ডিফল্ট আকারে এটির একটি চিত্র এখানে প্রতি ইঞ্চিতে 90 পিক্সেলের কিছুটা কম ছড়িয়ে দেওয়া হয়েছে:

ডিফল্ট আকার 90 পিপিআই

4x আকারে:

90 পিপিআই এ 4x আকার

আপনি নিজের দেখার আনন্দের জন্যও মূলটি ডাউনলোড করতে পারেন ।


2
এটি কি সাইন সাইজের সংজ্ঞা দেওয়ার জন্য কোনও যুক্তি পড়ে?
এএল

@ n.1 ওহ, দুঃখিত, আমি অনুমানের অংশটি পড়িনি। আমি রাতের খাবারের পরে ঠিক করে দেব।
জে ম্যান্সফিল্ড 22

রেন্ডার করা ফাইলটির একটি স্ক্রিনশট যুক্ত করুন।
AL

1
@ n.1 আমি চিত্রগুলি যুক্ত করেছি।
জে ম্যানসফিল্ড

5

পিএইচপি (এসভিজি ছাড়াই), 628 597 বাইট

ফাংশনগুলির জন্য দুর্দান্ত শর্টকাট (উদাঃ $c = print; $c('Hello world!');) এর জন্য AsksAnyway কে ধন্যবাদ ।

<?php header('Content-type:image/png');$h=$_GET['h'];$i=imagecreatetruecolor($h*1.1,$h*1.1);$c=imagecolorallocate;$b=$c($i,0,0,0);$w=$c($i,255,255,255);imagefill($i,0,0,$w);$l=$h*.7;$t=$h*.55;$u=$h/12;$e=imagefilledellipse;$e($i,$l,$t,$h,$h,$b);$e($i,$l,$t,$h*5/6,$h*5/6,$w);$f=imagefilledpolygon;$f($i,array($l+$u*5,$t+$u*1.5,$l-$u*7.5,$t+$u*1.5,$l-$u*7.125,$t+$u*0.5,$l+$u*4,$t+$u*.5,$l+$u*4,$t-$u*.5,$l-$u*7.5,$t-$u*.5,$l-$u*7.125,$t-$u*1.5,$l+$u*5,$t-$u*1.5),8,$b);$f($i,array($l+$u*4.24,$t-$u*4.24,$l+$u*1.84,$t+$u*1.5,$l+$u*3.84,$t+$u*3.26,$l+$u*3.84,$t+$u*4.62,$h*2,$t,),5,$w);imagepng($i);

file.php?h=200চিত্রটি দেখতে আপনার ব্রাউজার থেকে কল করুন

স্থানাঙ্কগুলি জিআইএমপি দিয়ে সম্পাদিত পরিমাপের উপর ভিত্তি করে

100 পিক্সেল:

P 100 পিক্সেল

200 পিক্সেল:

P 200 পিক্সেল

স্তরগুলি ধাপে ধাপে যুক্ত হয়েছে:

# জিআইএফ

অরোগল্ফড কোড (ভগ্নাংশ সহ, গল্ফযুক্ত কোডের গোলাকার মান রয়েছে)

<?php
header('Content-type: image/png');

$h = $_GET['h'];

$i = imagecreatetruecolor($h * 1.1,$h * 1.1);

$c = imagecolorallocate;

# black
$b = $c($i,0,0,0);
# white
$w = $c($i,255,255,255);

imagefill($i,0,0,$w);

$l = $h * .7; # distance between left and center of the circle
$t = $h * .55; # distance between top and center of the circle

# one "unit", as defined by the specs
$u = $h / 12;

$e = imagefilledellipse;
# disk is black
$e($i, $l, $t, $h, $h, $b);
# inner disk is white
$e($i, $l, $t, $h * (5 / 6), $h * (5 / 6), $w);

$f = imagefilledpolygon;
# draw 2 bars in black
$f($i, array(
# bottom bar
$l + $u * 5, $t + ($u * 1.5), # bottom right
$l-$u * 7.5, $t + ($u * 1.5), # bottom left
$l-$u * 7.125, $t + ($u * 0.5), # top left
$l + $u * 4, $t + ($u * 0.5), # top right
# top bar
$l + $u * 4, $t - ($u * 0.5), # bottom right
$l-$u * 7.5, $t - ($u * 0.5), # bottom left
$l-$u * 7.125, $t - ($u * 1.5), # top left
$l + $u * 5, $t - ($u * 1.5) # top right
), 8, $b);

# hide right parts of bars and circle by drawing white
$f($i, array(
$l + $u * 6 * (212 / 300), $t - ($u * 6 * (212 / 300)), # right of the disk
$l + $u * 6 * (92 / 300), $t + ($u * 6 * (74 / 300)), # left = bottom right of bottom bar
$l + $u * 6 * (191 / 300), $t + ($u * 6 * (163 / 300)), # bottom of the circle
$l + $u * 6 * (191 / 300), $t + ($u * 6 * (231 / 300)), # bottom of the circle too
$h * 2, $t, # some point at the right of the image (outside the image)
), 5, $w);

imagepng($i);

4

বাশ + ইমেজম্যাগিক + লিনাক্স কমান্ড-লাইন সরঞ্জাম, 460 বাইট

base64 -d<<<H4sIADBMaVMAAy1Ru27DMAz8FUJdBVsk9QziLFo8uD/QrUDSOIDTBo1Rt39fUsl0POp0PEr7+88Zfq/L530w87redn2/bVu3cff1fe7JOdeLwsB2Oa7zYDw7A/Ppcp5XJWQO+9v7OsN9/VtOg/m4LMvuRS4ZOA7m1VkseQpBoQZvyXlQQPeA2JpEjVEGURL7EePkLCU3Rqw5Wo4EmLALVgaC9BUrk392OAWt0HUBPHrb+NQq4i5UzigeSU6Zsii5xOYiWLE0BCT1Z89QVKLD2dPEIbdEBasINWIDaiDxG2BjslpBXXTk5CeWFkYa1a2KuS0OMBfJ8RgdKzMr03DRP5Ojy5O8sE2ksdU1g+pcu+SqvILUWddNCBHbCIxvpj/s9ZsO/xXfC57OAQAA|zcat|convert -scale $1 svg:- png:-|xview stdin

এটি @ মিনিটেকের উত্তর হিসাবে একই কৌশল । তবে .svg ডেটা এখান থেকে আসে, যা অনেক খাটো: http://commons.wikimedia.org/wiki/File:Euro_symbol_black.svg । ইমেজম্যাগিক ভেক্টর ডেটাটিকে অনুরোধক স্কেল এবং পাইপগুলিকে। ভিউতে রূপান্তর করে ts

এর জন্য আউটপুট ./euro.sh 30:

এখানে চিত্র বর্ণনা লিখুন

এর জন্য আউটপুট ./euro.sh 300:

এখানে চিত্র বর্ণনা লিখুন


7
বড় সংস্করণটি কেন পূরণ হচ্ছে না?
কোল জনসন

2
আপনি কিভাবে স্টিডিনে চিত্র আউটপুট করতে পারেন?
ফুকলিভ

@ LưuVĩnhPhúc আপনি স্ট্যান্ডার্ড ইনপুটটিতে "আউটপুট" রাখতে পারবেন না। তিনি কেবলমাত্র এমন একটি চরিত্রের পাঠাচ্ছেন base64যা একটি প্রোগ্রাম যা এটি বাইনারি টোকেনগুলিতে বিভক্ত করে (স্পষ্টতই একটি এসজিজি ফাইলকে উপস্থাপন করে), যার সাহায্যে তিনি আরও স্টাফ করেন।
টায় টমসডিং করুন

2
@ টমসডিং আমি বিশ্বাস করি তারা উইন্ডো শিরোনাম "স্টিডিন" বলে বিভ্রান্ত হয়েছিল।
এমনিআইপি

@ কোল জনসন আমার মনে হয় যে কোনও সংস্করণই ভরাট নয়, তবে ছোট সংস্করণে অভ্যন্তরীণ এবং বাইরের রেখাগুলি দৃ appear়ভাবে উপস্থিত হওয়ার জন্য যথেষ্ট পরিমাণে রেন্ডার করা হয়েছে। ইমেজম্যাগিকের সাথে স্পষ্টভাবে কিছু অদ্ভুত আলিয়াজিংয়ের বিষয়টি চলছে যা আমি পুরোপুরি বুঝতে পারি না - তবে আমি মনে করি যে উত্পন্ন চিত্রটি কোড-গল্ফের জন্য যথেষ্ট কাছে রয়েছে ;-)
ডিজিটাল ট্রমা

2

পিওভ-রে (370 বাইট)

আমি একই উল্লম্ব অঞ্চলটি কীভাবে রেন্ডার করব এবং একই সাথে দিক অনুপাত সংরক্ষণ করব তা বুঝতে পারছিলাম না, তাই আমি ঠিক উচ্চতা এবং তার ব্যবহারকারীর কাছে কেবল 4: 3 ফর্ম্যাটে রেন্ডার করার সিদ্ধান্ত নিয়েছি

camera{angle 9 location 102*z right x*8 up y*6 look_at 0}
light_source{99*z color 1}
plane{z,0 pigment{color rgb 1}}
#declare b=difference{box{<-5,-.5,1>,<8,.5,1>}box{-2,2 rotate-67*z translate 9.4*x}}
difference{union{torus{5.5,.5 rotate 90*x}object{b translate y}object{b translate -y}}box{<-3.83,-5,-3>,<-7,0,3>}box{<0,7,3>,<-4,-2,-3>rotate 23*z translate-2.5*x}}

সাথে চালানো povray.exe /RENDER euro.pov -w600 -h800

এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন


2

প্রসেসিং, 232 বাইট

প্রসেসিং কমান্ড লাইন আর্গুমেন্টগুলি গ্রহণ করার অনুমতি দেয় না কারণ এটি অঙ্কনের জন্য এতটা বিশেষায়িত, তবে আমার ফাংশনটি ক্ষতিপূরণ হিসাবে উচ্চতা হিসাবে পরামিতি নেয়। স্থানাঙ্কগুলি উপরের চিত্র থেকে শক্ত কোডড / আনুমানিক, এবং স্বেচ্ছাসেবী আকারের অঙ্কন পেতে পুরো ক্যানভাস ইনপুট প্যারামিটারের ভিত্তিতে মাপা হয়।

void E(int h){scale(h/12,h/12);noFill();strokeWeight(1);arc(7.5,6,11,11,0.7,PI*2-0.7,OPEN);noStroke();fill(0);shearX(-PI/6);rect(3.2,4.5,9,1);rect(4.4,6.5,8,1);shearX(PI/6);fill(255);rect(11,6,9,6);triangle(8.75,6,12.25,6,12.25,0);}

অসম্পূর্ণ + পুরো প্রোগ্রাম

void setup()
{
  size(575, 500);
}

void draw()
{
  background(255);
  E(height);
  noLoop();
}

void E(int h)
{
  scale(h/12,h/12);
  //Main "C"
  noFill();
  strokeWeight(1);
  arc(7.5,6,11,11,0.7,PI*2-0.7,OPEN);
  //settings for other shapes
  noStroke();
  //the two bars
  fill(0);
  shearX(-PI/6);
  rect(3.2,4.5,9,1);
  rect(4.4,6.5,8,1);
  //bottom cut of "C"
  shearX(PI/6);
  fill(255);
  rect(11,6,9,6);
  //top cut of "C"
  triangle(8.75,6,12.25,6,12.25,0);
}

আউটপুট

ইউরো স্কেচ প্রক্রিয়াজাতকরণ


1
আপনি ব্যবহার করে গলফ পারেন 1পরিবর্তে OPENপাশাপাশি পরিবর্তন 255মধ্যে backgroundএবং fillকল-1
Kritixi Lithos
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.