Dra (বায়োহাজার্ড প্রতীক) আঁকুন


66

একটি পৃথক রঙিন পটভূমিতে একটি ইচ্ছামত রঙে বায়োহাজার্ড প্রতীক আঁকুন। সুনির্দিষ্ট অনুপাত মার্কিন সরকারের ফেডারেল রেজিস্ট্রারের 27 ই জুন 1974 সালের প্রকাশিত হয়েছিল ।

বিস্তারিত

  • আউটপুট হিসাবে, কোনও ফাইলে লেখার (রাস্টার এবং ভেক্টর ফর্ম্যাটগুলি অনুমোদিত) বা স্ক্রিনে প্রদর্শন উভয়ই অনুমোদিত।

  • আপনি কেবল সীমানা বা ভরাট আকার আঁকতে পারেন।

  • আপনি যদি রাস্টার চিত্র ব্যবহার করেন তবে আপনাকে ইনপুট হিসাবে একটি প্যারামিটার (বা দুটি) নেওয়া উচিত যা আপনাকে আউটপুটটির রেজোলিউশন সামঞ্জস্য করতে দেয় (যেমন প্রস্থ / উচ্চতা)।

  • পটভূমিতে কমপক্ষে প্রতীকটির সীমানা বাক্সের আকার থাকতে হবে তবে এটি আরও বড় হতে পারে।

  • ইউনিকোড প্রতীক Out আউটপুটিং যথেষ্ট নয়

  • ব্যবহৃত দূরত্বের সঠিক অনুপাত ডায়াগ্রাম (যার থেকে মূলত ছিল নিম্নলিখিত দেওয়া হয় এখানে ):

আমি একই পরিমাপের সাথে একটি অতিরিক্ত চিত্রও তৈরি করার চেষ্টা করেছি যা আশা করি কিছুটা পড়া সহজ:

( 99% অদৃশ্য একটি পোস্ট দ্বারা অনুপ্রাণিত )


2
লুফোল: আমরা কি ভেরিয়েবল সাইজের ব্যাকগ্রাউন্ডের ভিতরে 1x1 পিক্সেল চিত্র রাখতে পারি?
জন ডিভোরাক

আমি মনে করি না এটি হ'ল, যদি আপনি রেজোলিউশনটি যথেষ্ট পরিমাণে সেট করেন তবে প্রতীকটি এখনও উপস্থিত হওয়া উচিত। এবং যে কোনও ক্ষেত্রে আমি আশা করি যে এখানে লোকেরা আমাদের
অর্থটি

1
আমার যদি বাঁচার সময় থাকে তবে আমি এটি পোস্টস্ক্রিপ্ট বা টার্টল গ্রাফিক্স দিয়ে চেষ্টা করে দেখি।
গাই কোডার

1
@ শ্রীওচিলিজম ও'জাইক দৈর্ঘ্যটি দুটি চেনাশোনা দ্বারা নির্ধারিত হয়: তাদের প্রত্যেকটির একটি নির্দিষ্ট কেন্দ্র এবং ব্যাসার্ধ থাকে, সুতরাং দৈর্ঘ্যটি ফাঁকের আকার দ্বারা নির্ধারিত হয়।
flawr

1
এটি মূল চিত্রের "ই" (ক্রসগুলি বৃত্ত কেন্দ্রগুলি উপস্থাপন করে), এবং আমি নীচে যুক্ত করা একটিতে (যেখানে ব্যাসার্ধ প্রতিসাম্যের অক্ষটি পূরণ করে)। 11
flawr

উত্তর:


96

টি-এসকিউএল, 442 441 426 355 349 344 বাইট

DECLARE @ VARCHAR(MAX)=REPLACE(REPLACE(REPLACE('DECLARE @a5MULTIPOINT((0 31),(19 -2),(-19 -2))'',@b5MULTIPOINT((0 39),(26 -6),(-26 -6))'',@5POINT(0 9)'',@d5LINESTRING(0 9,0 99,90 -43,0 9,-90 -43)''SELECT @a830%b821)%86)%d81)%d84%819))).STUnion(@827%820)).STIntersection(@b819)))'
,8,'.STBuffer('),5,' GEOMETRY='''),'%',').STDifference(@')EXEC(@)

REPLACE()দীর্ঘ কীওয়ার্ড ব্যবহার করে এবং ডায়নামিক এসকিউএল হিসাবে চালিত করে 70+ বাইট সংরক্ষণ করা হয়েছে । নীচের স্ক্রিনশটে পোস্ট-প্রতিস্থাপন কোডটি দেখুন।

আমি নমুনার চিত্র থেকে স্থানাঙ্কের মানগুলি দ্বিগুণ করেছি এবং প্রদর্শিত দশমিকের সংখ্যা কমাতে 9 টি ইউনিট সরিয়ে নিয়েছি।

এই এসকিউএল 2017 করা হয়েছিল ব্যবহার ভূ-স্থানিক বৈশিষ্ট্য এর 2008. প্রচুর SQL এর যে চালু দরকারী বিল্ট-ইন সহ জ্যামিতি ফাংশন, STBufferযার ফলে আমার একটি বিন্দুর চারিদিকে বিভিন্ন আকারের সাথে চেনাশোনা সংজ্ঞায়িত করতে একটি সহজ উপায় দেয়।

টেক্সট কোড সহ আউটপুট ভিজ্যুয়াল:

জিও-স্পেসিয়াল ফাংশন ব্যবহার করে টি-এসকিউএলে বায়োহাজার্ড প্রতীক

আরও টি-এসকিউএল অঙ্কনের জন্য, আমার ইস্টার বানি দেখুন

এসকিউএলে এই প্রযুক্তির আরও ব্যবহারিক প্রয়োগের জন্য, এই নিবন্ধটি পড়ুন বা এই ভিডিওটি দেখুন । এসই এমনকি একটি সম্পর্কিত সাইট আছে, gis.stackexchange.com

সম্পাদনা:

  1. 104 থেকে 99 এ স্থানাঙ্ক পরিবর্তন করে 1 বাইট সংরক্ষণ করা হয়েছে।
  2. পৃথকভাবে প্রতিটিের পরিবর্তে অবজেক্টের STDifferenceএকটি করে 15 বাইট সংরক্ষণ করা হয়েছে STUnion
  3. REPLACE()পুনরাবৃত্তি কীওয়ার্ড ব্যবহার করে 71 বাইট সংরক্ষণ করা হয়েছে , তারপরে গতিশীল এসকিউএল হিসাবে চালানো। এর আরও প্রতিস্থাপন ছেড়ে সম্পাদনা 2টিকে উল্টানো হয়েছে STDifference
  4. কেন্দ্রটিকে 9 টি ইউনিটে উপরে নিয়ে 4 টি বাইট সংরক্ষণ করা হয়েছে, যা কয়েকটি স্থানাঙ্ককে একক (নেতিবাচক) অঙ্কগুলিতে পরিবর্তন করেছে। এটি উদ্ধৃতিতে আরও দুটি বাইট সংরক্ষণের 5পরিবর্তে প্রতিস্থাপনের অক্ষর হিসাবে ব্যবহার করার জন্য অঙ্কটি মুক্ত করে '#'
  5. প্রতিস্থাপনের স্ট্রিংয়ে )গিয়ে 5 টি বাইট সংরক্ষণ করা STDifference; ধন্যবাদ, @ নিকোলাস!

56
কেন ... এটি বিদ্যমান?
আলেকজান্ডার

26
@ আলেকজান্ডার এমন ডেটাবেসগুলির জন্য যা ভৌগলিক ডেটা ধারণ করে বা ব্যবহার করে যেমন জনসংখ্যা শুমারি, বা বৈজ্ঞানিক গবেষণা, বা এমনকি ভৌগলিক অঞ্চলে কেবল গ্রাহক বিক্রয়। অথবা কেবল বনাই এবং বায়োহার্ডের প্রতীক আঁকার জন্য।
ব্র্যাডিসি

24
এসকিউএল একটি জিনিস যার জন্য বোঝানো হয়েছে তার পক্ষে যথেষ্ট খারাপ, তাদের ডান মনের দিক থেকে যারা এর বাইরে যেতে চাইবে। এসকিউএল লিখিত জিইউআই কল্পনা করুন। আমার টিকা, দিক এবং ইউনিট পরীক্ষার কাঠামো দরকার। আমাদের দেইহিপার যেতে হবে
আলেকজান্ডার

24
@ আলেকজান্দার আপনার ইচ্ছামতো
ফ্রিম্যান

15
@ ফ্রিমন ওহ ... এর জন্য!
আলেকজান্ডার

