से विकिपीडिया :
एक गैर-स्व-प्रतिच्छेदन बंद बहुभुज का केन्द्रक n कोने ( x 0 , y 0 ), ( x 1 , y 1 ), ..., ( x n - 1 , y n ) 1 ) द्वारा परिभाषित है। बिंदु ( C x , C y ), जहां
और जहां A बहुभुज का हस्ताक्षरित क्षेत्र है,
इन सूत्रों में, बहुभुज की परिधि के साथ उनके घटने के क्रम में वर्टिकल गिने जाते हैं। इसके अलावा, शीर्ष ( x n , y n ) को ( x 0 , y 0 ) के समान माना जाता है , जिसका अर्थ है कि अंतिम मामले पर i + 1 को लगभग = i = 0 के बराबर होना चाहिए । ध्यान दें कि यदि बिंदुओं को दक्षिणावर्त क्रम में क्रमांकित किया जाता है तो क्षेत्र A , ऊपर के रूप में गणना की जाती है, एक नकारात्मक चिन्ह होगा; लेकिन केन्द्रक निर्देशांक इस मामले में भी सही होंगे।
- क्रम में कोने की सूची को देखते हुए (या तो दक्षिणावर्त, या काउंटर-क्लॉकवाइज), कोने के द्वारा प्रतिनिधित्व किए गए गैर-स्व-प्रतिच्छेदन बंद बहुभुज का केंद्रक ज्ञात करें।
- यदि यह मदद करता है, तो आप इनपुट को केवल CW, या केवल CCW मान सकते हैं। यदि आपको इसकी आवश्यकता है तो अपने उत्तर में कहें।
- निर्देशांक पूर्णांक होना आवश्यक नहीं है, और इसमें नकारात्मक संख्याएँ हो सकती हैं।
- इनपुट हमेशा मान्य होगा और इसमें कम से कम तीन कोने होंगे।
- इनपुट को केवल आपकी भाषा के मूल फ़्लोटिंग पॉइंट डेटा प्रकार में फिट होने की आवश्यकता है।
- आप मान सकते हैं कि इनपुट नंबर में हमेशा दशमलव बिंदु होगा।
- आप मान सकते हैं कि इनपुट पूर्णांक अंत में
.या.0। - आप इनपुट के लिए जटिल संख्याओं का उपयोग कर सकते हैं।
- आउटपुट निकटतम हजारवें तक सटीक होना चाहिए।
उदाहरण
[(0.,0.), (1.,0.), (1.,1.), (0.,1.)] -> (0.5, 0.5)
[(-15.21,0.8), (10.1,-0.3), (-0.07,23.55)] -> -1.727 8.017
[(-39.00,-55.94), (-56.08,-4.73), (-72.64,12.12), (-31.04,53.58), (-30.36,28.29), (17.96,59.17), (0.00,0.00), (10.00,0.00), (20.00,0.00), (148.63,114.32), (8.06,-41.04), (-41.25,34.43)] -> 5.80104769975, 15.0673812762
एक समन्वय विमान पर प्रत्येक बहुभुज को देखें, इस पृष्ठ के "संपादित करें" मेनू में वर्ग कोष्ठक के बिना निर्देशांक चिपकाएं ।
मैंने इस बहुभुज सेंट्रोइड पॉइंट कैलकुलेटर का उपयोग करके अपने परिणामों की पुष्टि की , जो कि भयानक है। मुझे एक नहीं मिला कि आप एक ही बार में सभी कोने इनपुट कर सकते हैं, या -जब आप इसे पहले टाइप करते हैं तो अपने साइन को मिटाने की कोशिश नहीं की थी । लोगों को जवाब देने का मौका मिलने के बाद मैं आपके उपयोग के लिए अपना पायथन समाधान पोस्ट करूंगा।
xs और ys का लाभ शरीर पर वितरित होने के बजाय सभी भारों को वर्टिकल में डालता है। पहला काम करने के लिए होता है क्योंकि यह नियमित है, इसलिए दोनों तरीके समरूपता केंद्र पर समाप्त होते हैं। दूसरा काम करता है क्योंकि त्रिकोण के लिए दोनों विधियां एक ही बिंदु तक ले जाती हैं।

