क्रिसमस पर मेरे परिवार में पेपर स्टार एक बड़ी चीज है, इसलिए मैंने सोचा कि एक आभासी शांत होगा।
नीचे एक नियमित dodecahedron की छवि है ( https://en.wikipedia.org/wiki/Dodecahedron से , जो वहां उल्लिखित लेखक के लिए जिम्मेदार है।)
एक पॉलीहेड्रॉन पर लागू होने पर स्टेलिनेशन (विकिपीडिया) की प्रक्रिया में अन्य चेहरे को पार करने तक चेहरे को शामिल करना शामिल है। इस प्रकार नियमित डोडेकाहेड्रोन से शुरू करते हुए, हम निम्नलिखित आकार प्राप्त करते हैं:
छोटा स्टेल्टेड डोडेकाहेड्रोन, ग्रेट डोडाकेरडॉन और ग्रेट स्टेलेटेड डोडेकेरडन
Http://jwilson.coe.uga.edu/emat6680fa07/thrash/asn1/stellations.html से छवि
ये डोडेकेहेड्रॉन (वोल्फ्राम) के तीन संभावित स्टेलेशन हैं । वे डोडेकाड्रोन से एक प्राकृतिक प्रगति बनाते हैं, छोटे डोडेकेहेड्रोन, महान डोडेकाहेड्रोन और महान स्टेल्टेड डोडेकेर्रॉन के रूप में, हम चेहरे को आगे और आगे बढ़ाते हैं।
कार्य
आपके प्रोग्राम या फ़ंक्शन को निम्नलिखित पॉलीहेड्रा में से किसी एक छवि फ़ाइल को प्रदर्शित या आउटपुट करना चाहिए: रेगुलर डोडेकेहेड्रॉन, स्मॉल स्टेलेटेड डोडेकेरडॉन, ग्रेट डोडेकेहेड्रॉन या ग्रेट स्टेलेटेड डोडेकेरॉन ।
रंग योजना ऊपर की दूसरी छवि के रूप में होनी चाहिए। विपरीत चेहरों के छह जोड़े में से प्रत्येक छह रंगों में से एक होगा लाल, पीला, हरा, सियान, नीला और मैजेंटा। आप अपनी भाषा या इसके दस्तावेज़ीकरण में इन नामों के साथ डिफ़ॉल्ट रंगों का उपयोग कर सकते हैं, या FF0000, FFFF00, 00FF00, 00FFFF, 0000FF और FF00FF रंगों का उपयोग कर सकते हैं (यदि वांछित हो तो आप इनकी तीव्रता को कम से कम 75% तक कम कर सकते हैं) उदाहरण के लिए सी के लिए एफ को कम करके।)
ध्यान दें कि हम एक "चेहरे" को एक ही विमान में सभी क्षेत्रों के रूप में परिभाषित करते हैं। इस प्रकार सामने की छवि के ऊपर का रंग पीला है (और समानांतर पिछला चेहरा भी पीला होगा।)
बैकग्राउंड काला, ग्रे या सफेद होना चाहिए। किनारों को छोड़ा जा सकता है, लेकिन खींचा जाने पर काला होना चाहिए।
नियम
प्रदर्शित पॉलीहेड्रॉन 500 और 1000 पिक्सेल चौड़ाई के बीच होना चाहिए (चौड़ाई को किसी भी दो प्रदर्शित कोने के बीच अधिकतम दूरी के रूप में परिभाषित किया गया है।)
प्रदर्शित पॉलीहेड्रॉन को परिप्रेक्ष्य प्रक्षेपण (पॉलीहेड्रॉन से कम से कम 5 चौड़ाई दूर), या ऑर्थोग्राफ़िक प्रक्षेपण (प्रभावी रूप से अनंत पर दृष्टिकोण के साथ एक परिप्रेक्ष्य प्रक्षेपण) होना चाहिए।
पॉलीहेड्रोन को किसी भी कोण से प्रदर्शित किया जाना चाहिए। (यह सबसे आसान संभव कोण लेने और हार्डकोडेड 2 डी आकार बनाने के लिए स्वीकार्य नहीं है।) उपयोगकर्ता द्वारा निम्नलिखित में से किसी भी तरीके से कोण को निर्दिष्ट किया जा सकता है:
स्टड से, या फ़ंक्शन या कमांडलाइन मापदंडों के अनुसार, तीन घुमावों के अनुरूप तीन कोणों का इनपुट। ये या तो यूलर एंगल्स हो सकते हैं (जहां पहला और आखिरी घुमाव एक ही धुरी के बारे में होता है) या टैट-ब्रायन कोण (जहां x, y और z अक्ष के बारे में एक-एक रोटेशन होता है) https://en.wikipedia.org/ wiki / Euler_angles (सीधे शब्दों में कहें तो कुछ भी इतना लंबा चलता है कि प्रत्येक घुमाव x, y, या z अक्ष के बारे में हो और लगातार घूर्णन लंबवत अक्षों के बारे में हो।)
उपयोगकर्ता के लिए एक्स और वाई कुल्हाड़ियों के बारे में 10 डिग्री से अधिक नहीं के चरणों में पॉलीहेड्रॉन को घुमाने और प्रदर्शन को ताज़ा करने, किसी भी समय की मनमानी संख्या (स्क्रीन पर z अक्ष लंबवत मानते हुए) की सुविधा।
पॉलीहेड्रॉन ठोस होना चाहिए, न कि वायरफ्रेम।
पॉलीहेड्रा ड्राइंग के लिए कोई भी निर्माण की अनुमति नहीं है (मैं आपको देख रहा हूं, गणितज्ञ!)
स्कोरिंग
यह कोडगोल्फ है। बाइट्स में सबसे छोटा कोड जीतता है।
बोनस
यदि आप 3D ड्राइंग के लिए बिल्डिंस का उपयोग नहीं करते हैं, तो अपने स्कोर को 0.5 से गुणा करें।
अपने स्कोर को 0.7 से गुणा करें यदि आप डोडेकाहेड्रोन के सभी तीनों को प्रदर्शित कर सकते हैं, तो उपयोगकर्ता द्वारा चयन किया जा सकता है, जो स्टेंडर से दर्ज किए गए पूर्णांक 1-3 द्वारा या फ़ंक्शन या कमांडलाइन पैरामीटर द्वारा।
यदि आप दोनों बोनस के लिए जाते हैं तो आपका स्कोर 0.5 * 0.7 = 0.35 से गुणा किया जाएगा
उपयोगी जानकारी (नीचे दिए गए स्रोत)
https://en.wikipedia.org/wiki/Regular_dodecahedron
https://en.wikipedia.org/wiki/Regular_icosahedron
डोडेकेहेड्रोन में 20 कोने हैं। उनमें से 8 निम्नलिखित कार्टेशियन (एक्स, वाई, जेड) निर्देशांक के साथ एक क्यूब के कोने बनाते हैं:
() 1, ± 1, ± 1)
शेष 12 इस प्रकार हैं (फी स्वर्णिम अनुपात है)
(0, ± 1 / φ,, ±)
(Φ 1 / φ, ± ±, 0)
(Φ φ, 0, ± 1 / φ)
छोटे स्टेललेटेड डोडाकेर्रॉन और महान डोडेकाहेड्रोन के उत्तल पतवार स्पष्ट रूप से एक नियमित डोडेकेरेड्रॉन हैं। बाहरी कोने एक इकोसैड्रोन का वर्णन करते हैं।
विकिपीडिया के अनुसार एक इकोसैहेड्रोन के 12 शीर्षकों को इसी तरह से वर्णित किया जा सकता है (0, 0 1, os an) के चक्रीय क्रमपरिवर्तन के रूप में। छोटे उपजी डोडेकेरॉन और महान डोडेखेड्रॉन (ऊपर के डोडेकेर्रोन के समान पैमाने पर) के बाहरी कोने एक बड़ा इकोसैड्रोन बनाते हैं, जहां कोने के निर्देशांक चक्रीय क्रमपरिवर्तन होते हैं (0, the φ ^ 2, ± the)।
डोडेकाहेड्रोन और आइकोसैहेड्रोन के लिए चेहरे के बीच के कोण क्रमशः 2 आर्कटन (phi) और arccos (- (√5) / 3) हैं।
घूमने की युक्तियों के लिए, https://en.wikipedia.org/wiki/Rotation_matrix देखें
संपादित करें: गलती से मैंने नियमित डोडेकाहेड्रॉन की अनुमति दी है, और अब इसे वापस नहीं ले सकता। स्टेल्टेड पॉलीहेड्रा के सभी तीनों को खींचने के लिए x0.7 बोनस रहता है। नए साल के दिन मैं उस उत्तर के लिए 100 का इनाम जारी करूंगा जो कि चार पॉलीहेड में से सबसे अधिक प्रदर्शित कर सकता है, टाई ब्रेक के रूप में सबसे छोटा कोड।
Polyhedrondata
यह अस्वीकृत है क्योंकि यह स्पष्ट रूप से पॉलीहेड्रा बनाने के लिए एक बिलिन है। यदि आपका जवाब पॉलीहेड्रा ड्राइंग के लिए बिल्डरों का उपयोग नहीं करता है, और अन्य नियमों का अनुपालन करता है, तो यह स्वीकार्य है। आपकी बात से लगता है कि इस तथ्य को देखते हुए कि आपको चेहरों को सही ढंग से रंगना है, Polyhedrondata
वैसे भी आपको ज्यादा नहीं बचाएंगे, इसलिए यह व्यवहार में कुछ हद तक मनमाना प्रतिबंध हो सकता है। मैं एक हद तक सहमत हूं, लेकिन यह सभी के लिए उचित है अगर मैं पोस्ट करने के बाद नियमों को बदलने से बचता हूं।
dodecahedron
) ड्राइंग के लिए LegionMammal978 बिल्डिंस को बंद कर दिया गया है। कुछ भाषाओं में कमांड जैसे 3D मॉडल बनाने की सुविधा हैtriangle[[a,b,c],[p,q,r],[x,y,z]]
। इन भाषाओं में आम तौर पर मॉडल को घुमाने और प्रदर्शित करने के लिए बिल्डिंस होते हैं, स्वचालित रूप से छिपे हुए चेहरे आदि को प्रदर्शित नहीं करने का ख्याल रखते हैं, इन जैसे समाधानों की अनुमति है लेकिन बोनस को आकर्षित नहीं करेगा। बोनस का उद्देश्य उन भाषाओं को अनुमति देना है जिनके पास ये सुविधाएं प्रतिस्पर्धी नहीं हैं, और अधिक दिलचस्प समाधानों को आकर्षित करने के लिए भी।