通过一系列的坐标点标定出一个异型的范围,我现在知道这个范围内所有点的 x y 坐标值,我现在要是想计算这个范围的重心点坐标应当如何计算?http://netcourse.cugnc.com:7310/21CN/%E5%9B%BE%E5%83%8F%E5%A4%84%E7%90%86%E5%92%8C%E5%88%86%E6%9E%90/008/course1-8-2.html上面的网址有个区域重心的计算公式,不知适用不是适用,还有这个公式应当如何转换为 VC 程序,小弟数学基础比较差~~有劳大家了,先谢过~~

解决方案 »

  1.   

    int i,j,n;
    double xr,yr,x[10000],y[10000],a;
    xr=0.0;
    yr = 0.0;
    for(i=0;i<n;i++)
    {
    xr += x[i];
    yr += y[i];
    }
    xr /= a;
    yr /= a;
      

  2.   

    syy64:就是将所有的点的 x,y 坐标相加,分别除以面积 a 是吗?那 a 应当怎么计算啊
      

  3.   

    a = 0.0;
    for(i=0;i<n-1;i++)
    {
        a += (x[i+1]-x[i])*(y[i+1]+y[i])*0.5;
    }
    a = fabs(a);
      

  4.   

    syy64:计算中心的好像不对,我算了一下中心在区域之外