मेरे चुनौती विचार को सही दिशा में ले जाने के लिए केल्विन के शौक का श्रेय।
विमान में बिंदुओं के एक सेट पर विचार करें, जिसे हम साइट कहेंगे , और प्रत्येक साइट के साथ एक रंग जोड़ेंगे। अब आप प्रत्येक बिंदु को निकटतम साइट के रंग के साथ रंगकर पूरे विमान को पेंट कर सकते हैं। इसे वोरोनोई मानचित्र (या वोरोनोई आरेख ) कहा जाता है । सिद्धांत रूप में, वोरोनोई मानचित्रों को किसी भी दूरी मीट्रिक के लिए परिभाषित किया जा सकता है, लेकिन हम बस सामान्य यूक्लिडियन दूरी का उपयोग करेंगे r = √(x² + y²)
। ( ध्यान दें: आपको इस चुनौती में प्रतिस्पर्धा करने के लिए इनमें से किसी एक की गणना और रेंडर करने की आवश्यकता नहीं है।)
यहां 100 साइटों के साथ एक उदाहरण दिया गया है:
यदि आप किसी सेल को देखते हैं, तो उस सेल के सभी बिंदु किसी अन्य साइट की तुलना में संबंधित साइट के करीब हैं।
आपका कार्य इस तरह के वोरोनोई मानचित्र के साथ किसी दिए गए चित्र को अनुमानित करना है। आपको किसी भी सुविधाजनक रेखापुंज ग्राफिक्स प्रारूप में छवि दी गई है, साथ ही एक पूर्णांक एन । फिर आपको एन साइटों तक उत्पादन करना चाहिए , और प्रत्येक साइट के लिए एक रंग, जैसे कि इन साइटों पर आधारित वोरोनोई मानचित्र इनपुट छवि को यथासंभव निकटता से देखता है।
आप अपने आउटपुट से वोरोनोई मानचित्र प्रस्तुत करने के लिए इस चुनौती के निचले भाग में स्टैक स्निपेट का उपयोग कर सकते हैं, या यदि आप चाहें तो इसे स्वयं प्रस्तुत कर सकते हैं।
आप कर सकते हैं में निर्मित या तीसरे पक्ष के कार्यों का उपयोग साइटों का एक सेट से एक Voronoi नक्शा गणना करने के लिए (यदि आप की जरूरत है)।
यह एक लोकप्रियता प्रतियोगिता है, इसलिए सबसे शुद्ध वोटों के साथ जवाब जीत जाता है। मतदाताओं को जवाब देने के लिए प्रोत्साहित किया जाता है
- मूल चित्र और उनके रंग कितने अच्छे हैं।
- एल्गोरिथ्म विभिन्न प्रकार की छवियों पर कितनी अच्छी तरह काम करता है।
- एल्गोरिथ्म छोटे एन के लिए कितना अच्छा काम करता है ।
- क्या एल्गोरिथ्म अनुकूल रूप से क्लस्टर छवि के क्षेत्रों में इंगित करता है जिसे अधिक विस्तार की आवश्यकता होती है।
परीक्षण छवियाँ
यहां आपके एल्गोरिथ्म पर परीक्षण करने के लिए कुछ छवियां हैं (हमारे कुछ सामान्य संदिग्ध, कुछ नए)। बड़े संस्करणों के लिए चित्रों पर क्लिक करें।
पहली पंक्ति में समुद्र तट ओलिविया बेल द्वारा खींचा गया था , और उसकी अनुमति के साथ शामिल किया गया था।
यदि आप एक अतिरिक्त चुनौती चाहते हैं, तो योशी को एक सफेद पृष्ठभूमि के साथ आज़माएं और अपनी पेट रेखा को सही से प्राप्त करें।
आप इस imgur गैलरी में इन सभी परीक्षण छवियों को पा सकते हैं जहाँ आप इन सभी को ज़िप फ़ाइल के रूप में डाउनलोड कर सकते हैं। एल्बम में एक और परीक्षण के रूप में एक यादृच्छिक वोरोनोई आरेख भी है। संदर्भ के लिए, यहां वह डेटा है जिसने इसे बनाया है ।
कृपया विभिन्न छवियों और एन की एक किस्म के लिए उदाहरण आरेखों को शामिल करें, उदाहरण के लिए 100, 300, 1000, 3000 (साथ ही संबंधित सेल विनिर्देशों में से कुछ के लिए pastebins)। आप कोशिकाओं के बीच काले किनारों का उपयोग या छोड़ सकते हैं जैसा कि आप फिट देखते हैं (यह दूसरों की तुलना में कुछ छवियों पर बेहतर दिख सकता है)। हालांकि साइटों को शामिल न करें (एक अलग उदाहरण को छोड़कर शायद अगर आप यह बताना चाहते हैं कि आपकी साइट प्लेसमेंट कैसे काम करती है)।
यदि आप बड़ी संख्या में परिणाम दिखाना चाहते हैं, तो आप जवाबों के आकार को उचित रखने के लिए 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
।
स्निपेट सेल किनारों की एक लाइन चौड़ाई निर्दिष्ट करने के लिए विकल्प प्रदान करता है, और सेल साइटों को दिखाया जाना चाहिए या नहीं (उत्तरार्द्ध ज्यादातर डिबगिंग उद्देश्यों के लिए)। लेकिन ध्यान दें कि सेल विनिर्देशों में परिवर्तन होने पर आउटपुट केवल फिर से प्रदान किया जाता है - इसलिए यदि आप कुछ अन्य विकल्पों को संशोधित करते हैं, तो कोशिकाओं या कुछ के लिए एक स्थान जोड़ें।
यह वास्तव में अच्छा जेएस वोरोनोई पुस्तकालय लिखने के लिए रेमंड हिल के लिए बड़े पैमाने पर क्रेडिट ।