चंद्रमा रहस्य का आकार
मुझे यकीन है कि आपने सुना है कि चंद्रमा अपना आकार बदलता है। जब आप प्यार में होते हैं और आप भाग्यशाली होते हैं, तो चंद्रमा सामान्य स्थितियों की तुलना में आकार में लगभग दोगुना होता है। कुछ लोग कहते हैं कि इसका कारण वातावरण है जो लेंस के रूप में कार्य करता है। दूसरों को लगता है कि यह केवल अन्य वस्तुओं जैसे कि पास के पेड़ की तुलना में मामला है। आप जो भी स्पष्टीकरण पढ़ते हैं, वह काफी व्यक्तिपरक है।
चंद्रमा विज्ञान का आकार
ठीक है, हम प्रोग्रामर हैं, हम नहीं हैं? हम तथ्यों पर भरोसा करते हैं, है ना? तो यहाँ प्रयोग है:
- एक अच्छा कैमरा लें जो मैन्युअल रूप से समय और एपर्चर का समर्थन करता है।
- अपने कैमरे को अधिकतम ज़ूम स्तर पर सेट करें।
- बाहर जाओ, सबसे अच्छी सेटिंग्स का पता लगाने के लिए चंद्रमा की कुछ तस्वीरें लें ताकि चंद्रमा तेज हो और प्रकाश व्यवस्था ठीक हो।
- सेटिंग्स याद रखें
- हर बार जब आपको लगता है कि चंद्रमा बड़ा या छोटा है, तो उन सेटिंग्स के साथ चंद्रमा की तस्वीरें लें।
- पिक्सेल में चंद्रमा के आकार की गणना करें
कैमरा झूठ नहीं होगा, यह होगा? चमकीले पिक्सेल की गिनती करके हम चंद्रमा के आकार को प्रभावी ढंग से माप सकते हैं - कम से कम पिक्सल में।
यदि सभी फ़ोटो में आकार समान है, तो यह हमारे मस्तिष्क में एक बग है। यदि आकार भिन्न होता है, तो अटकल के लिए जगह है
- चंद्रमा वास्तव में बढ़ता है (लेकिन यह क्या खाता है?)
- एक वायुमंडलीय लेंस प्रभाव है
- चंद्रमा के पास एक अण्डाकार वक्र होता है और यह कभी-कभी निकट होता है, कभी-कभी पृथ्वी से दूर होता है
- ...
लेकिन जब तक आपका काम पूरा नहीं हो जाता, मैं इसे खुला छोड़ दूंगा। बेशक आप पहले से जानना चाहते हैं कि क्या आपका सॉफ्टवेयर चंद्रमा के आकार की सही गणना कर सकता है।
काम
चंद्रमा के कुछ अनुकूलित चित्रों को देखते हुए, कृपया चंद्रमा के आकार की गणना करें। अनुकूलन है: पिक्सेल या तो काले या सफेद होते हैं। बीच में कुछ नहीं। कोई एंटीअलियासिंग नहीं। यह आसान बनाता है, है ना?
चेतावनी: चंद्रमा हमेशा भरा नहीं है, आप जानते हैं ... यह एक दरांती हो सकती है! लेकिन एक दरांती के आकार में भी, चंद्रमा का आकार बड़ा है। तो आप पूर्ण आकार की गणना करेंगे, कृपया।
stdin
यदि आप प्रोग्राम के बजाय फ़ंक्शन लिखते हैं, तो आपका प्रोग्राम इनपुट के रूप में PNG लेता है, जैसे फ़ाइल नाम कमांड लाइन तर्क, एक बिटमैप ऑब्जेक्ट (मानक फ्रेमवर्क लाइब्रेरी के रूप में)।- आपका कार्यक्रम किसी भी उचित इनपुट बिटमैप आकार के साथ काम करता है, जरूरी नहीं कि वर्ग। न्यूनतम चौड़ाई और ऊंचाई 150 पिक्सेल की गारंटी है।
- पूर्णिमा कम से कम 25% तस्वीर को कवर करती है।
- आपका प्रोग्राम पिक्सेल में चंद्रमा के परिकलित आकार को आउटपुट करता है जैसे कि यह एक पूर्ण चंद्रमा था।
- हम मानते हैं कि चंद्रमा एक संपूर्ण क्षेत्र है।
- सटीक आकार हमेशा एक पूर्णांक संख्या होता है, लेकिन यदि आपकी गणना वापस आती है तो आप एक दशमलव संख्या को आउटपुट कर सकते हैं।
- सटीकता 98% और 102% के बीच होनी चाहिए। (यह एक अनुमान के बजाय कुछ है जिसे मैं प्राप्त करने की गारंटी दे सकता हूं। यदि आपको लगता है कि यह पहुंचना बहुत कठिन है, तो कृपया एक टिप्पणी छोड़ दें।)
अपडेट :
- चित्र के बीच में चंद्रमा का केंद्र आवश्यक रूप से नहीं है।
- न्यूनतम दृश्य क्षेत्र चंद्रमा का 5% या पिक्सेल की कुल संख्या का 1.25% है।
- तस्वीर इस तरह से ली गई है कि पूरे चंद्रमा की छवि फिट होगी, अर्थात पिक्सेल की कुल संख्या चंद्रमा के आकार के लिए एक ऊपरी सीमा है।
- चांद की कटाई / कतरन नहीं की जाएगी।
नमूने
आप अपनी खुद की नमूने मिश्रण फ़ाइल का उपयोग कर उत्पन्न कर सकते हैं यदि आप की तरह। मैंने आपके लिए निम्नलिखित चित्र बनाए हैं। आप यह जाँचने के लिए कि क्या छवि में केवल काले और सफ़ेद पिक्सेल हैं और उनमें से कितने हैं, आप WhitePixelCounter.exe ( need .NET) का उपयोग करके PNG फ़ाइल में पिक्सेल की गिनती कर सकते हैं।
निम्नलिखित 256x256 पिक्सेल छवियां सफेद पिक्सेल की मात्रा में भिन्न होती हैं, लेकिन सभी को 16416 पिक्सेल के परिकलित चंद्रमा आकार में परिणाम होना चाहिए।
और इन 177x177 पिक्सेल छवियों को 10241 पिक्सेल वापस करना चाहिए। चित्र मूल रूप से समान हैं, लेकिन इस बार एक अलग फोकल लंबाई वाले कैमरे का उपयोग किया गया था।
9988 के परिणाम के साथ गैर-वर्ग और गैर-केंद्रित नमूने:
ओह, मेरे पास अभी के लिए एक संदर्भ कार्यान्वयन नहीं है और मुझे यह भी नहीं पता है कि मैं कुछ लागू करने में सक्षम हूं या नहीं। लेकिन मेरे मस्तिष्क में एक दृढ़ विश्वास है जो मुझे बताता है कि यह गणितीय रूप से हल होना चाहिए।
नियम
यह कोड गोल्फ है। 2015-03-30 पर सबसे छोटा कोड स्वीकार किया जाता है।