From baef318193316fc365ba4b0a559c387d96b4305a Mon Sep 17 00:00:00 2001 From: Sam Anthony Date: Wed, 2 Oct 2024 16:31:31 -0400 Subject: refactor --- vec.cpp | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 vec.cpp (limited to 'vec.cpp') diff --git a/vec.cpp b/vec.cpp new file mode 100644 index 0000000..a9b78e9 --- /dev/null +++ b/vec.cpp @@ -0,0 +1,61 @@ +#include + +#include "balls.h" + +Vector +addVec(Vector v1, Vector v2) { + v1.x += v2.x; + v1.y += v2.y; + return v1; +} + +Vector +subVec(Vector v1, Vector v2) { + v1.x -= v2.x; + v1.y -= v2.y; + return v1; +} + +Vector +vecMulS(Vector v, double s) { + v.x *= s; + v.y *= s; + return v; +} + +Vector +vecDivS(Vector v, double s) { + v.x /= s; + v.y /= s; + return v; +} + +double +vecDot(Vector v1, Vector v2) { + return v1.x*v2.x + v1.y*v2.y; +} + +Vector +unitNorm(Vector v) { + return vecDivS(v, vecLen(v)); +} + +double +vecLen(Vector v) { + return sqrt(v.x*v.x + v.y*v.y); +} + +Vector +Vec(double x, double y) { + Vector v = {x, y}; + return v; +} + +Vector +VecPt(Point p, Point q) { + double dx, dy; + + dx = q.x - p.x; + dy = q.y - p.y; + return Vec(dx, dy); +} -- cgit v1.2.3