求一个C++程序 题目 不规则几何图形面积的近似计算

来源:百度知道 编辑:UC知道 时间:2024/06/22 05:10:24
要程序啊

/*
能够算任意凸凹多边形的面积
注意一定要按顺序(顺时针或逆时针)把
多边形的顶点填入数组A
*/
#include <stdio.h>
#include <math.h>
#define N 9//N为顶点个数

main()
{
/*A是一个记录多边形顶点的数组,注意,这些顶点是有顺序的,也就是说从
{0,0}->{2,0}->{2,1}->....{0,-1}->{0,0}这样围成的多边形
*/
double A[N][2]={{0,0},{2,0},{2,1},{0,1},{0,2},{-2,0},{-1,0},{-1,-1},{0,-1}};
double area=0;
/*算法的思想就是将多边形绕{0,0}点切割成三角形,然后对面积求和
而三角形的面积则通过向量运算获得*/
for(int i=0,j=1;i<N;i++,j=(j+1)%N)
{
area+=A[i][0]*A[j][1]-A[i][1]*A[j][0];
}
area=fabs(area*0.5);
printf("%lf",area);
}

*/
#include <stdio.h>
#include <math.h>
#define N 9//N为顶点个数

main()
{
/*A是一个记录多边形顶点的数组,注意,这些顶点是有顺序的,也就是说从
{0,0}->{2,0}->{2,1}->....{0,-1}->{0,0}这样围成的多边形
*/
double A[N][2]={{0,0},{2,0},{2,1},{0,1},{0,2},{-2,0},{-1,0},{-1,-1},{0,-1}};
double area=0;
/*算法的思