根据顶点坐标计算任意多边形的面积和周长

面积,利用微积分思想,任意多边形可以分成若干三角形,相加获得多边形面积。注意,如果是凹多边形的面积,是需要减的。
周长,即用(x的平方加y的平方)开根号即可获得,累计相加,应注意的是,不要忘记最后一个点与起始点的线段。
附代码:顶点数据x y 输入到1.txt文件中,如10 40


#include 
//#include 
#include 
#include
#include 
#include
using namespace std;
//using namespace cv;
struct Point 
{
	double x;
	double y;
};
static void Examples();
static double getPolygonArea(vector const& points);
static double getPolygonLength(vector const& points);

int main()
{
	Examples();
	system("pause");
	return 0;
}
void Examples()
{//从文件读入
	ifstream infile;
	infile.open("1.txt");
	if (!infile) cout << "error" << endl;
	double x; double y;
	//存入vector数据
	vector points;
	Point point;
	while (infile >> x >> y)
	{
		point.x = x;
		point.y = y;
		points.push_back(point);
		cout << setiosflags(ios::fixed) << setprecision(6) <<"x=" << point.x << "  y=" << point.y<

你可能感兴趣的:(c++)