नियमित बहुभुज का क्षेत्र


10

सभी विकर्णों के साथ एक नियमित एन-गॉन को देखते हुए, कितने क्षेत्र विकर्ण बनाते हैं?

उदाहरण के लिए, एक नियमित त्रिकोण में ठीक 1 है, एक वर्ग में बिल्कुल 4 है, पेंटागन में ठीक 11 है, और एक षट्भुज में 24 है।

  • समाधान में बाइट्स की संख्या के विपरीत स्कोर आनुपातिक है
  • छोटे रनवे कारकों को उनके रनटाइम के आधार पर स्कोर में जोड़ा जा सकता है
  • बहुभुज के आसपास के क्षेत्र की गिनती नहीं है

1
तो ... एक प्रोग्राम लिखने कि रिटर्न इस
भीड़

जवाबों:


11

गणितज्ञ 118

हालाँकि , एक नियमित n-gon में सभी विकर्णों के साथ क्षेत्रों की संख्या की गणना के लिए अच्छी तरह से परिभाषित मार्ग हैं, वे काफी बोझिल हैं। मैंने सोचा कि इमेज प्रोसेसिंग अप्रोच लेने में मज़ा आ सकता है : यदि हम n-gon को इसके विकर्णों के साथ खींचते हैं, तो क्या यह संभव है कि चित्र से rasterized और binarized प्रतिनिधित्व से खींची गई छवि (अधिक सटीक रूप से,) से क्षेत्रों को गिनें। एक सरणी)?

निम्नलिखित एक बहुभुज की वास्तविक छवि का उत्पादन और प्रक्रिया करता है और रेखापुंज छवि से क्षेत्रों की संख्या निर्धारित करता है।

Table[MorphologicalEulerNumber@Binarize@Rasterize@CompleteGraph[k, ImageSize->1200,EdgeStyle->Thickness[Large]],{k,3,14}]

{, 3, 11, 24, 50, 80, 154, 220, 375, 444, 781, 952}

इसे ही इंजीनियर के समाधान के रूप में संदर्भित किया जा सकता है। यह काम पूरा कर लेता है, लेकिन केवल कुछ सीमित परिस्थितियों में। (और यह धीमा है: ऊपर दिए गए कोड को चलाने में 4.24 सेकेंड का समय लगा।) ऊपर दी गई दिनचर्या 14-पूर्ण ग्राफ़ को सही ढंग से काम करती है और इसमें शामिल है , जो नीचे दिखाया गया है। मुझे यह आश्चर्यजनक लगा, यह देखते हुए कि 952 क्षेत्रों में से कुछ को देखने में बहुत मुश्किल है, तब भी जब छवि 1200 से 1200 पिक्सेल पर प्रदर्शित होती है।

नीचे दी गई तस्वीर रेखापुंज और द्विपरीकृत होने से पहले की छवि है ।

14-पूरा ग्राफ


3

एक्सेल, 341 बाइट्स

@ भीड़ की टिप्पणी में वोल्फ्रैम मैथवर्ल्ड लिंक पर दिए गए सूत्र को लागू करता है।

=A1*(A1^3-6*A1^2+23*A1-42)/24+1+(MOD(A1,2)=0)*(A1*(42*A1-5*A1^2-40)/48-1)-(MOD(A1,4)=0)*3*A1/4+(MOD(A1,6)=0)*A1*(310-53*A1)/12+(MOD(A1,12)=0)*49/2*A1+(MOD(A1,18)=0)*32*A1+(MOD(A1,24)=0)*19*A1-(MOD(A1,30)=0)*36*A1-(MOD(A1,42)=0)*50*A1-(MOD(A1,60)=0)*190*A1-(MOD(A1,84)=0)*78*A1-(MOD(A1,90)=0)*48*A1-(MOD(A1,120)=0)*78*A1-(MOD(A1,210)=0)*48*A1

कुछ स्पष्टता के लिए अपुष्ट:

=A1*(A1^3-6*A1^2+23*A1-42)/24+1
+(MOD(A1,2)=0)  *(A1*(42*A1-5*A1^2-40)/48-1)
-(MOD(A1,4)=0)  *3*A1/4
+(MOD(A1,6)=0)  *A1*(310-53*A1)/12
+(MOD(A1,12)=0) *49/2*A1
+(MOD(A1,18)=0) *32*A1
+(MOD(A1,24)=0) *19*A1
-(MOD(A1,30)=0) *36*A1
-(MOD(A1,42)=0) *50*A1
-(MOD(A1,60)=0) *190*A1
-(MOD(A1,84)=0) *78*A1
-(MOD(A1,90)=0) *48*A1
-(MOD(A1,120)=0)*78*A1
-(MOD(A1,210)=0)*48*A1 
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.