32

টেক্স + টিক্জ, 232 বাইট

টেক্সটে স্যুইচ করে 43 বাইট সংরক্ষণ করা হয়েছে। ধন্যবাদ ফেলাইপ ওলিনিককে

কিছু বাইট স্কিলমনকে ধন্যবাদ রক্ষা করেছে

\input tikz \tikz[x=1,y=1,white]{\def\f{\foreach\1in{90:,210:,330:}}\def\u{\draw[line width=}\def~{circle(}\f\fill[red](\122)~30);\f{\u2](0,)--(\111);\u8](\130)--(\160);\fill(\130)~21);}\fill~6);\u7,red]~23.5);\f\u2](\130)~20);}\bye

লাইন বিরতি এবং ছাড়া \def:

\input tikz
\tikz[x=1,y=1,white]{
\foreach\1in{90,210,330}\fill[red](\1:22)circle(30);
\foreach\1in{90,210,330}{
\draw[line width=2](0,0)--(\1:11);
\fill(\1:30)circle(21);
\draw[line width=8](\1:30)--(\1:60);
}
\fill(0,0)circle(6);
\draw[line width=7,red](0,0)circle(23.5);
\foreach\1in{90,210,330}\draw[line width=2](\1:30)circle(20);
}
\bye

ব্যাখ্যা

আমি কীভাবে চিত্রগুলিকে অসম্পূর্ণ না করা যায় তা আমি যখন ঠিক করতে পারি তখন এটি একটু পুরানো

এখানে আমি ব্যাখ্যা করতে যাচ্ছি যে কীভাবে সঙ্কুচিত উত্তর সমস্যার সমাধান করে। আমি এক পর্যায়ে ব্যাখ্যা করতে পারি যে সংক্ষেপণ কীভাবে কাজ করে। প্রথমে আমরা বড় কালো বৃত্ত আঁকাম:

\foreach\x in{90,210,330}\fill(\x:21)circle(30);

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

তারপরে আমরা কয়েকটি সাদা রেখা আঁকাম:

\foreach\x in{90,210,330}\draw[white,line width=2cm](0,0)--(\x:11);

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

তারপরে আমরা সাদা বৃত্ত আঁকাম:

\foreach\x in{90,210,330}\fill[white](\x:30)circle(21);

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

তারপরে আমরা একটি কেন্দ্রীয় সাদা বৃত্ত যুক্ত করব:

\fill[white](0,0)circle(6);

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

তারপরে আমরা একটি কালো অ্যানিউলাস যুক্ত করব:

\draw[line width=7cm](0,0)circle(25.5);

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

তারপরে আমরা কালো অ্যানিউলাসের কিছু অংশ সরিয়ে ফেলি

\foreach\x in{90,210,330}\draw[white,line width=2cm](\x:30)circle(20);

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


9
আপনি ছয়টি বহির্মুখী বিন্দু মুছে ফেলেন নি। প্রতিটি জুটির মধ্যে সাদা ইউনিটের 4 টি ইউনিট থাকতে হবে।
স্তর নদী সেন্ট

1
@ লেভেলরিভারস্টে ছয়টি বহিরাগত পয়েন্ট এখন তাদের সঙ্গী থেকে 4 ইউনিট দূরে রয়েছে।
গম উইজার্ড

2
এই "নখর টিপস" খুব স্পষ্ট, তারা কেন্দ্র বৃত্ত থেকে আগত বিভাগের সমান্তরাল সোজা রেখাংশগুলি থাকা উচিত। এছাড়াও 20.88 দেখতে বেশ সন্দেহজনক।
flawr

ব্যবহার করে আপনি অন্য বাইট সংরক্ষণ করতে পারবেন \1পরিবর্তে \x, যেমন তোমরা ব্যবহার করতে পারেন \def\f{\foreach\1in{90,210,330}}
স্কিলমন

1
@ ফ্লোয়ার ভাল ... তারা এখন আক্ষরিক অর্থে 5000x5000 এর চেয়ে খানিকটা ছোট ... এখন কেবল 90x90 ... বিস্তারিত সুনির্দিষ্টভাবে জানাতে পারেন: ডি
নেলসন

15

সি, 8010 বাইট

এসভিজি বা ইএমএফের আগে, আপনাকে রাস্টার সাথে ডিল করতে হয়েছিল এবং আপনি যদি এখনই কিছু লোড করতে চান তবে উইন্ডোজ স্টার্টআপ স্ক্রিনের মতো ও / এস প্রস্তুত হওয়ার আগে বলুন, আপনাকে আরএলই, বা রান-দৈর্ঘ্য ব্যবহার করতে হবে -encoding। এই দৈত্যটি একটি পিবিএম ফাইলকে আউটপুট করে আরএলইটিকে ডেটা হিসাবে ব্যবহার করে। যথারীতি গড়ে তুলুন এবং এভাবে চালান ./biohazard > biohazard.pbm

যদি আপনি উত্পন্ন করার জন্য প্রয়োজনীয় সমস্ত ফ্রেমওয়ার্কগুলি অন্তর্ভুক্ত করেন, যেমন এইচটিএমএলে এসভিজি ইঞ্জিন, জাভা লাইব্রেরি ইত্যাদি this এটি সম্ভবত সবচেয়ে ছোট স্বয়ংসম্পূর্ণ সমাধান হতে পারে , কারণ putsএটি কেবলমাত্র বাহ্যিক কাজ, এবং এটি সাধারণত ক্ষুদ্রতম একটি one stdio.hফাংশন।

এই বিস্তারিত সম্পর্কে:

আপনি যদি রাস্টার চিত্র ব্যবহার করেন তবে আপনাকে ইনপুট হিসাবে একটি প্যারামিটার (বা দুটি) নেওয়া উচিত যা আপনাকে আউটপুটটির রেজোলিউশন সামঞ্জস্য করতে দেয় (যেমন প্রস্থ / উচ্চতা)।

আমি "আবশ্যক" থেকে "আলাদা" হিসাবে ব্যাখ্যা করা উচিত, যেমন আরএফসি 2119 এর মতো , সুতরাং আমি স্কেলিংটি অন্তর্ভুক্ত করি নি, কারণ এই কোডের জন্য এটি কেবলমাত্র মূলটির বহুগুণ করা সম্ভব হবে, উদাহরণস্বরূপ ./biohazard 2এবং এটি পরিচয় করিয়ে দেবে atoi, printfএবং অন্যান্য জটিলতা যা জমা দেওয়ার মূল ফোকাস থেকে বিরত থাকবে।

