"টান টান টান টান" সম্পর্কে এটি দুটি চ্যালেঞ্জের দ্বিতীয়। এখানে সামান্য সরল প্রথম অংশ ।
আসুন এম নখগুলি একটি বোর্ডে পজিশনে (x 1 , y 1 ) থেকে (x মি , ওয়াই এম ) ড্রাইভ করি । এগুলির প্রথম এবং শেষের দিকে একটি রাবার ব্যান্ডটি বেঁধে রাখুন এবং অন্যান্য নখের চারদিকে প্রসারিত করুন, যাতে ব্যান্ডটি সমস্ত নখকে ক্রমানুসারে অনুসরণ করে। নোট করুন যে রাবার ব্যান্ডটি এখন 2D স্পেসে টুকরোচক লিনিয়ার প্যারামিটারাইজড ফাংশন (x (টি), y (টি)) বর্ণনা করে।
এখন বোর্ডে আরও একটি এন নখ ড্রাইভ করুন (x 1 , y 1 ) থেকে (x n , y n ) পজিশনে । যদি আমরা এখন প্রথম এবং শেষেরটি (যা রাবারের প্রান্তটি আবদ্ধ থাকে) বাদে সমস্ত আসল এম নখগুলি সরিয়ে ফেলে তবে নতুন নখের চারপাশে টান পড়ে থাকা অবধি রাবার ব্যান্ডটি সংক্ষিপ্ত হয়ে যাবে, অন্য একটি অংশবিশেষ রৈখিক কাজ করবে।
উদাহরণস্বরূপ, এম = 12 প্রাথমিক নখ অবস্থানগুলিতে (0, 0), (2, -1), (3/2, 4/3), (7/2, 1/3), (11/2, 16/3), (1, 16/3), (0, 1), (7, -2), (3, 4), (8, 1), (3, -1), (11, 0) , এবং n = 10 অবস্থানগুলিতে আরও নখ (1, 1), (3, 1), (4, 4), (1, 3), (2, 2), (5, -1), (5, 0) ), (6, 2), (7, 1), (6, 0) । নিম্নলিখিত বর্ণিত তিনটি প্লট উপরে বর্ণিত প্রক্রিয়াটি দেখায়:
বড় সংস্করণের জন্য: ডান ক্লিক করুন -> নতুন ট্যাবে খুলুন
এবং এখানে রাবার ব্যান্ডটি শক্ত করার একটি অ্যানিমেশন রয়েছে যদি এটির দৃশ্যায়ণ করতে আপনার কোনও অসুবিধা হয়:
চ্যালেঞ্জ
"নখ" এর দুটি তালিকা দেওয়া, দ্বিতীয় তালিকার চারপাশে টট রাবার ব্যান্ডটি প্লট করুন যদি এটি প্রথম তালিকার সমস্ত নখকে ঘুরিয়ে আকৃতি থেকে শুরু করে।
আপনি কোনও প্রোগ্রাম বা ফাংশন লিখে STDIN, ARGV বা ফাংশন যুক্তির মাধ্যমে ইনপুট নিতে পারেন। আপনি হয় ফলাফলটি স্ক্রিনে প্রদর্শন করতে পারেন বা একটি ছবিতে একটি চিত্র সংরক্ষণ করতে পারেন।
ফলাফলটি যদি জরিমানা করা হয় তবে এটি প্রতিটি দিকে কমপক্ষে 300 পিক্সেল হওয়া দরকার। চূড়ান্ত রাবার ব্যান্ড এবং নখগুলি অবশ্যই চিত্রের অনুভূমিক এবং উল্লম্ব পরিমাণের কমপক্ষে 75% কভার করতে হবে। X এবং y এর দৈর্ঘ্যের স্কেল একই হতে হবে। দ্বিতীয় সেটটিতে আপনার নখগুলি দেখাতে হবে (কমপক্ষে 3x3 পিক্সেল ব্যবহার করে) এবং স্ট্রিং (কমপক্ষে 1 পিক্সেল প্রশস্ত)। আপনি অক্ষগুলি অন্তর্ভুক্ত করতে পারেন বা নাও করতে পারেন।
রঙগুলি আপনার পছন্দসই, তবে আপনার কমপক্ষে দুটি স্বতন্ত্র রঙের দরকার: একটি পটভূমির জন্য এবং একটি নখ এবং স্ট্রিংয়ের জন্য (সেগুলির বিভিন্ন রঙ থাকতে পারে)।
আপনি ধরে নিতে পারেন যে দ্বিতীয় তালিকার সমস্ত নখ রাবার ব্যান্ডের প্রাথমিক আকার থেকে কমপক্ষে 10 -5 ইউনিট দূরে রয়েছে (যাতে আপনার ভাসমান-পয়েন্টের ভুল সম্পর্কে উদ্বিগ্ন হওয়ার দরকার নেই)।
এটি কোড গল্ফ, তাই সংক্ষিপ্ত উত্তরটি (বাইটে) জেতে।
আরও উদাহরণ
এখানে আরও দুটি উদাহরণ দেওয়া হল:
{{1, 1}, {3, 3}, {2, 4}, {1, 3}, {4, 0}, {3, -1}, {2, 0}, {4, 2}}
{{2, 1}, {3, 2}, {1, 2}, {4, 1}}
{{1, 1}, {3, 1}, {3, 3}, {1, 3}, {1, 5}, {3, 5}, {-1, 3}, {-1, 0}, {3, 4}, {5, 1}, {5, -1}, {7, -1}, {3, 7}, {7, 5}}
{{0, 0}, {0, 2}, {0, 4}, {0, 6}, {2, 0}, {2, 2}, {2, 4}, {2, 6}, {4, 0}, {4, 2}, {4, 4}, {4, 6}, {6, 0}, {6, 2}, {6, 4}, {6, 6}}
এবং এখানে একটি উদাহরণ যা প্রাথমিক দুটি পেরেক বাকি রেখে গেছে তার তাত্পর্য দেখায়। ফলাফলটি খ হতে হবে এবং একটি নয় :
{{0, 0}, {0, 1}, {-1, 1}, {-1, -1}, {1, -1}, {1, 0}}
{{-0.5, 0.5}}
এই উদাহরণটি প্রদানের জন্য এলকে ধন্যবাদ।