淡朴若水

死胖子

叉乘法求任意多边形面积

用叉乘的方法求任意多边形的面积, 很实用的算法,代码很简洁

语法:result=polygonarea(Point *polygon,intN);

参数:

*polygon:多变形顶点数组

N:多边形顶点数目

返回值:多边形面积

注意:

支持任意多边形,凹、凸皆可

多边形顶点输入时按顺时针顺序排列

源程序:

 

typedef struct
{
    double x,y;
} Point; 
double polygonarea(Point *polygon,int N)
{
    int i,j;
    double area = 0;
    for (i=0;i<N;i++)
    {
        j = (i + 1) % N;
        area += polygon[i].x * polygon[j].y;
        area -= polygon[i].y * polygon[j].x;
    }
    area /= 2;    return(area < 0 ? -area : area);
}

作者: 龖哥 发表于 2011-11-20 21:55 原文链接

评论: 0 查看评论 发表评论


最新新闻:
· 苹果感恩节促销方案曝光:iPad降价61美元(2011-11-24 08:16)
· 欧盟有条件批准西部数据收购日立硬盘业务(2011-11-24 08:15)
· iPad从1300英尺坠落依然毫发无伤 保护套立功(2011-11-24 08:15)
· Eclipse Xtend对Java说:我帮你瘦身(2011-11-24 07:47)
· 传微软已与雅虎签保密协议开始进行收购前审查(2011-11-24 07:43)

编辑推荐:用JavaScript编写一个Java虚拟机?谈谈哗众取宠的BicaVM

网站导航:博客园首页  我的园子  新闻  闪存  博问  知识库

posted on 2011-11-20 21:55 龖哥 阅读(773) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

<2011年11月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

统计

常用链接

留言簿

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