#include "point3.h" Point3 Point3::addV(const Vector3& v) const { return Point3(x + v.x, y + v.y, z + v.z); } Point3 Point3::subtractV(const Vector3& v) const { return Point3(x - v.x, y - v.y, z - v.z); } Vector3 Point3::subtractP(const Point3& p) const { return Vector3(x - p.x, y - p.y, z - p.z); } bool Point3::equal(const Point3& p) const { return x == p.x && y == p.y; } Vector3 operator-(const Point3& p, const Point3& q) { return p.subtractP(q); } ostream& operator<<(ostream& out, const Point3& p) { p.Output(out); return out; } Point3 operator+(const Point3& p, const Vector3& v) { return p.addV(v); } Point3 operator-(const Point3& p, const Vector3& v) { return p.subtractV(v); } bool operator==(const Point3& p, const Point3& q) { return p.equal(q); }