ขนาดของดวงจันทร์ลึกลับ
ฉันแน่ใจว่าคุณเคยได้ยินว่าดวงจันทร์เปลี่ยนขนาดของมัน เมื่อคุณมีความรักและคุณโชคดีดวงจันทร์มีขนาดเกือบสองเท่าเมื่อเทียบกับสถานการณ์ปกติ บางคนบอกว่าเหตุผลคือบรรยากาศที่ทำหน้าที่เป็นเลนส์ คนอื่นคิดว่ามันเป็นเพียงเรื่องของการเปรียบเทียบกับวัตถุอื่น ๆ เช่นต้นไม้ในบริเวณใกล้เคียง อะไรก็ตามที่คุณอ่านคำอธิบายมันเป็นเรื่องส่วนตัว
ขนาดของวิทยาศาสตร์ดวงจันทร์
ตกลงเราเป็นโปรแกรมเมอร์ใช่ไหม เราพึ่งพาข้อเท็จจริงใช่ไหม ดังนั้นนี่คือการทดลอง:
- ใช้กล้องที่ดีซึ่งรองรับการตั้งค่าเวลาและค่ารูรับแสงด้วยตนเอง
- ตั้งค่ากล้องของคุณเป็นระดับการซูมสูงสุด
- ออกไปถ่ายรูปดวงจันทร์เพื่อตรวจจับการตั้งค่าที่ดีที่สุดเพื่อให้ดวงจันทร์คมและแสงก็ดี
- จำการตั้งค่า
- ถ่ายภาพดวงจันทร์ด้วยการตั้งค่าเหล่านั้นทุกครั้งที่คุณคิดว่าดวงจันทร์มีขนาดใหญ่หรือเล็ก
- คำนวณขนาดของดวงจันทร์เป็นพิกเซล
กล้องไม่โกหกใช่มั้ย ด้วยการนับพิกเซลที่สว่างเราสามารถวัดขนาดของดวงจันทร์ได้อย่างมีประสิทธิภาพ - อย่างน้อยเป็นพิกเซล
หากขนาดเท่ากันในรูปภาพทั้งหมดแสดงว่าเป็นข้อบกพร่องในสมองของเรา หากขนาดแตกต่างกันแสดงว่ามีห้องสำหรับเก็งกำไร
- ดวงจันทร์เติบโตขึ้นจริง ๆ (แต่มันกินอะไร)
- มีเอฟเฟ็กต์เลนส์บรรยากาศ
- ดวงจันทร์มีลักษณะเป็นวงรีและบางครั้งใกล้กว่าบางครั้งไกลจากโลกมากขึ้น
- ...
แต่ฉันจะปล่อยให้เปิดจนกว่างานของคุณจะเสร็จสมบูรณ์ แน่นอนว่าคุณต้องการทราบล่วงหน้าหากซอฟต์แวร์ของคุณสามารถคำนวณขนาดดวงจันทร์ได้อย่างถูกต้อง
งาน
ได้รับภาพที่ดีที่สุดของดวงจันทร์กรุณาคำนวณขนาดของดวงจันทร์ การปรับให้เหมาะสมคือ: พิกเซลเป็นสีดำหรือสีขาว ไม่มีอะไรในระหว่าง ไม่มีการลดรอยหยัก นั่นทำให้ง่ายใช่ไหม?
ข้อแม้: ดวงจันทร์ไม่เต็มคุณรู้ไหมว่ามันอาจเป็นเคียว! แต่ถึงแม้จะเป็นรูปร่างเคียวขนาดของดวงจันทร์ก็ใหญ่กว่า ดังนั้นคุณจะคำนวณขนาดเต็มได้ไหม
- โปรแกรมของคุณใช้ PNG เป็นอินพุตเช่นอาร์กิวเมนต์บรรทัดคำสั่งชื่อไฟล์ไปป์
stdin
หรือเป็นวัตถุบิตแมป (ของไลบรารีเฟรมเวิร์กมาตรฐาน) หากคุณเขียนฟังก์ชันแทนที่จะเป็นโปรแกรม - โปรแกรมของคุณทำงานกับขนาดบิตแมปอินพุตที่สมเหตุสมผลไม่จำเป็นต้องเป็นแบบสแควร์ รับประกันความกว้างและความสูงขั้นต่ำ 150 พิกเซล
- พระจันทร์เต็มดวงครอบคลุมอย่างน้อย 25% ของภาพ
- โปรแกรมของคุณแสดงขนาดที่คำนวณได้ของดวงจันทร์เป็นพิกเซลราวกับว่ามันเป็นพระจันทร์เต็มดวง
- เราคิดว่าดวงจันทร์เป็นทรงกลมที่สมบูรณ์แบบ
- ขนาดที่แน่นอนเป็นจำนวนเต็มเสมอ แต่คุณสามารถส่งออกจำนวนทศนิยมหากการคำนวณของคุณส่งคืน
- ความแม่นยำควรอยู่ระหว่าง 98% ถึง 102% (นั่นเป็นการคาดเดามากกว่าสิ่งที่ฉันสามารถรับประกันได้ว่าจะทำได้ถ้าคุณคิดว่ามันยากเกินกว่าที่จะเข้าถึงได้โปรดแสดงความคิดเห็น)
อัปเดต :
- ศูนย์กลางของดวงจันทร์ไม่จำเป็นต้องอยู่ตรงกลางของภาพ
- พื้นที่ที่มองเห็นได้ต่ำสุดคือ 5% ของดวงจันทร์หรือ 1.25% ของจำนวนพิกเซลทั้งหมด
- ภาพถูกถ่ายในลักษณะที่ว่าพระจันทร์ทั้งดวงจะพอดีกับภาพกล่าวคือจำนวนพิกเซลทั้งหมดเป็นขอบเขตสูงสุดของขนาดดวงจันทร์
- ดวงจันทร์จะไม่ถูกครอบตัด / ถูกตัด
กลุ่มตัวอย่าง
คุณสามารถสร้างตัวอย่างของคุณเองโดยใช้ไฟล์ผสมผสานหากคุณต้องการ ฉันสร้างรูปภาพต่อไปนี้ให้คุณแล้ว คุณสามารถนับพิกเซลในไฟล์ PNG โดยใช้WhitePixelCounter.exe (ต้องการ. NET) เพื่อตรวจสอบว่าภาพมีพิกเซลสีดำและสีขาวเท่านั้นและมีจำนวนเท่าใด
รูปภาพ 256x256 พิกเซลต่อไปนี้แตกต่างกันในจำนวนพิกเซลสีขาว แต่ควรส่งผลให้ขนาดดวงจันทร์ที่คำนวณได้ของ 16416 พิกเซล
และรูปภาพ 177x177 พิกเซลเหล่านี้ควรส่งคืน 10241 พิกเซล ภาพโดยทั่วไปแล้วจะเหมือนกัน แต่คราวนี้มีการใช้กล้องที่มีความยาวโฟกัสแตกต่างกัน
ตัวอย่างที่ไม่ได้เป็นสแควร์และไม่อยู่กึ่งกลางมีผลลัพธ์ 9988
โอ้ตอนนี้ฉันยังไม่มีการใช้งานอ้างอิงและฉันยังไม่รู้ด้วยซ้ำว่าฉันสามารถนำบางสิ่งไปใช้หรือไม่ แต่ในสมองของฉันมีความเชื่ออย่างแรงกล้าที่บอกฉันว่าต้องแก้ปัญหาทางคณิตศาสตร์ได้
กฎระเบียบ
นี่คือรหัสกอล์ฟ รหัสที่สั้นที่สุดของ 2015-03-30 ได้รับการยอมรับ