আমার চ্যালেঞ্জ ধারণাটি সঠিক দিকে ঠেলে দেওয়ার জন্য ক্যালভিনের শখের ক্রেডিট।
বিমানের পয়েন্টগুলির একটি সেট বিবেচনা করুন, যা আমরা সাইটগুলি কল করব এবং প্রতিটি সাইটের সাথে একটি রঙ যুক্ত করব। এখন আপনি নিকটতম সাইটের রঙের সাথে প্রতিটি পয়েন্ট রঙ করে পুরো প্লেনটি আঁকতে পারেন। একে ভোরোনাই মানচিত্র (বা ভোরোনাই চিত্র ) বলা হয়। নীতিগতভাবে, ভোরোনাই মানচিত্র যে কোনও দূরত্বের মেট্রিকের জন্য সংজ্ঞায়িত করা যেতে পারে, তবে আমরা সাধারণ ইউক্যালিডিয়ান দূরত্বটি কেবল ব্যবহার করব r = √(x² + y²)
। ( দ্রষ্টব্য: এই চ্যালেঞ্জের সাথে প্রতিযোগিতা করার জন্য আপনাকে কীভাবে এইগুলির একটি গণনা এবং রেন্ডার করতে হবে তা অগত্যা আপনাকে জেনে রাখবেন না))
এখানে 100 টি সাইটের একটি উদাহরণ রয়েছে:
আপনি যদি কোনও ঘরের দিকে তাকান, তবে সেই ঘরের মধ্যে থাকা সমস্ত পয়েন্ট অন্য কোনও সাইটের তুলনায় সংশ্লিষ্ট সাইটের নিকটে রয়েছে।
আপনার কাজটি হ'ল এই জাতীয় ভোরোনাই মানচিত্র সহ কোনও প্রদত্ত চিত্র আনুমানিক। আপনাকে চিত্রটি কোনও সুবিধাজনক রাস্টার গ্রাফিক্স ফর্ম্যাট এবং সেইসাথে একটি পূর্ণসংখ্যার এন দেওয়া হয়েছে । তারপরে আপনার এন সাইটগুলি এবং প্রতিটি সাইটের জন্য একটি রঙ তৈরি করা উচিত , যেমন এই সাইটের উপর ভিত্তি করে ভোরোনাই মানচিত্রটি যতটা সম্ভব নিবিড়ভাবে ইনপুট চিত্রের সাথে সাদৃশ্যপূর্ণ।
আপনার আউটপুট থেকে ভোরোনাই মানচিত্রটি রেন্ডার করতে আপনি এই চ্যালেঞ্জের নীচে স্ট্যাক স্নিপেট ব্যবহার করতে পারেন, বা আপনি যদি চান তবে আপনি নিজেই এটি সরবরাহ করতে পারেন।
আপনি সাইটগুলির একটি সেট (যদি আপনার প্রয়োজন হয়) থেকে ভোরোনাই মানচিত্রের গণনা করতে অন্তর্নির্মিত বা তৃতীয় পক্ষের ফাংশন ব্যবহার করতে পারেন।
এটি একটি জনপ্রিয়তার প্রতিযোগিতা, সুতরাং সর্বাধিক নেট ভোটের সাথে উত্তর জিতল। ভোটারদের দ্বারা উত্তর বিচার করতে উত্সাহিত করা হয়
- আসল চিত্রগুলি এবং তাদের রঙগুলি কতটা আনুমানিক হয়।
- বিভিন্ন ধরণের চিত্রগুলিতে অ্যালগরিদম কতটা ভাল কাজ করে।
- অ্যালগরিদম ছোট এন এর জন্য কতটা ভাল কাজ করে ।
- আলগোরিদিম অভিযোজিতভাবে গোষ্ঠীগুলিতে চিত্রের যে অঞ্চলে আরও বিশদ প্রয়োজন সেগুলি নির্দেশ করে।
চিত্র পরীক্ষা করুন
আপনার অ্যালগরিদমটি পরীক্ষা করতে এখানে কয়েকটি চিত্র দেওয়া হয়েছে (আমাদের কিছু সাধারণ সন্দেহভাজন, কিছু নতুন)। বড় সংস্করণ জন্য ছবি ক্লিক করুন।
প্রথম সারির সৈকতটি অলিভিয়া বেল আঁকেন এবং তার অনুমতি সহ অন্তর্ভুক্ত করেছিলেন।
আপনি যদি অতিরিক্ত চ্যালেঞ্জ চান, তবে সাদা পটভূমিতে যোশিকে চেষ্টা করুন এবং তার পেটের লাইনটি ঠিক পান
আপনি এই ইমগুর গ্যালারীটিতে এই পরীক্ষাগুলির সমস্তটি সন্ধান করতে পারেন যেখানে আপনি সেগুলিকে একটি জিপ ফাইল হিসাবে ডাউনলোড করতে পারেন। অ্যালবামটিতে অন্য একটি পরীক্ষা হিসাবে এলোমেলো ভোরোনাই চিত্র রয়েছে। রেফারেন্সের জন্য, এটি তৈরি করা ডেটা এখানে ।
দয়া করে বিভিন্ন চিত্র এবং এন এর উদাহরণস্বরূপ চিত্রগুলি অন্তর্ভুক্ত করুন , উদাহরণস্বরূপ 100, 300, 1000, 3000 (পাশাপাশি কিছু কিছু নির্দিষ্ট ঘরের নির্দিষ্টকরণের পেস্টবিন)। আপনি যেমন উপযুক্ত দেখেন তেমন কক্ষগুলির মধ্যে কালো প্রান্তগুলি ব্যবহার করতে বা বাদ দিতে পারেন (এটি অন্যের চেয়ে কিছু চিত্রের চেয়ে ভাল লাগতে পারে)। যদিও সাইটগুলি অন্তর্ভুক্ত করবেন না (কোনও পৃথক উদাহরণ ব্যতীত সম্ভবত আপনি যদি আপনার সাইটের স্থান নির্ধারণ কীভাবে কাজ করে তা ব্যাখ্যা করতে চান)।
আপনি যদি বিপুল সংখ্যক ফলাফল দেখাতে চান তবে উত্তরের আকারটি যুক্তিসঙ্গত রাখতে আপনি imgur.com এ একটি গ্যালারী তৈরি করতে পারেন । বিকল্পভাবে, আপনার পোস্টে থাম্বনেইল রাখুন এবং তাদের বড় চিত্রগুলিতে লিঙ্ক তৈরি করুন, যেমন আমি আমার রেফারেন্স উত্তরে করেছি । s
Imgur.com লিঙ্কে (যেমন I3XrT.png
-> I3XrTs.png
) ফাইলের নামের সাথে সংযুক্ত করে আপনি ছোট থাম্বনেলগুলি পেতে পারেন । এছাড়াও, যদি আপনি খুব ভাল কিছু খুঁজে পান তবে অন্য পরীক্ষার চিত্রগুলি নির্দ্বিধায় ব্যবহার করুন।
পেশকারী
আপনার ফলাফলগুলি রেন্ডার করতে আপনার আউটপুটটিকে নিম্নলিখিত স্ট্যাক স্নিপেটে আটকান। যথাযথ তালিকার বিন্যাস অপ্রাসঙ্গিক, যতক্ষণ না প্রতিটি কক্ষটি ক্রমে 5 টি ভাসমান পয়েন্ট সংখ্যা দ্বারা সুনির্দিষ্ট হয় x y r g b
, যেখানে x
এবং y
কোষের সাইটের স্থানাঙ্ক হয় r g b
এবং এটি পরিসরে লাল, সবুজ এবং নীল রঙের চ্যানেল 0 ≤ r, g, b ≤ 1
।
স্নিপেটটি ঘরের প্রান্তগুলির একটি লাইন প্রস্থ নির্দিষ্ট করার জন্য এবং সেল সাইটগুলি প্রদর্শিত হবে কিনা তা (বেশিরভাগ ডিবাগিংয়ের উদ্দেশ্যে) পরে বিকল্পগুলি সরবরাহ করে। তবে নোট করুন যে আউটপুটটি কেবলমাত্র তখনই সরবরাহ করা হয় যখন ঘর নির্দিষ্টকরণগুলি পরিবর্তন হয় - সুতরাং আপনি যদি অন্য কয়েকটি বিকল্প সংশোধন করেন তবে কোষে বা কোনও কিছুর জন্য একটি স্থান যুক্ত করুন।
সত্যই সুন্দর জেএস ভোরোনাই লাইব্রেরিটি লেখার জন্য রেমন্ড হিলকে প্রচুর কৃতিত্ব ।