123456789101112131415161718192021222324252627282930313233343536373839 |
- #include "polygon.h"
- void Polygon::calc_sides()
- {
- for (int i = 0; i < points.size() - 1; i++) {
- sides.push_back(points[i].calc_distance(points[i + 1]));
- }
- sides.push_back(points[points.size() - 1].calc_distance(points[0]));
- }
- Polygon::Polygon()
- {
- }
- double Polygon::calc_area()
- {
- double res=0.0;
- for (int i = 0; i < points.size() - 1; i++) {
- res += points[i].x * points[i + 1].y;
- res += points[i + 1].x * points[i].y;
- }
- res += points[points.size()-1].x * points[0].y;
- res += points[points.size()-1].y * points[0].x;
- return res * 0.5;
- }
- double Polygon::calc_perimeter()
- {
- double res = 0.0;
- for (int i = 0; i < sides.size(); i++)
- res += sides[i];
- return res;
- }
- void Polygon::name()
- {
- cout << "Polygon \n";
- }
|