多边形交叉区域计算面积_任意多边形面积计算

任意多边形面积计算

根据坐标直接按公式计算。

---------------------------------------------------------------

这是一个问题早已经解决的经典问题

假定多边形n个顶点坐标依次是

(x1,y1), ... (xn,yn)

如果n个顶点是逆时针排列,面积就是:

|x1 y1|

|x2 y2 |

...

|xn

yn|

s = 0.5 * { |

| +|

|+

|

| }

|x2 y2|

|x3 y3 |

...

|x1

y1|

如果是顺时针就是上面这个公式的负数

把上面的公式整理得到的就是hnyyy的表达式,

注意他的算法对最后一个行列式的处理有问题

double dMj=0;//

面积

//n

是点数

x[n]=x[0];

y[n]=y[0];

for(int i=0; i

{

dMj+=x[i]*y[i+1]-x[i+1]*y[i];

}

if (n>1)

dMj += x[n]*y[0]-x[0]*y[n]

dMj=fabs(dMj)*0.5;

放心用

,

没有问题的

.

计算几何算法实现

-

任意多边形的面积

点击数:

1082

发布日期:

2006-4-27 21:21:00

【收藏】

【评论】

【打印】

【编程爱好者论坛】

【关闭】

Tag:

算法

//time:

4.27 night

description:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值