Centroid (alias pusat massa, atau pusat gravitasi) poligon dapat dihitung sebagai jumlah tertimbang dari sentroid dari partisi poligon menjadi segitiga. Centroid segitiga hanyalah rata-rata dari tiga simpulnya, yaitu memiliki koordinat (x1 + x2 + x3) / 3 dan (y1 + y2 + y3) / 3. Ini menyarankan pertama triangulasi poligon, kemudian membentuk jumlah centroid dari setiap segitiga, ditimbang oleh luas setiap segitiga, keseluruhan jumlah dinormalisasi oleh total area poligon. Ini memang berhasil, tetapi ada metode yang lebih sederhana: triangulasi tidak harus berupa partisi, melainkan dapat menggunakan segitiga berorientasi positif dan negatif (dengan area positif dan negatif), seperti yang digunakan saat menghitung area poligon. Ini mengarah pada algoritma yang sangat sederhana untuk menghitung centroid, berdasarkan pada jumlah centroid segitiga yang dibobot dengan area yang ditandatangani. Segitiga dapat dianggap sebagai yang dibentuk oleh titik tetap mana pun, misalnya, titik v0 dari poligon, dan dua titik akhir dari tepi poligon berurutan: (v1, v2), (v2, v3), dll. Area dari sebuah segitiga dengan simpul a, b, c adalah setengah dari ungkapan ini: (b [X] - a [X]) * (c [Y] - a [Y]) - (c [X] - a [X] ) * (b [Y] - a [Y]);
Code available at ftp://cs.smith.edu/pub/code/centroid.c (3K).
Reference: [Gems IV] pp.3-6; also includes code.
Menurut saya metode ini akurat. Jika Anda ingin memeriksa bagaimana nilai koordinat digunakan dan jika ada kesalahan pembulatan, dll. Anda dapat melihat kode sumber JTS atau GEOS.