int o,i,x[]=
{4946,3,33,2,389,8,33,8,378,13,33,13,369,17,33,16,363,20,33,20,356,19,41,19,350,18,49,18,344,18,55,18,339,17,61,17,334,
17,66,17,330,17,71,17,325,17,75,17,321,17,79,17,317,17,83,17,313,17,87,16,311,16,90,17,307,17,93,17,303,17,97,17,300,
17,99,17,297,17,102,18,293,18,105,17,291,18,107,18,288,17,110,18,285,18,113,17,283,18,115,18,280,18,117,18,277,19,119,
18,275,19,121,19,272,19,123,19,270,19,125,19,268,19,127,19,266,19,129,19,263,20,131,19,261,20,133,19,259,20,134,20,257,
20,136,20,255,21,137,20,253,21,139,20,251,21,141,20,249,21,142,21,248,21,143,21,246,21,145,21,244,21,146,22,242,22,147,
22,240,22,149,22,238,22,150,22,238,22,151,22,236,22,152,23,234,23,153,23,232,23,155,22,232,23,155,23,230,23,157,23,228,
24,157,24,226,24,159,23,226,24,159,24,224,24,160,25,222,25,161,24,222,24,162,25,220,25,163,25,219,25,163,25,218,25,164,
26,216,26,165,25,216,26,165,26,214,26,166,26,214,26,167,26,212,27,167,26,212,26,168,27,210,27,169,27,209,27,169,27,208,
27,170,28,207,27,170,28,206,28,171,27,206,28,171,28,204,29,171,28,204,28,172,29,202,29,172,29,202,29,173,29,201,29,173,
29,200,30,173,29,200,30,173,30,198,31,173,30,198,30,174,31,197,30,174,31,196,31,174,31,196,31,175,31,195,31,175,31,194,
32,175,31,194,32,175,32,193,32,175,32,193,32,175,32,192,33,175,32,192,33,175,33,191,33,175,33,190,34,175,33,190,34,175,
33,190,34,175,34,189,34,174,35,189,34,174,35,188,35,174,35,188,35,174,36,187,36,173,36,187,36,173,36,187,36,173,36,186,
37,74,25,74,36,186,37,67,39,67,36,186,37,62,49,61,38,185,37,58,57,57,38,185,38,53,64,54,38,185,38,50,71,50,38,185,38,
47,76,48,38,185,38,45,81,44,39,184,40,41,87,41,39,184,40,39,91,39,39,184,40,37,95,37,39,184,40,35,99,34,41,183,41,32,
103,32,41,183,41,30,107,30,41,183,41,28,111,27,42,183,42,25,115,25,42,183,42,24,117,24,42,183,42,22,121,21,43,183,43,
19,124,20,43,183,43,18,127,18,43,183,43,17,129,16,44,183,44,14,133,14,44,183,44,13,135,12,45,183,45,11,137,11,45,183,
45,10,139,9,46,183,46,9,138,10,46,183,46,10,137,9,47,183,47,9,136,10,47,183,47,10,135,9,48,183,48,10,56,20,57,10,48,
183,49,9,50,33,49,10,48,184,49,10,45,41,45,10,48,184,50,10,40,49,40,10,49,184,50,10,37,55,36,10,50,185,50,10,33,60,34,
10,50,185,51,10,30,65,30,10,51,185,51,11,27,69,27,10,52,185,52,10,25,73,24,11,52,185,53,10,22,77,21,11,53,185,53,11,19,
81,19,10,53,186,54,11,16,85,16,10,54,185,56,11,13,88,14,11,56,181,59,11,11,91,11,11,59,176,63,11,8,94,9,11,63,171,66,
11,6,97,6,11,66,167,68,12,4,99,4,11,69,163,71,12,1,102,2,11,72,159,74,126,75,155,77,124,78,151,80,123,79,149,82,120,83,
145,85,118,86,141,88,116,88,139,90,114,91,135,93,112,93,133,96,109,96,130,98,107,98,127,101,104,102,124,104,101,104,
122,106,99,106,119,110,95,109,117,112,93,112,114,115,89,115,112,118,85,118,110,120,82,121,107,124,78,124,105,127,74,
127,103,131,69,130,101,134,65,133,99,137,60,137,97,141,54,141,95,146,47,145,93,151,39,150,91,157,29,156,89,166,13,165,
88,168,9,168,86,169,9,169,84,170,9,170,82,171,9,171,80,172,9,171,79,173,9,172,78,173,9,173,76,174,9,174,74,175,9,175,
72,176,9,175,72,176,9,176,70,177,9,177,68,64,20,93,10,94,20,63,68,57,34,83,17,83,33,58,66,54,42,77,21,76,43,54,64,51,
50,71,25,71,49,51,64,48,57,65,29,65,56,49,62,46,63,61,31,61,62,47,60,45,67,58,33,58,67,44,60,43,71,55,35,54,72,43,58,
41,36,8,32,52,37,51,33,8,35,41,58,40,36,17,26,49,39,48,27,16,37,40,56,39,38,22,23,46,41,45,24,21,39,39,55,37,40,26,21,
43,42,44,21,26,40,37,54,36,42,29,20,41,43,41,20,29,42,36,53,35,43,29,21,39,44,39,22,29,43,35,52,34,45,29,23,37,45,37,
23,29,45,34,51,33,46,29,24,35,46,35,25,29,46,33,50,32,48,29,26,33,47,33,26,29,47,33,49,31,49,29,27,32,47,32,27,29,49,
31,48,31,49,30,28,30,48,30,29,29,50,31,47,29,51,30,30,28,49,28,30,29,51,30,46,29,52,29,32,27,49,27,31,29,53,28,46,28,
53,29,33,26,49,26,32,29,54,28,44,28,54,29,34,25,49,25,33,29,55,27,44,27,55,29,35,24,49,23,35,29,56,27,43,26,56,29,36,
22,50,22,36,29,57,26,42,26,57,29,37,21,50,21,37,29,58,26,41,25,58,29,38,21,49,20,38,29,59,25,40,25,59,29,39,20,49,19,
39,29,60,24,40,24,60,29,40,19,49,19,39,29,61,24,39,23,61,29,41,18,49,18,40,29,62,23,38,23,62,30,41,17,49,17,41,29,63,
22,38,22,63,30,42,16,48,17,42,29,63,23,37,21,65,29,43,16,47,16,43,29,64,22,36,22,65,29,43,16,47,15,44,29,65,21,36,21,
66,29,44,13,50,14,44,29,66,21,35,20,67,29,45,11,53,11,45,29,67,20,34,20,68,29,46,8,57,8,46,29,67,20,34,20,68,29,46,6,
61,5,46,30,68,19,34,19,69,29,47,4,63,4,46,30,69,19,33,18,70,30,47,1,67,1,47,29,70,19,32,19,70,30,163,29,71,18,32,18,71,
30,61,2,37,2,61,29,72,18,31,17,73,29,59,5,35,5,58,30,72,18,31,17,73,29,58,7,33,7,57,30,73,17,30,17,74,30,55,10,31,10,
55,30,73,17,30,17,74,30,53,13,28,14,53,30,74,16,30,16,75,30,51,17,25,16,52,29,75,17,29,16,76,29,50,20,21,19,50,30,76,
16,29,15,77,30,50,21,16,22,50,30,77,15,29,15,77,30,50,26,7,25,51,30,77,15,28,15,78,30,51,57,50,30,78,15,28,15,78,31,50,
56,51,30,79,15,27,14,80,30,51,55,51,30,79,15,27,14,80,30,51,55,50,31,80,14,27,13,81,31,51,53,51,30,81,14,27,13,82,30,
51,53,51,30,82,13,27,13,82,31,50,52,51,31,82,13,26,13,83,31,51,51,51,31,82,13,26,13,83,31,51,51,50,31,84,12,26,13,84,
31,50,50,51,31,84,12,26,12,85,31,51,49,50,32,84,13,25,12,85,32,50,49,50,31,86,12,25,12,86,31,50,48,50,32,86,12,25,11,
87,32,50,47,50,32,86,12,25,11,87,32,50,47,49,32,88,11,25,11,88,32,49,47,49,32,88,11,25,11,88,32,49,46,49,32,89,11,25,
10,90,32,49,45,49,32,89,11,25,10,90,33,48,45,48,33,90,10,25,10,91,32,48,45,47,33,91,10,25,10,91,33,47,44,48,33,91,10,
25,10,91,34,46,44,47,33,92,10,25,9,93,33,47,43,46,34,92,10,25,9,93,34,46,43,46,33,93,10,25,9,94,34,45,43,45,34,94,9,25,
9,94,35,44,43,44,34,95,9,25,9,95,34,44,42,44,35,95,9,25,9,95,35,43,42,44,34,96,9,25,9,96,35,42,42,43,35,96,9,25,8,97,
36,42,41,42,35,97,9,25,8,98,36,41,41,41,36,97,9,25,8,99,36,40,41,40,36,98,8,26,8,99,37,39,41,39,36,99,8,26,8,100,37,38,
41,38,37,99,8,27,7,100,38,37,41,37,37,101,7,27,7,101,38,36,41,36,38,101,7,27,7,102,38,35,41,35,38,102,7,27,7,102,39,34,
41,34,38,103,7,27,7,103,39,33,41,33,39,103,7,27,7,104,39,32,41,32,39,104,7,27,7,104,41,30,41,30,40,104,7,29,6,105,41,
29,41,29,40,105,7,29,6,106,41,28,41,28,41,105,7,29,6,107,42,26,41,26,42,106,7,29,6,108,42,25,41,25,42,107,7,29,7,107,
44,22,42,23,43,108,6,30,7,108,44,21,42,21,45,108,6,31,6,109,45,19,42,20,45,109,6,31,6,110,46,17,43,17,46,110,6,31,6,
111,47,15,43,15,47,111,6,31,6,112,48,13,43,13,48,112,5,33,5,113,49,11,43,10,50,112,6,33,5,114,50,9,43,9,50,113,6,33,6,
113,50,8,44,9,49,114,6,33,6,114,48,9,45,8,48,115,5,35,5,115,47,9,45,8,47,116,5,35,5,117,45,8,46,9,45,116,6,35,6,117,44,
8,46,9,44,117,5,37,5,118,42,9,47,8,43,118,5,37,5,119,41,9,47,9,41,119,5,37,5,120,40,8,48,9,40,119,5,39,5,120,39,8,48,9,
38,121,5,39,5,121,37,9,49,8,37,122,5,39,5,123,35,9,49,9,35,123,4,41,5,123,34,8,50,9,34,123,5,41,5,124,32,9,51,9,31,125,
5,42,3,127,30,9,51,9,30,127,3,43,1,130,28,9,52,9,29,130,1,176,26,9,53,9,26,310,24,9,54,9,24,314,22,9,55,9,22,317,20,9,
55,9,20,320,18,9,56,10,17,324,15,10,57,9,16,327,13,9,58,10,13,331,10,10,59,9,11,335,8,9,60,10,8,339,5,10,61,9,6,344,2,
9,62,10,2,358,63,368,65,367,65,366,67,365,67,364,69,362,70,362,71,360,73,358,75,356,76,356,77,354,79,352,81,350,82,349,
84,215,2,130,86,130,3,79,5,129,87,128,6,77,6,127,89,126,6,79,6,125,91,124,7,80,6,123,93,122,7,82,6,121,95,120,7,84,6,
119,97,118,7,86,7,115,100,116,7,87,8,113,102,114,7,89,8,111,105,111,7,91,8,109,107,109,7,93,8,107,109,106,9,94,9,103,
112,104,9,96,9,101,115,101,9,98,10,97,118,98,10,100,10,95,121,95,10,102,11,91,124,92,11,104,11,89,127,88,11,107,12,85,
131,85,11,110,12,81,135,81,12,112,13,77,138,78,13,114,14,73,143,73,14,116,15,69,72,2,73,69,15,118,17,63,74,5,73,64,16,
122,17,59,75,7,75,58,18,124,19,53,77,9,77,53,19,126,22,45,79,13,78,46,21,130,24,37,82,15,81,38,24,132,28,27,85,18,86,
27,28,135,37,5,95,21,95,5,37,138,134,24,135,141,131,27,131,144,128,31,127,148,124,34,125,151,121,37,121,155,117,41,117,
159,113,45,113,163,109,49,109,167,105,53,105,171,101,57,101,175,96,62,96,181,91,67,91,185,86,72,86,191,80,78,81,196,74,
84,74,204,67,91,67,211,59,99,59,219,51,107,51,228,40,119,39,242,25,133,25,5311,0};
main(){for(puts("P1\n432 408");x[i];++i,o=!o)while(x[i]--)puts(o?"0":"1");}

