向量叉乘求多变形面积
CODE
#include <iostream> #include <algorithm> #include <vector> #include <fstream> #include <cmath> using namespace std; struct Point
{ double x, y; }; double cross(const Point &A, const Point &B, const Point &C)
{ return (B.x - A.x) * (C.y - A.y) - (B.y - A.y) * (C.x - A.x); } double polygon_area(vector<Point>& v) { double area=0; auto it=v.begin(); for(;it<v.end();++it) { area+=cross({0,0},*it,*(it+1)); } return abs(area/2); } int main() { fstream fs("C:\\Documents and Settings\\Administrator\\桌面\\poly.txt"); Point tmp; vector<Point> v; while(!fs.eof()) { fs>>tmp.x>>tmp.y; v.push_back(tmp); } double area=polygon_area(v); cout<<"多边形面积为:"<<area<<endl; return 0; }
相信世界是平的
谨记四个字“修身养性”
大江东去浪淘尽英雄,再牛B的人物最后也是一掊土
向善不是目的,而是抚慰心灵,更多的感受幸福,感谢别人给你行善的机会
相信老子的话:万物生于有,有生于无,一切的道理都源于一个无法证明的假设
我是好是坏就自然而然的摆在那里,并不会因为别人的评价而改变什么,我也不需要别人用一张纸来说明我什么,世间最难得的是自由
谨记四个字“修身养性”
大江东去浪淘尽英雄,再牛B的人物最后也是一掊土
向善不是目的,而是抚慰心灵,更多的感受幸福,感谢别人给你行善的机会
相信老子的话:万物生于有,有生于无,一切的道理都源于一个无法证明的假设
我是好是坏就自然而然的摆在那里,并不会因为别人的评价而改变什么,我也不需要别人用一张纸来说明我什么,世间最难得的是自由
支持大额赞助: