公式
A(x1, y1),B(x2, y2),C(x3, y3)のとき△ABCの重心Gの座標は
C言語での実装
#include <stdio.h>
#include <math.h>
/* ---------------------------------------------
3点A,B,Cからなる三角形の重心を求める (2次元)
引数1: A 点の座標1
引数2: B 点の座標2
引数3: C 点の座標3
引数5: G 重心
戻り値: 重心の先頭アドレス
---------------------------------------------*/
double *triangle_center_of_gravity(double A[2],
double B[2], double C[2], double G[2])
{
G[0] = (A[0] + B[0] + C[0]) / 3.0;
G[1] = (A[1] + B[1] + C[1]) / 3.0;
return G;
}
/* main */
int main(void)
{
double A[] = {0.0, 1.0};
double B[] = {-1.0, 0.0};
double C[] = {1.0, 0.0};
double G[2];
triangle_center_of_gravity(A, B, C, G);
printf("3点A,B,Cからなる三角形の重心G(%.2f, %.2f)\n",
G[0], G[1]);
return 0;
}
実行例
3点A,B,Cからなる三角形の重心G(0.00, 0.33)