首 页文章中心下载中心繁體中文
设为首页
加入收藏
联系我们
您当前的位置:开源盛世-源代码下载网 -> 文章中心 -> VC++专区 -> 文章内容 退出登录 用户管理
栏目导航
· VC++专区 · V B 专区
· GIS 专区 · PDA 专区
· 其他编程 · 网站开发类
· 数据库类 · 软件应用
· 网络安全 · 论文专区
· 综合资讯
热门文章
· Tab Control控件使用...
· 学生档案管理系统
· [图文] 排列组合公式
· UTF-8与GB2312之间的...
· DirectShow下载安装...
· Virtual PC 在PAE模...
· Windows2000终端服务...
· MapInfo上的GIS系统...
· Mapbasic参考手册索...
· MapX应用开发中文讲...
相关文章
求多边形面积的简单方法
作者:不详  来源:vscodes.com整理  发布时间:2007-4-17 22:36:00  发布人:Polaris

减小字体 增大字体

不论凸多边形还是凹多边形,都可以采用向量叉乘的方法来求面积。代码如下
#include "stdafx.h"
#include "stdio.h"
typedef struct tagPoint
{
 double x;
 double y;
}FPoint;
double MianJi(FPoint *pArray,int NumPoint)
{
 if(NumPoint<3)return 0;

 double sum = 0;
 int m = 1;
 for(;;)
 {
  if(NumPoint < 3)break;
  FPoint r1;
  r1.x = pArray[m].x - pArray[0].x;
  r1.y = pArray[m].y - pArray[0].y;
  FPoint r2;
  r2.x = pArray[m+1].x - pArray[m].x;
  r2.y = pArray[m+1].y - pArray[m].y;
  sum += (r1.x * r2.y - r2.x * r1.y);
  m++;
  NumPoint --;
 }
 double result = (sum>0)?(sum/2.):(-sum/2.);
 return result;
}
//test
void main()
{
 FPoint pArray1[4]={{1,1},{1,2},{2,2},{2,1}};
 FPoint pArray2[5]={{0,0},{0,2},{2,2},{1,1},{2,0}};
 FPoint pArray3[9]={{0,0},{2,0},{2,1},{0,1},{0,2},{-2,0},{-1,0},{-1,-1},{0,-1}};
 printf("Area1 = %f\n",MianJi(pArray1,4));
 printf("Area2 = %f\n",MianJi(pArray2,5));
 printf("Area3 = %f\n",MianJi(pArray3,9));
}

End of《求多边形面积的简单方法》

[] [返回上一页] [打 印] [收 藏]
 
∷相关“求多边形面积的简单方法”文章评论∷
(评论内容只代表网友观点,与本站立场无关!) [更多评论...]
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 网站目录 鄂ICP备06007162
开源盛世 版权所有Copyright © 2003-2005 VSCodes.Com. All Rights Reserved.