1
আপনি কোডটি কীভাবে জেনারেট করেছিলেন তা বোঝাতে ভাল লাগবে।
সিউর

কোড প্রতিটি চরিত্রের পরে একটি নতুন লাইন আউটপুট দেয়; আমি আপনার প্রয়োজন putchar()বা অনুরূপ মনে করি ।
মার্সেলেম

@ মার্সেলেম - পিবিএম পি 1 ফর্ম্যাটটি ঠিক আছে!

1
আমি নিশ্চিত যে এই প্রশ্নের অবশ্যই অর্থ হওয়া উচিত, তবে এটি সম্ভবত ওপিটির সাথে গ্রহণযোগ্যত হবে।
গম উইজার্ড

1
আমি মনে করি না যে ব্যবহারের অবশ্যই আবশ্যকতার অর্থ একটি পার্থক্য রয়েছে। এটি সত্যিই এমন একটি প্রশ্ন যা আপনার (বা সম্ভবত অবশ্যই) ওপিকে জিজ্ঞাসা করা উচিত।
গম উইজার্ড

15

টেক্স + টিআই কে জেড, 234 230 226 বাইট

মূলত শ্রীওচিলিজম ও'জাইক এর উত্তরের চেয়ে 5 বাইট বেশি , তবে এটি সঠিক হওয়া উচিত। এটি তার উত্তরের অনুরূপ তবে এখানে আরও কিছুটা বাইট সংরক্ষণ করে এটির \draw[line width=8]আরও একটি প্রয়োজন (নীচের কোডটিতে এটি করা হয় \28](~30)to(~55);, এটি কেবল 17 টি বাইট যুক্ত করা হয়েছে) প্রতীকটির টিপসটি পেতে ডানদিকে, সুতরাং 5 আরও সামগ্রিক কোড দৈর্ঘ্য বাইট।

এবং শ্রীওচিলিজম ওজাইককে ধন্যবাদ আমি কিছু প্রশ্ন আবার পড়েছি এবং বুঝতে পেরেছি যে আমি রঙটি লাল করে তুলতে পারি, যাতে কয়েকটা বাইট আবার সাশ্রয় হয়:

\input tikz\let~\def~\1{circle(}~\2{\draw[line width=}~~{\foreach~in{90:,210:,330:}}\tikz[x=1,y=1,white]{~\fill[red](~22)\130);~{\fill(~30)\121);\28](~30)to(~55);\22](~0)to(~10);}\fill\16);\27,red]\123.5);~\22](~30)\120);}\bye

টেক্স-জি + টি কে জেড, 195 বাইট

কেউ যদি যত্নশীল হন তবে নিম্নলিখিতটিতে একটি টেক্স-ভিত্তিক কোড গল্ফ উপভাষা ব্যবহার করা হয়েছে যা আমি কাজ করছি (কোডটি স্থিতিশীল মনে করবেন না)। বাইট গণনাতে ইওএল অক্ষর এবং ইওএফ অক্ষর অন্তর্ভুক্ত রয়েছে কারণ সেগুলি শব্দার্থভাবে ব্যবহার করা হয় (ইওল লুপগুলির আর্গুমেন্টগুলি সীমাবদ্ধ করে)। উপভাষাটি এখনও অবধি ছোট এবং এটি সংজ্ঞা এবং একটি লুপ সিনট্যাক্সের শর্টহ্যান্ডগুলির বৈশিষ্ট্যযুক্ত, তবে এটি এই উত্তরটির জন্য বিশেষভাবে লেখা হয়নি, সুতরাং কোড গল্ফিংয়ের নিয়মগুলি ভঙ্গ করা উচিত নয়। -g.texপ্যাকেজ / ফাইলের জন্য সংগ্রহস্থল : https://github.com/Skillmon/TeX-g

\input-g <tikz>~"{\:~{90:,210:,330:}}~'{circle(}~_{\draw[line width=}!f\fill\tikz[x=1,y=1,white]{"f[red](~22)'30);
"f(~30)'21);_8](~30)to(~55);_2](~0)to(~10);
f'6);_7,red]'23.5);"_2](~30)'20);
}

উভয় কোড স্নিপেটের আউটপুট অভিন্ন দেখায়:

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

( চিত্রটি আপডেট করতে খুব অলস, কেবল এটি লাল হয়ে দেখুন )


আমার উত্তরটি এখন সঠিক এবং আপনার চেয়ে 2 বাইট কম। আমি নিশ্চিত যে আপনার সংক্ষিপ্ততর উত্তর তৈরি করতে কেউ হয়তো আমার কিছু উত্তরের সাথে একত্রিত করতে পারে তবে আমি আপনার উত্তরটি বেশ বুঝতে পারি না।
গম উইজার্ড

@ শ্রুতচিলিজম ও'জাইক যদি আমি রঙটি লাল রূপে পরিবর্তন করি (রঙটি নির্বিচারে হতে পারে এমন নিয়মটি উপেক্ষা করে), আমি এটি 230 বাইটে পেয়ে যাই।
দক্ষতা

@ শ্রুতচিলিজম ও'জাইক এবং স্পষ্টতই আপনি আমার উত্তর দেখে কেবলমাত্র একটি বাইটের চেয়ে বেশি সাশ্রয় করেছেন (কেবল বলেছেন)।
দক্ষতা

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

2
@ শ্রুতচিলিজম ও'জাইক ঠিক আছে। আমার কোডটি সর্বোপরি আপনার দ্বারা প্রভাবিত হয়েছে, আমি বর্তমানে টেক্সকে কোনও ধরণের কোড গল্ফিং ভাষায় পরিণত করার জন্য একটি কোড গল্ফিং প্যাকেজ লেখার চেষ্টা করছি। অবশেষে যখন আমি এটি প্রকাশ করি তখন আমার উত্তর সংক্ষিপ্ত হবে :) (এই প্রশ্নের জন্য বিশেষভাবে রচিত কোনও ভাষা নয়, সুতরাং এটি বিধিগুলি ভঙ্গ করে না)
স্কিমনমন

12

জিএলএসএল, 700 629 564 545 499 বাইট

