स्टीनर चेन एन सर्कल का एक सेट है, जहां प्रत्येक सर्कल 2 अन्य गैर-इंटरसेक्टिंग सर्कल के साथ-साथ श्रृंखला के पिछले और अगले सर्कल के अनुसार स्पर्श होता है, जैसा कि नीचे की छवियों में देखा गया है:
इस चुनौती में, आप एक प्रोग्राम / फ़ंक्शन लिखेंगे, जो स्टीनर श्रृंखला को पुन: आरेखित करता है, अर्थात, एक दी गई श्रृंखला के वृत्त, श्रृंखलाओं के एक और पुनरावृत्ति के आधार वृत्त होंगे:
चुनौती
एक प्रोग्राम / फ़ंक्शन लिखें जो छवि आयामों और पूर्णांक की एक सूची को स्वीकार करता है जो श्रृंखला के प्रत्येक क्रमिक पुनरावृत्ति में मंडलियों के स्तर को दर्शाता है, और पुनरावर्ती स्टाइनर श्रृंखलाओं के साथ एक छवि को आउटपुट करता है।
इनपुट
आपका कार्यक्रम / समारोह 2 तर्क स्वीकार करेगा:
s
- छवि की चौड़ाई और ऊंचाईls
- श्रृंखला के प्रत्येक क्रमिक पुनरावृत्ति में मौजूद हलकों की संख्या को दर्शाने वाले सकारात्मक पूर्णांकों की सूची, सबसे ऊपरी श्रृंखला से लेकर नीचे-सबसे अधिक श्रृंखला तक का आदेश दिया गया
उत्पादन
आपका प्रोग्राम / फंक्शन पुनरावर्ती Steiner श्रृंखला को प्रदर्शित करने वाले आयाम s
x की छवि को आउटपुट करेगा s
।
- शीर्ष स्तर का आधार चक्र एक व्यास के साथ छवि जितना बड़ा होगा, छवि के
s
अंदर केंद्रित होगा - चीजों को आसान बनाने के लिए, एक स्टाइनर श्रृंखला के 2 आधार वृत्त संकेंद्रित होंगे, अर्थात, 2 आधारभूत मंडलियों के केंद्र बिंदु समान होंगे
- एक बाहरी त्रिज्या,
R
और एक श्रृंखला में हलकों की संख्या को देखते हुए,N
आंतरिक त्रिज्या के लिए सूत्रR'
हैR' = (R-R*sin(pi/N))/(sin(pi/N)+1)
- श्रृंखला के सर्किल और साथ ही आंतरिक बेस सर्कल चेन के अगले पुनरावृत्ति के बाहरी आधार सर्कल होंगे
- श्रृंखला हलकों के माध्यम से पुनरावृत्ति करते समय, अगली श्रृंखला का क्रम अगले मूल्य के अनुरूप होना चाहिए
ls
- एक श्रृंखला के आंतरिक सर्कल के माध्यम से पुनरावृत्ति करते समय, आदेश अपने माता-पिता के आदेश के समान होना चाहिए (उदाहरण [5,2]):
- सभी श्रृंखलाओं की लंबाई की गहराई पर पुनरावृत्ति को समाप्त करना चाहिए
ls
- जंजीरों का घूमना मायने नहीं रखता:
- हालांकि, अपने माता-पिता के केंद्र बिंदु के सापेक्ष पुनरावर्ती श्रृंखलाओं का घुमाव समान होना चाहिए:
- सभी सर्कल को एक रूपरेखा या ठोस भरण के साथ तैयार किया जाना चाहिए
- रंग पसंद को कार्यान्वयन के लिए छोड़ दिया गया है, खामियों के लिए बचाओ (उदाहरण के लिए, एक ही रंग के साथ सब कुछ भरना)
उदाहरण रन
निम्नलिखित उदाहरणों में, रंग द्वारा निर्धारित किया जाता है (depth of the recursion)^4
।
आप यहां स्रोत पा सकते हैं ।
chain(600,[5,4,3])
chain(600,[11,1,1,1,1,1,1])
chain(600,[5,6,7,8,9])