কিউজিআইএস যদি জিইওএসের সাথে সেন্ট্রয়েডকে একটি জেটিএস পোর্ট হিসাবে গণনা করছে তবে অ্যালগরিদমটি হ'ল এই http://tsusiatsoftware.net/jts/javadoc/com/vividsolutions/jts/algorithm/CenterroidArea.html । তত্ত্ব সম্পর্কে জাভাদকের একটি লিঙ্ক রয়েছে http://www.faqs.org/faqs/ographicics/algorithms-faq/ এ , বিভাগ 2.02 দেখুন: বহুভুজের সেন্ট্রয়েড কীভাবে গণনা করা যায় ?.
বহুভুজের সেন্ট্রয়েড (ওরফে ভর কেন্দ্রের, বা মাধ্যাকর্ষণ কেন্দ্রের) বহুভুজের একটি বিভাজনের সেন্ট্রয়েডের ওজনফল হিসাবে ত্রিভুজগুলিতে গণনা করা যেতে পারে। একটি ত্রিভুজের সেন্ট্রয়েড কেবল তার তিনটি সূচকের গড়, অর্থাৎ এর স্থানাঙ্ক (x1 + x2 + x3) / 3 এবং (y1 + y2 + y3) / 3 থাকে। এটি প্রথমে বহুভুজকে ত্রিভঙ্গীকরণ করার পরামর্শ দেয়, তারপরে প্রতিটি ত্রিভুজের ক্ষেত্রফল দ্বারা ভারিত প্রতিটি ত্রিভুজের সেন্ট্রয়েডের যোগফল গঠন করে, মোট সমষ্টিটি বহুভুজ অঞ্চল দ্বারা সাধারণীকরণ করা হয়। এটি প্রকৃতপক্ষে কার্যকর হয় তবে একটি সহজ পদ্ধতি রয়েছে: ত্রিভুজাকরণটি একটি বিভাজন হওয়া উচিত নয়, বরং বহুভুজটির ক্ষেত্রের গণনা করার সময় ব্যবহার করা হয় ইতিবাচক এবং নেতিবাচক ওরিয়েন্টেড ত্রিভুজগুলি (ইতিবাচক এবং নেতিবাচক অঞ্চলগুলি সহ) ব্যবহার করতে পারেন। এটি তাদের স্বাক্ষরিত অঞ্চলটির সাথে ওজনযুক্ত ত্রিভুজ সেন্ট্রয়েডের যোগফলের উপর ভিত্তি করে সেন্ট্রয়েড গণনার জন্য খুব সাধারণ অ্যালগরিদম বাড়ে। ত্রিভুজগুলি যে কোনও নির্দিষ্ট বিন্দু দ্বারা গঠিত, যেমন বহুভুজের ভার্টেক্স v0 এবং বহুভুজের ধারাবাহিক প্রান্তের দুটি প্রান্ত: (v1, v2), (v2, v3) ইত্যাদি দ্বারা গ্রহণ করা যেতে পারে a, b, c এর সাথে একটি ত্রিভুজের অর্ধেকটি এই অভিব্যক্তির অর্ধেক: (b [X] - a [X]) * (c [Y] - a [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.
আমার কাছে মনে হয় পদ্ধতিটি সঠিক is যদি আপনি স্থানাঙ্ক মানগুলি কীভাবে ব্যবহৃত হয় এবং যদি রাউন্ডিং ত্রুটি ইত্যাদি হতে পারে ইত্যাদি পরীক্ষা করতে চান তবে আপনি জেটিএস বা জিইওএসের উত্স কোডটি দেখে নিতে পারেন।