#define v vec2
#define j(x,r)length(x-g)<r
#define k(x,r,q)j(x,q)!=j(x,r)
#define l(b)length(g-b)<1.&&length(g-dot(g,b)*b)<(length(g)<S?A*S:A/S)
float C=.86,S=.5,F=.3,E=.22,A=.02,G=.21;void mainImage(out vec4 o,in v p){v r=iResolution.xy;v g=(p/S-r)/r.y;o.g=(k(v(0,F),G,G-A)||k(v(F*C,-F*S),G,G-A)||k(v(-F*C,-F*S),G,G-A))?o.g=0.:k(v(0),F,G)?C:l(v(0,1))||l(v(C,-S))||l(v(-C,-S))||j(v(0),.06)||j(v(0,F),G)||j(v(F*C,-F*S),G)||j(v(-F*C,-F*S),G)?0.:j(v(0,E),F)||j(v(E*C,-E*S),F)||j(v(-E*C,-E*S),F)?C:0.;}

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

শেডারটোয় প্রোগ্রাম

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


1
সাইটে স্বাগতম! ঝরঝরে প্রথম উত্তর!
গম উইজার্ড

আমি ভাষা জানি না করতে পারেন, কিন্তু &&এবং ||করতে golfed করা &এবং |কিছু বা সমস্ত অংশ এ?
কেভিন ক্রুইজসেন

@ কেভিন ক্রুজসেন এটি সি-এর একটি উপসেট, সুতরাং এটি বিটওয়াইজ অপারেশন হবে। আমার জন্য সংকলক টাইপ সম্পর্কে অভিযোগ যদিও
রনিঙ্কোই

1
@Roninkoi আমি তো দেখলেন তা সি ওপর ভিত্তি করে সি ইন এটা সম্ভব ব্যবহার করা |/ &বদলে ||/ &&bools জন্য, তাই না? দীর্ঘ সময় সি তে কিছু করেনি, তাই নিশ্চিত নন। আমি জানি এটি বেশিরভাগ ক্ষেত্রে জাভা / সি # .NET এ কাজ করে। তবে আমি এখন কেবলমাত্র আপনার যোগ করা শেদারটো লিঙ্কটি লক্ষ্য করেছি এবং এটি ইতিমধ্যে আপনি যেমন বলেছিলেন তেমন কাজ করবে বলে মনে হয় না। আহ ভালো. প্রথম উত্তর বিটিডাব্লু! সিজিসিসিতে আপনাকে স্বাগতম।
কেভিন ক্রুইজসেন

আমি পোস্ট কোডে -30 বাইট কেটেছি তবে হেডার 566 বাইট, এবং পোস্ট কোডটি 628?
প্রিন্সপোলকা

12

এসভিজি (এইচটিএমএল 5), 434 410 321 বাইট

<svg><circle cx=60 cy=60 r=23.5 stroke-width=7 fill=#fff stroke=#000 /><use href=#g transform=translate(120,0)scale(-1,1) /><g id=g><use href=#p transform=rotate(120,60,60) /><use href=#p transform=rotate(240,60,60) /><path id=p stroke=#fff stroke-width=2 d=M55,60A5,5,0,0,1,60,55V50A20,20,0,0,1,58,10V7A31,31,0,0,0,29,43

এখন @ লেভেলরিভারস্টের এসভিজির উপর ভিত্তি করে।


1
আমি বিশ্বাস করি যে বাদ দেওয়া <defs>নিরাপদ। এটি আমার জন্য ফায়ারফক্স, ক্রোম এবং এজ এ কাজ করে।
আর্নল্ড

@ আরনাউল্ড ধন্যবাদ, এর অর্থ আমি প্রথমটি <use>থেকেও মুক্তি পেতে পারি !
নিল

12

প্রক্রিয়াজাতকরণ, 371 368 বাইট

translate(width/2,width/2);scale(width/99);int i=0,b=204;float t=TAU/3;noStroke();for(;i<3;i++){fill(0);ellipse(0,-22,60,60);rotate(t);}for(;i<6;i++){fill(b);rect(-4,-60,8,16);ellipse(0,-30,42,42);rotate(t);}ellipse(0,0,12,12);stroke(0);strokeWeight(7);noFill();ellipse(0,0,47,47);for(;i<9;i++){strokeWeight(2);stroke(b);ellipse(0,-30,40,40);line(0,0,0,-9);rotate(t);}

এই চ্যালেঞ্জের উদ্দেশ্যে প্রসেসিংকে রাস্টারযুক্ত হিসাবে গণ্য করা উচিত কিনা তা আমি নিশ্চিত ছিলাম না। যদি এটি রাস্টারাইজড হিসাবে গণনা করা হয়, translateএবং scaleপ্রদত্ত উইন্ডো আকারের জন্য প্রতীকটি সুস্পষ্ট এবং অন-স্ক্রিনে তৈরি করা প্রয়োজন। তবে, সমস্ত অঙ্কন কমান্ড ভেক্টরাইজড হওয়ার কারণে এটি কোনও নির্দিষ্ট স্কেলে কাজ করে; সুতরাং যদি আমরা ধরে নিই যে প্রায় 200 ইউনিট প্রস্থের তুলনামূলক উত্সটি আঁকানো ঠিক আছে তবে প্রথম 43 বাইট বাদ দেওয়া যাবে।

এটি ধরে নেয় যে ব্যাকগ্রাউন্ডের রঙ এটি 204, 204, 204প্রক্রিয়াকরণে ডিফল্ট পটভূমির রঙ। এটি একটি অনুমান rectModeএর CORNERএবং ellipseModeএর CENTER(ডিফল্ট)

প্রাথমিকের সাথে size(640, 640), ফলাফল স্কেচটি দেখতে এরকম দেখাচ্ছে:

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

স্কেল দ্বিগুণ করে, আমি 3 বাইট সংরক্ষণ করেছি, কারণ .5গুলি নির্মূল করা হয়েছে (যদিও বেশ কয়েকটি সংখ্যা 1 অঙ্ক থেকে 2 অঙ্কে প্রবাহিত হয়)।

নির্মাণটি টেক্স সমাধানের সাথে সমান, কালো অঙ্কন এবং তারপরে ধূসর আকারের ফাঁকগুলি "মুছে ফেলতে"।

ব্যাখ্যা:

translate(width/2,width/2); // Move to the middle of the canvas
scale(width/99);            // Scale up to fill the canvas

int i=0,b=204;              // Initialize i, and `b` to the background color
float t=TAU/3;              // Save a rotation of one third, in radians

noStroke();
for(;i<3;i++){ // Draw the three big black circles
  fill(0);
  ellipse(0,-22,60,60);
  rotate(t);
}
for(;i<6;i++){
  fill(b);
  rect(-4,-60,8,16);     // "Blunt" the corners on the sharp outer rings
  ellipse(0,-30,42,42); // Cut out the middle of the big circles
  rotate(t);
}
ellipse(0,0,12,12); // Cut out the small circle in the middle
stroke(0);
strokeWeight(7);
noFill();
ellipse(0,0,47,47); // Draw the thick band that goes through all three big circles
for(;i<9;i++){
  strokeWeight(2);
  stroke(b);
  ellipse(0,-30,40,40); // Cut the "gap" between the three big rings
                        //and the band passing through them
  line(0,0,0,-16);      // Cut the lines coming out of the small middle circle
  rotate(t);
}

দেখতে সুন্দর লাগছে :) আমি মনে করি আপনি যদি সমস্ত পরিমাপ দ্বিগুণ করেন তবে আপনি এড়াতে পারবেন .5!
flawr

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

ওহ, আপনি ঠিক বলেছেন, আমি এটি বিবেচনা করি নি।
flawr

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

1
এটি আঁকানো স্কেল দ্বিগুণ করে আমি 3 বাইট সংরক্ষণ করেছি। @ ইসমাইল মিগুয়েল
কার্টিস ফেনার

9

GLSL, 319 310 বাইট

#define F float
#define H(y)sqrt(x*x+(y)*(y))
void mainImage(out vec4 D,in vec2 u){vec2 U=u*.003-.5;F x=abs(U.x),y=U.y;if(y<.577*x){F t=.5*x+.866*y;y=.866*x-.5*y;x=abs(t);}F c=F(H(y-.11)<.15);F R=H(y);F S=H(y-.15);if(S<.105)c=0.;if(R<.03)c=0.;if(x<(R<.1?.005:.02))c=0.;if(R>.10&&R<.135&&S<.095)c=1.;D=vec4(c);}

এটি শেডারটোয় রেন্ডার করা যেতে পারে ।

নমুনা

আপনি স্বল্প পরিমাণে পৃথক আকারের সাথে আঁকতে চিত্রের প্রতিসাম্য ব্যবহার করতে পারেন।

এখানে কিছুটা স্ফীত সংস্করণ:

#define F float
#define H(y) sqrt(x*x+(y)*(y))

