diff options
Diffstat (limited to 'point.cpp')
| -rw-r--r-- | point.cpp | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/point.cpp b/point.cpp new file mode 100644 index 0000000..099165d --- /dev/null +++ b/point.cpp @@ -0,0 +1,63 @@ +#include "balls.h" + +Point +addPt(Point p, Point q) { + p.x += q.x; + p.y += q.y; + return p; +} + +Point +subPt(Point p, Point q) { + p.x -= q.x; + p.y -=q.y; + return p; +} + +Point +ptAddVec(Point p, Vector v) { + p.x += v.x; + p.y += v.y; + return p; +} + +Point +ptSubVec(Point p, Vector v) { + p.x -= v.x; + p.y -= v.y; + return p; +} + +Point +ptMulS(Point p, double s) { + p.x *= s; + p.y *= s; + return p; +} + +Point +ptDivS(Point p, double s) { + p.x /= s; + p.y /=s; + return p; +} + +Point +Pt(double x, double y) { + Point p = {x, y}; + return p; +} + +Rectangle +insetRect(Rectangle r, double n) { + r.min.x += n; + r.min.y += n; + r.max.x -= n; + r.max.y -= n; + return r; +} + +Point +randPtInRect(Rectangle r) { + return Pt(randDouble(r.min.x, r.max.x), randDouble(r.min.y, r.max.y)); +} |