बहुभुज के केन्द्रक (उर्फ द्रव्यमान, या गुरुत्वाकर्षण का केंद्र) की गणना बहुभुज के विभाजन के केन्द्रक के भारित योग के रूप में त्रिकोण में की जा सकती है। एक त्रिभुज का केन्द्रक केवल इसके तीन शीर्षों का औसत है, अर्थात, इसमें निर्देशांक (X1 + x2 + x3) / 3 और (y1 + y2 + y3) / 3 है। यह पहले बहुभुज को त्रिभुजित करने का सुझाव देता है, फिर प्रत्येक त्रिभुज के केंद्र द्वारा भारित प्रत्येक त्रिभुज के सेंट्रोइड्स का योग बनाते हुए, कुल बहुभुज क्षेत्र द्वारा पूरी राशि को सामान्य किया जाता है। यह वास्तव में काम करता है, लेकिन एक सरल तरीका है: त्रिकोणासन को विभाजन की आवश्यकता नहीं है, बल्कि सकारात्मक और नकारात्मक रूप से उन्मुख त्रिकोण (सकारात्मक और नकारात्मक क्षेत्रों के साथ) का उपयोग कर सकते हैं, जैसा कि बहुभुज के क्षेत्र की गणना करते समय किया जाता है। यह उनके हस्ताक्षरित क्षेत्र के साथ भारित त्रिकोण केन्द्रक की राशि के आधार पर, केन्द्रक की गणना के लिए एक बहुत ही सरल एल्गोरिथ्म की ओर जाता है। त्रिकोणों को किसी भी निश्चित बिंदु द्वारा गठित किया जा सकता है, उदाहरण के लिए, बहुभुज के शीर्ष v0, और बहुभुज के लगातार किनारों के दो अंत बिंदु: (v1, v2), (v2, v3), आदि। त्रिभुज a, b, c के साथ एक त्रिकोण इस अभिव्यक्ति का आधा है: (b [X] - एक [X]) * (c [Y] - एक [Y]) - (c [X] - a [X] ) * (बी [वाई] - एक [वाई]);
Code available at ftp://cs.smith.edu/pub/code/centroid.c (3K).
Reference: [Gems IV] pp.3-6; also includes code.
यह मुझे लगता है कि विधि सटीक है। यदि आप यह जांचना चाहते हैं कि समन्वय मूल्यों का उपयोग कैसे किया जाता है और यदि राउंडिंग त्रुटियां आदि हो सकती हैं, तो आप JTS या GEOS के स्रोत कोड पर एक नज़र डाल सकते हैं।