首页 > 其他 > 详细

计算闭合区域面积

时间:2017-08-04 19:11:38      阅读:230      评论:0      收藏:0      [点我收藏+]
     /// <summary>
        /// 计算闭合区域面积
        /// </summary>
        /// <param name="X"></param>
        /// <param name="Y"></param>
        /// <param name="numPoints"></param>
        /// <returns></returns>
        double polygonArea(List<double> X, List<double> Y, int numPoints)
        {
            double area = 0;         // Accumulates area in the loop
            int j = numPoints - 1;  // The last vertex is the ‘previous‘ one to the first

            for (int i = 0; i < numPoints; i++)
            {
                area = area + (X[j] + X[i]) * (Y[j] - Y[i]);
                j = i;  //j is previous vertex to i
            }
            return area / 2;
        }

来自

http://www.mathopenref.com/coordpolygonarea2.html

 

lstPt 是按顺序的顶点坐标

           var X = lstPt.Select(p => p.X).ToList();
            var Y = lstPt.Select(p => p.Y).ToList();
            double area= polygonArea(X, Y, lstPt.Count);

 

计算闭合区域面积

原文:http://www.cnblogs.com/china-guoch/p/7286596.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!