একটি এপিসাইক্লয়েড হ'ল একটি বৃত্তের বিন্দুটি একটি অন্য বৃত্তের চারদিকে ঘুরার সাথে সাথে একটি বৃত্তের বিন্দু হয়। একটি সাইক্লগন হ'ল আকারটিকে নিয়মিত বহুভুজের উপরের বিন্দু হিসাবে তৈরি করে যখন এটি একটি বিমান জুড়ে ঘুরছে । একটি এপিসাইক্লগন হ'ল একটি নিয়মিত বহুভুজের উপরের বিন্দু দ্বারা আঁকানো বাঁক যা অন্যটির চারপাশে ঘুরছে।
একটি প্রোগ্রাম যা একটি epicyclogon দেওয়া স্বপক্ষে লিখুন r
, r1
, r2
, n1
, n2
:
r = number of clockwise revolutions rolling polygon makes around stationary polygon (any real number as limited by float values)
r1 = distance from center of stationary polygon to each of its vertices (positive real number)
r2 = distance from center of rolling polygon to each of its vertices (positive real number)
n1 = number of sides stationary polygon has (integer greater than 2)
n2 = number of sides rolling polygon has (integer greater than 2)
নোট
- যখন
r
নেতিবাচক বেলন যেতে হবে বামাবর্তে । - কারণ
r
, একটি বিপ্লব ঘটে যখন দুটি আকারের সেন্ট্রয়েডগুলির সাথে সংযোগকারী লাইনটি পুরো 360 ডিগ্রি বের করে দেয়। এই ধারণাটি সমস্ত মানকে অন্তর্ভুক্ত করার জন্য প্রসারিতr
। (সুতরাং এক চতুর্থাংশ বিপ্লবে সেন্ট্রয়েডগুলি সংযুক্ত রেখাটি 90 ডিগ্রি ছাড়িয়ে যায়)) - এই যুক্তিগুলি কমান্ড লাইন থেকে আসা উচিত বা আপনার প্রোগ্রামটি তাদের জন্য অনুরোধ করা উচিত (যেমন পাইথনের সাথে
input()
)। r1
এবংr2
একে অপরের সাথে সম্পর্কিত, চিত্রটির মাত্রা নয়। সুতরাং আপনি যেকোন সংখ্যক প্রকৃত পিক্সেল হিসাবে একটি "ইউনিট" সেট করতে পারেন।
আপনি যে পয়েন্টটি সন্ধান করতে হবে তা হ'ল ঘূর্ণায়মান আকারের একটি শীর্ষে is আকারগুলি অবশ্যই এই প্রান্তবিন্দুটির সাথে একটি স্থির শীর্ষবিন্দু এবং সংলগ্ন দুটি দিক স্পর্শ করে শুরু করা উচিত:
স্থির বহুভুজের যথাযথ প্রারম্ভিক শীর্ষগুলি এবং কোণটি কোনও বিষয় নয়।
আউটপুট
আউটপুটটি এমন একটি চিত্রে যেতে হবে যা কমপক্ষে 600x600 পিক্সেল (অথবা কিছু কিছু পরিবর্তনশীল মাত্রা যা 600 এ সেট করা যায়)। এটি অবশ্যই পরামিতিগুলির দ্বারা বর্ণিত পুরো এপিসাইক্লগন বক্ররেখাটি অবশ্যই চিত্রের মধ্যে ফ্রেমে তৈরি করা উচিত।
ঘূর্ণায়মান এবং নিশ্চল বহুভুজগুলিও আঁকতে হবে (এটি চূড়ান্ত অবস্থায় রোলার সহ)। দুটি আকার এবং এপিসাইক্লাগন তিনটি লক্ষণীয়ভাবে ভিন্ন বর্ণের হওয়া উচিত।
এছাড়া এটি একটি সহজ উপায় হতে হবে না বহুভুজ (পরিবর্তন আঁকা true
থেকে false
কোড যথেষ্ট মধ্যে)।
আমাদের কমপক্ষে 2 আউটপুট চিত্র প্রদর্শন করুন। প্রয়োজনে এগুলি সঙ্কুচিত করা ঠিক আছে।
স্কোরিং
সংক্ষিপ্ততম কোড যা বৈধ আউটপুট চিত্রগুলি জয় করে।
বোনাসেস
- যদি আউটপুটটি বক্ররেখাটির অ্যানিমেটেড জিআইএফ (বা অনুরূপ) হয় তবে মাইনাস 50 বাইট।
- মাইনাস 150 বাইটস যদি আপনি মান 2 দিয়ে দেন
n1
এবংn2
নেন তবে আকারগুলি একে অপরের চারপাশে "ঘূর্ণায়মান" দৈর্ঘ্যের2 * r1
(বাr2
) রেখার অংশ হয়ে যায়। 2 এবংr
যখন 2 হয় তখন আপনি কীভাবে হ্যান্ডেল করবেন তা সেন্ট্রয়েডগুলি অন্য ক্ষেত্রে যেমনভাবে একে অপরের চারপাশে ঘোরাফেরা করে না। (মোটেও "ঘূর্ণায়মান" নয় এটি পরিচালনা করা হিসাবে গণ্য হয় না))n1
n2
যেহেতু আমি এই অভিনব ধারণাটি কার্যকরভাবে দেখতে পেরে বেশ আগ্রহী (এবং এটি হ'ল কেকওয়াক নয়), তাই আমি বিজয়ীর জন্য দেড়শত অনুদানের সম্মাননা দিতে যাচ্ছি । প্রতিযোগিতাটি সমাপ্ত হবে একই দিনে অনুগ্রহ শেষ হবে।
বিজয়ীকে অনুগ্রহ প্রদান করা হবে না যদি এটি স্পষ্ট হয় যে তারা বেশিরভাগ কোড কেবল অন্য জমা দেওয়া থেকে পুনরায় লিখেছিল।
ইতিমধ্যে এটি করার জন্য লাইব্রেরি ফাংশনগুলি (যদি থাকে তবে) অনুমোদিত নয়।
দ্রষ্টব্য: এটি আমার অবশিষ্ট প্রশ্নগুলি থেকে এসেছে যে যে কেউ পোস্ট করতে পারেন নি। তবে অন্য কেউ যদি তাদের পোস্ট না করে তবে সময় মতো আমার পক্ষে ভাল সুযোগ রয়েছে। : P: P