#include #include #include "point.h" using namespace std; point::point(double initial_r, double initial_theta) : r {initial_r}, theta {initial_theta} { } point::point() : r {0}, theta {0} { } double point::r() const { return r; } double point::theta() const { return theta; } void point::print() const { cout << "(r = " << r << ", theta = " << theta << ")"; } double point::x() const { return r * cos(theta); } double point::y() const { return r * sin(theta); } double distance(const point& A, const point& B) { const double dx = A.x() - B.x(); const double dy = A.y() - B.y(); return sqrt(dx * dx + dy * dy); } double area(const point& A, const point& B, const point& C) { return abs(A.x() * (B.y() - C.y()) + B.x() * (C.y() - A.y()) + C.x() * (A.y() - B.y())) / 2.0; }