void mainImage(out vec4 D,in vec2 u)
{
    // normalized UV
    vec2 U = u*.003 - .5;

    // fold the 6 identical sections to the same UV coordinates
    F x = abs(U.x), y = U.y;
    if (y < .577*x)
    {
        F t = .5*x + .866*y;
        y = .866*x - .5*y;
        x = abs(t);
    }

    // circles and lines
    F c = F(H(y-.11) < .15);
    F R = H(y);
    F S = H(y-.15);
    if (S < .105) c = 0.;
    if (R < .03) c = 0.;
    if (x < (R < .1 ? .005 : .02)) c = 0.;
    if (R > .10 && R < .135 && S < .095) c = 1.;

    // output
    D = vec4(c);
}

(কিছু অপ্রয়োজনীয় সাদা স্থান অপসারণ করার জন্য @ কেভিন ক্রুইজসেনকে ধন্যবাদ)


1
আপনি কিছু স্থান সরিয়ে ফেলতে পারেন। আপনার সংজ্ঞায়িত এক: H(y) sqrtH(y)sqrt; আপনার if-বিবৃতিতে সমস্ত স্পেস: if (if(; এবং আপনার সর্বশেষ যদি এই বিবৃতিটি ANDS এর চারপাশে থাকে: if (R>.10 && R<.135 && S<.095)c=1.;if(R>.10&&R<.135&&S<.095)c=1.;
কেভিন ক্রুইজসেন

8

এইচটিএমএল / জেএস,  448 435 433  387 বাইট

ব্যবহার করে অনেক বাইট সংরক্ষিত @ নিল এর প্রাক কমিয়ে আনা সংস্করণ করা SVG এর
@Shaggy এ সংরক্ষিত 2 বাইট ধন্যবাদ

উইকিমিডিয়া কমন্স থেকে এই এসভিজি ফাইলের একটি সংকুচিত সংস্করণ ।

<body onload="_=`<svg~12y~24y><path id=p d=m28.8117,27.046a3,3}0qb3117q4.004v-1w539|1wq20.7959v-w583a1jxb7975x7.3228xj,8.6032x9.7443l-.4835q.2792|-18.7598q9.0989zm3.4148q8.871a10x0}0q1b453,c9w,9w{-kx3wx3w}1x6.8042,0x0x0{k>~><use href=#p transform=rotate(},cc|a10wx0w}c{}1qb1756,yc26,26) /x,1w.5q,-kb7417j5x5}1c0,b2.`;for(i of`bcjkqwxy{|}~`)with(_.split(i))_=b.innerHTML=join(pop())"id=b>

এটি অনলাইন চেষ্টা করুন! (কেবল পচনশীল স্ট্রিংকে আউটপুট দেয়)

ডেমো স্নিপেট


এই , কাজ করে Chrome আপনার Android এ CodePen, 392. জন্য
রোমশ

1
@ আরনল্ড আমি আমার উত্তরটি উল্টিয়েছি, যদিও এটির জন্য 5 বাইট খরচ হয়েছে (আমি অন্য একটি অপ্রয়োজনীয় বাইট পেয়েছি যদিও সামগ্রিকভাবে আমার স্কোরটি কেবল 4 দ্বারা বেড়ে গেছে)।
নীল

@ নীল সে অনুযায়ী আপডেট হয়েছে। ;)
আর্নল্ড

দেখা যাচ্ছে যে @ লেভেলরিভারস্টের এসভিজি অনেক ছোট!
নিল

7

হাস্কেল , 530 491 436 435 430 420 বাইট

f=fromIntegral
c(a,b)r(x,y)=(x-a)^2+(y-b)^2<r^2
(m#w)t(x,y)|c<-cos(-t),s<-sin(-t)=x*c-y*s>m&&abs(x*s+y*c)<w/2
u a p=any($p)a
i a p=all($p)a
v=(*(pi/6))<$>[9,5,1]
o=c(0,0)
h?r=[c(h*cos a,h*sin a)r|a<-v]
(h%y)x|u[i[u$11?15,(not.)$u$o 3:map(0#1)v++map(9#4)v++15?10.5],i[o 13.5,not.(o 10),u$15?9.5]](60*f x/h-30,60*f y/h-30)="0 "|0<1="1 "
g h|s<-show h,n<-[0..h-1]=writeFile"a.pbm"$unlines$"P1":(s++' ':s):[n>>=(f h%)y|y<-n]

একটি পিবিএম ফাইল আউটপুট দেয়।

এটা অনেক মজার ছিল!

Biohazard

(ইমগুরে আপলোড করার জন্য আমাকে এটি পিএনজিতে রূপান্তর করতে হয়েছিল)

মূলত আমরা আমাদের নিজস্ব ভেক্টর গ্রাফিক্স ফাংশন তৈরি করি যা পিক্সেলটি আকৃতির অংশ কিনা তা সনাক্ত করে পিক্সেল দ্বারা একটি চিত্র পিক্সেলকে রেন্ডার করে। আকৃতিটি প্রাথমিক সেট ক্রিয়াকলাপগুলি: ইউনিয়ন, ছেদ করা এবং না মিলিয়ে একত্রিত করা বৃত্ত এবং রেখাগুলির একগুচ্ছ (মূল থেকে বিচ্ছুরিত) হিসাবে নির্মিত হয়। চেনাশোনাগুলি তাদের কেন্দ্র এবং একটি ব্যাসার্ধ দ্বারা গঠিত এবং রেখাগুলিতে সর্বনিম্ন ব্যাসার্ধ, প্রস্থ এবং একটি ক্রম থাকে। একটি বৃত্তে সদস্যপদ সনাক্ত করা সহজ: আমি কেবল কেন্দ্রের কর্ডগুলি বিয়োগ করি এবং ব্যাসার্ধের সাথে ব্যাসার্ধের তুলনা করি। লাইনটি আরও জটিল: আমি বিন্দুটি আনার জন্য কোণটির বিপরীতক্রমে ঘোরান (ঘূর্ণন বাতিল করতে) তারপরে আমি কেবল এক্স এবং y স্থানাঙ্ক প্রত্যাশিত পরিসরের মধ্যে পড়ে কিনা তা যাচাই করি। সর্বনিম্ন ব্যাসার্ধটি হ'ল বড় চেনাশোনাগুলির দূরবর্তী প্রান্তে বৃহত্তর ফাঁকটি কেন্দ্রের নিকটবর্তী ছোট ফাঁকগুলি অতিক্রম করে না তা নিশ্চিত করা। এর পরে সেট গণিত করা বুলিয়ান লজিকের একটি সহজ বিষয়।

সম্পাদনা: 39 বাইট ছাড়ার জন্য @ ফ্লোয়ারকে অনেক ধন্যবাদ!

সম্পাদনা 2: 55 খ্রিস্ট বাইট নেওয়ার জন্য ক্রিশ্চিয়ান সিভার্সকে অনেক ধন্যবাদ! ভাল ধারণা তাদের ফাংশন মধ্যে তৈরি

সম্পাদনা 3: আবার ক্রিসটিয়ান সিভার্সকে আরও একটি বাইট ছাঁটাই করার জন্য ধন্যবাদ!

এডিআইটি 4: @ এইচ.পি.উইজ এবং @ অ্যাঞ্জসকে 7 টি বাইট ধন্যবাদ!

সম্পাদনা 5: সবেমাত্র একটি বাগ লক্ষ্য করেছেন! আমি লাইনগুলি তার চেয়ে দ্বিগুণ ঘন করে রেন্ডার করছিলাম! এটি ঠিক করতে আমার 2 বাইট ব্যয় করতে হবে (প্রস্থটি 2 দ্বারা বিভক্ত করতে হয়েছিল; ধ্রুবক মানগুলি সামঞ্জস্য করতে পারত তবে 1 থেকে 0.5 পরিবর্তন করাও 2 ব্যয় হত)।

সম্পাদনা 6: আরও 10 টি বাইট ছাড়ার জন্য @ অংগসকে ধন্যবাদ!


বাহ, এই এত শান্ত. এখানে কোড-গল্ফে কেউ নিজের ধরণের সংজ্ঞা দিচ্ছেন এমন ঘটনা বিরল : :) দুটি প্রশ্ন: negativeণাত্মক কোণ থাকা [-90,-210,-330]কি দরকার? এবং এটা পরিবর্তন করা সম্ভব হবে <=থেকে <?
flawr

1
তাই আমি এটি চেষ্টা করেছিলাম এবং কয়েকটা বাইট
ছাঁটাই করতে পেরেছি

1
ওহ, যদি আপনি না জানতেন তবে আমাদের একটি হ্যাশেল চ্যাট পাশাপাশি হসকেলে গল্ফ করার জন্য কিছু টিপস রয়েছে
flawr

1
আরেকটি ছোট
ত্বক


6

রুবি , 278 বাইট

puts"<svg viewBox='-60-60 120 120'><circle cx='0'cy='0'r='23.5'stroke-width='7'fill='white'stroke='red'/>",(-3..5).map{|i|"<path fill='red'stroke='white'stroke-width='2'd='M5 0A5 5 0 0 1 0 5v5A20 20 0 0 1 2 50v3A31 31 0 0 0 31 17'transform='scale(#{i/3},-1)rotate(#{i*120})'/>"}

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

নীচে এসভিজি কোড উত্পন্ন করে, ওপিতে প্রতীকটি 200% স্কেলে রয়েছে।

এটি পিছনে একটি বৃত্ত এবং অগ্রভাগে prongs গঠিত। দোলাটি অক্ষগুলিতে মাপা -1,0,1হয় Xএবং 120 ডিগ্রির গুণকের মাধ্যমে ঘোরানো হয়। ক্ষেত্রে যেখানে Xস্কেলিং শূন্য হয় কোন আউটপুট উত্পাদন, যখন -1এবং +1। প্রতিটি জোড়া কাঁটা দুটি করে সরবরাহ করুন।

ব্যবহার strokeএবং stroke-widthবৈশিষ্ট্যগুলি ব্যবহার করে পিছনের বৃত্তটি কাটাতে কাঁপড়ার চারপাশে 2-ইউনিট প্রশস্ত সাদা সীমানা দিয়ে তৈরি করা হয় । অভ্যন্তরীণ আকারটি ওপি অনুসারে হওয়ার জন্য, স্থানাঙ্কগুলি 1 ইউনিট দ্বারা সরানো হয় (সীমানার অর্ধেক প্রস্থ।) নোট করুন যে সীমান্তের চূড়ান্ত লাইনের অঙ্কনটি দমন করতে ইচ্ছাকৃতভাবে পথটি বন্ধ করা হয়নি। এটি প্রতিটি জোড়া প্রঙের দুটি অংশকে একসাথে যোগদানের বিষয়টি নিশ্চিত করে।

গল্ফিংয়ের কারণে অভ্যন্তরীণ বৃত্তের 90 ডিগ্রি প্রত্যাশিত 60 এর চেয়ে বেশি আঁকা। এর অর্থ হ'ল প্রতিটি জোড়া prongs এর বেসগুলির মধ্যে কিছুটা ওভারল্যাপ রয়েছে তবে এটি আউটপুট আকৃতির উপস্থিতিকে প্রভাবিত করে না।

<svg viewBox='-60-60 120 120'><circle cx='0'cy='0'r='23.5'stroke-width='7'fill='white'stroke='red'/>
<path fill='red'stroke='white'stroke-width='2'd='M5 0A5 5 0 0 1 0 5v5A20 20 0 0 1 2 50v3A31 31 0 0 0 31 17'transform='scale(-1,-1)rotate(-360)'/>
<path fill='red'stroke='white'stroke-width='2'd='M5 0A5 5 0 0 1 0 5v5A20 20 0 0 1 2 50v3A31 31 0 0 0 31 17'transform='scale(-1,-1)rotate(-240)'/>
<path fill='red'stroke='white'stroke-width='2'd='M5 0A5 5 0 0 1 0 5v5A20 20 0 0 1 2 50v3A31 31 0 0 0 31 17'transform='scale(-1,-1)rotate(-120)'/>
<path fill='red'stroke='white'stroke-width='2'd='M5 0A5 5 0 0 1 0 5v5A20 20 0 0 1 2 50v3A31 31 0 0 0 31 17'transform='scale(0,-1)rotate(0)'/>
<path fill='red'stroke='white'stroke-width='2'd='M5 0A5 5 0 0 1 0 5v5A20 20 0 0 1 2 50v3A31 31 0 0 0 31 17'transform='scale(0,-1)rotate(120)'/>
<path fill='red'stroke='white'stroke-width='2'd='M5 0A5 5 0 0 1 0 5v5A20 20 0 0 1 2 50v3A31 31 0 0 0 31 17'transform='scale(0,-1)rotate(240)'/>
<path fill='red'stroke='white'stroke-width='2'd='M5 0A5 5 0 0 1 0 5v5A20 20 0 0 1 2 50v3A31 31 0 0 0 31 17'transform='scale(1,-1)rotate(360)'/>
<path fill='red'stroke='white'stroke-width='2'd='M5 0A5 5 0 0 1 0 5v5A20 20 0 0 1 2 50v3A31 31 0 0 0 31 17'transform='scale(1,-1)rotate(480)'/>
<path fill='red'stroke='white'stroke-width='2'd='M5 0A5 5 0 0 1 0 5v5A20 20 0 0 1 2 50v3A31 31 0 0 0 31 17'transform='scale(1,-1)rotate(600)'/>


6

পোস্টস্ক্রিপ্ট , 367 359 328 271 বাইট

কোড (সংক্ষেপিত সংস্করণ):

5 5 scale 36 24 translate <</c{0 360 arc closepath}/r{120 rotate}/R{repeat}/L{setlinewidth}/g{setgray}/F{fill}>>begin 3{0 11 15 c F r}R 1 g 3{0 15 10.5 c F r}R 0 0 3 c F 3{[-.5 2 1 3 -2 25 4 3]rectfill r}R 0 g 4 L 0 0 11.5 c stroke 1 g 1 L 3{0 15 10 c stroke r}R showpage

কোড (সঙ্কুচিত সংস্করণ):

5 5 scale                  % over-all scale
36 24 translate            % over-all shift

% define some short-named procedures for later use
<<
  /c { 0 360 arc closepath }  % append circle (x, y, radius are taken from stack)
  /r { 120 rotate }           % rotate by 120°
  /R { repeat }
  /L { setlinewidth }
  /g { setgray }
  /F { fill }
>> begin

3 {
    0 11 15 c F       % black circle
    r                 % rotate by 120°
} R
1 g                   % set white color
3 {
    0 15 10.5 c F     % white circle
    r                 % rotate by 120°
} R
0 0 3 c F             % small white circle
3 {
    [ -.5 2 1 3       % white gap near center
      -2 25 4 3       % white gap on edge
    ] rectfill
    r                 % rotate by 120°
} R
0 g                   % set black color
4 L                   % set linewidth 4
0 0 11.5 c stroke     % black ring
1 g                   % set white color
1 L                   % set linewidth 1
3 {
    0 15 10 c stroke  % white ring
    r                 % rotate by 120°
} R
showpage

ফলাফল (এটি কীভাবে টানা হয় তা অ্যানিমেশন হিসাবে):

ফলাফল


দুর্দান্ত অ্যানিমেশন।
ডানা

2

পাইগন 3 পাইগাম সহ 327 314 287 278 বাইট

(১৩ টি বাইট সংরক্ষণের জন্য বিভিন্ন কদর্য হ্যাক প্রয়োগ করেছেন; বিশেষত উল্লেখযোগ্যভাবে আর রঙটি সংরক্ষণ করা হয় না তবে উড়ানের সাথে এটি গণনা করা হয় -(r>25))
(ফাংশনটির প্রতিশ্রুতি দেওয়া, হারানো sys; mathস্থানাঙ্কের ধ্রুবকের পক্ষে হ্যাক আউট ; ছোট টুইটগুলি;
সেভড 27 বাইট)) থেকে ধ্রুবক গণিতের জটিল ঠাট পেতে (CO) সাইন , 9 বাইট সঞ্চয় নয়)

ফাংশন যা ফলাফলের চিত্রটির অর্ধেক প্রস্থ / উচ্চতা উপস্থাপন করে একটি একক পূর্ণসংখ্যার যুক্তি নেয়। যেমন f(500)1000x1000 পিক্সেল উইন্ডো তৈরি করবে এবং সেখানে একটি বায়োহাজার্ড প্রতীক আঁকবে।

from pygame import*;D=display
def f(S):
 u=D.set_mode([S*2]*2);b=S>>6
 for p,r,w in(22,30,0),(30,20,0),(0,27,7),(30,21,2),(0,6,0),(51,4,0):
  for l in 0,4/3,8/3:Z=1j**l*p*b;q=S+int(Z.imag),S-int(Z.real);draw.circle(u,-(r>25),q,r*b,w*b);r-20or draw.line(u,0,(S,S),q,b*2);D.flip()

সংক্ষিপ্ত সংস্করণ:

import pygame
import math
import sys

size = int(sys.argv[1])
basic = size // 55

screen = pygame.display.set_mode((size * 2, size * 2))

circles = [
    (22, 30, 0, -1),  # basic shape
    (30, 20, 0, 0),   # large cutouts
    (0, 27, 7, -1),   # "background circle"
    (30, 21, 2, 0),   # "background circle" clearance
    (0, 6, 0, 0),     # center disc
    (51, 4, 0, 0),    # blunt the points
]

for pos, radius, width, color in circles:
    for lobe in [0, math.pi * 2 / 3, math.pi * 4 / 3]:
        x = int(math.sin(lobe) * pos * basic) + size
        y = size - int(pos * basic * math.cos(lobe))
        pygame.draw.circle(screen, color, (x, y), radius * basic, width * basic)
        # Hack to draw the small slots in the center
        if radius == 20:
            pygame.draw.line(screen, 0, (size, size), (x, y), basic * 2)

pygame.display.flip()

এই প্রোগ্রামটির মূলটি মূলত প্রতীকটির 3-পয়েন্ট সমান্তরাল ব্যবহার করে এবং অঙ্কন ক্রিয়াকলাপকে যতটা সম্ভব বিচ্ছিন্নভাবে প্রকাশ করা। circlesএগুলির সমস্ত হৃদয় হ'ল , যা বৃত্ত সংজ্ঞাগুলির একটি তালিকা, যার মধ্যে রয়েছে কেবল:

  • position: অর্ধেক বেসিক ইউনিটে উত্স থেকে কতটা দূরে
  • radius: অর্ধেক বেসিক ইউনিটে বৃত্তের ব্যাসার্ধ
  • width: বৃত্তের সীমানা প্রস্থ (বাহ্যিক বৃত্ত থেকে অভ্যন্তরীণ দিকে 0 = ভরাট)
  • color: পিগাম 0কালো এবং -1সাদা হিসাবে ব্যাখ্যা করে যে সত্যটি কাজে লাগানো

প্রতিটি অঙ্কন অপারেশন তিনবার পুনরাবৃত্তি হয়, 120 rot ঘোরানো হয় ° "নখর" ধুয়ে ফেলা অন্য একটি বৃত্ত দিয়ে করা হয়। অভ্যন্তরের "লাইন কাটগুলি" স্পেশাল-কেসযুক্ত কারণ সেগুলিতে inোকার জন্য আমি আরও কার্যকর উপায় সম্পর্কে ভাবতে পারি নি। "মৌলিক একক" স্পেসিফিকেশন সংজ্ঞায়িত এখানে দ্বিগুণ তাই আমি ব্যবহার করতে হবে নি .5মধ্যে circlesএবং int()জায়গা উপর সব pygame সন্তুষ্ট।

এর জন্য ফলাফল python3 -c 'from biohazard import *; f(500)':

এই উত্তরের আউটপুট প্রদর্শন করুন


1
ভাল কাজ এবং সিজিসিসিতে আপনাকে স্বাগতম! যখন কোনও বিল্টিন অন্তর্নির্মিত লাইব্রেরি ব্যবহৃত হয় তখন বিবরণটিতে "পাইথন 3 + পাইগাম" বলা উচিত। sysমডিউলটি আমদানি করা এড়ানোর জন্য ইনপুটটিকে স্ট্যান্ডার্ড ইনপুট থেকে বা একটি ফাংশন আর্গুমেন্ট হিসাবে নেওয়া যেতে পারে , যা কোডটি সংক্ষিপ্ত করে ( নিয়ম দেখুন )। এছাড়াও, আমদানির প্রয়োজন এড়াতে এই কৌশলটি প্রয়োগ করা যেতে পারে math
জোয়েল

প্রতিক্রিয়াটির জন্য @ জোয়েল ধন্যবাদ! আমি শিরোনামে পিগেম অন্তর্ভুক্ত করেছি, এবং কোডটি একটি ফাংশনে রূপান্তর করেছি। হিসাবে math, আমি স্থানাঙ্কের একটি তালিকায় এটি রিফ্যাক্টর; এটি যাইহোক তাদের মধ্যে কেবল 3 জন ছিল। কোন (কো) সাইন প্রয়োজনীয়।
মার্সেলম

1
উপরোক্ত উল্লিখিত কৌশলটি প্রয়োগ করে উত্স কোডে সমস্ত সংখ্যা রাখার চেয়ে বেশি বাইট সংরক্ষণ করা হয়।
জোয়েল

@ জোয়েল স্মরণ করিয়ে দেওয়ার জন্য ধন্যবাদ; আগে আমি এই বিকল্পটি বাতিল করে দিয়েছিলাম কারণ এটি দীর্ঘ বলে মনে হয়েছিল তবে মনে হচ্ছে আমি ভুল ছিল was এটি আরও কিছু অপ্টিমাইজেশনের অনুমতি দেয়।
মার্সেলেম

1

টিসিএল / টাকা - 557 বাইট

set F #000
set B #F50
pack [canvas .c -bg $B]
rename expr e
rename foreach f
rename proc p
p R r {list [e $r*cos($::a)] [e $r*sin($::a)]}
p D {d r} {lassign [R $d] x y;list [e $x-$r] [e $y-$r] [e $x+$r] [e $y+$r]}
p C {d r c} {.c cr o {*}[D $d $r] -f $c -outline $c}
p L {p q w} {.c cr l {*}[R $p] {*}[R $q] -w [e $w] -f $::B}
p A {d r w c} {.c cr a {*}[D $d $r] -w [e $w] -star 0 -ex 359.9 -sty arc -outline $c}
f x {{C 11 15 $F} {C 15 10.5 $B} {L 0 5 1} {L 20 40 4} {C 0 3 $B} {A 0 11.75 3.5 $F} {A 15 10 1 $B}} {f a {2.62 4.72 6.81} $x}
.c move all 99 99

এই সংস্করণটি, বিরক্তিকর, যেহেতু আপনি একই আকারের চিত্রটি পান না কেন তা যাই হোক না কেন। এটি অন-স্ক্রিনটি প্রদর্শনের জন্য ওপি শর্তাদি পূরণ করে। এখানে কমেন্ট্রি সহ সংকোচিত সংস্করণ এবং এতে যুক্ত একটি আকার নির্দিষ্ট করার ক্ষমতা রয়েছে:

# Input: command line argument is the pixel width (same as the height) of the window to create
# For example:
#   wish a.tcl 500
set window_size $argv

set foreground_color #000
set background_color #F50
pack [canvas .c -bg $background_color -width $window_size -height $window_size]

# Helper procs to generate x,y coordinates
proc radius->x,y r {
  list [expr {$r*cos($::angle)}] [expr {$r*sin($::angle)}]
}

proc center_offset,radius->rectangle {offset r} {
  lassign [radius->x,y $offset] x y
  list [expr {$x-$r}] [expr {$y-$r}] [expr {$x+$r}] [expr {$y+$r}]
}

# Tk's canvas does not scale line widths, so we have to do that manually
# The $scale is a global variable for compressing the code text above
set scale [expr {$window_size*.016}]

# These three procs draw items in the canvas
proc circle {offset r color} {
  .c create oval {*}[center_offset,radius->rectangle $offset $r] -fill $color -outline $color
}
proc line {p q w} {
  .c create line {*}[radius->x,y $p] {*}[radius->x,y $q] -width [expr {$::scale*$w}] -fill $::background_color
}
proc annulus {offset r w color} {
  .c create arc {*}[center_offset,radius->rectangle $offset $r] -width [expr {$::scale*$w}] -start 0 -extent 359.9 -style arc -outline $color
}

# Our list of shapes to draw
#  circle  center_offset, radius,                   color
#  line    end_offset_1,  end_offset_2, line_width
#  annulus center_offset, radius,       line_width, color
foreach command {
  {circle  11 15        $foreground_color}
  {circle  15 10.5      $background_color}
  {line     0  5    1}
  {line    20 40    4}
  {circle   0  3        $background_color}
  {annulus  0 11.75 3.5 $foreground_color}
  {annulus 15 10    1   $background_color}
} {
  # Each command gets applied thrice, rotated $angle radians each time
  foreach angle {2.62 4.72 6.81} $command
}

.c scale all 0 0 $scale $scale
.c move all [expr {$window_size/2}] [expr {$window_size/2}]

# Some random convenience stuff for playing with it
bind . <Escape> exit
after 500 {focus -force .}

দুঃখিত, কোনও ছবি নেই (আজ আমার ফোনটি বন্ধ করে দিচ্ছে)। বায়োহাজার্ড কমলা ব্যাকগ্রাউন্ডে একটি কালো প্রতীক তৈরি করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.