From 9da5009cdcabdc162d84e43853439cee78467f23 Mon Sep 17 00:00:00 2001 From: Sam Anthony Date: Thu, 19 Sep 2024 17:54:19 -0400 Subject: better collisions --- balls.h | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 balls.h (limited to 'balls.h') diff --git a/balls.h b/balls.h new file mode 100644 index 0000000..0fa93a7 --- /dev/null +++ b/balls.h @@ -0,0 +1,34 @@ +#include +#include +#include +#include + +enum { + RADIUS = 20, +}; + +typedef struct { + int x, y; +} Vec; + +typedef struct { + Point p1, p2; +} Line; + +typedef struct { + Point p; /* position */ + Vec v; /* velocity */ + int m; /* mass */ +} Ball; + +Vec vsub(Vec v1, Vec v2); +Vec vmuls(Vec v, int a); +Vec vdivs(Vec v, int a); +int vdot(Vec v1, Vec v2); +int vlen(Vec v); +Vec unitnorm(Vec v); +Point ptaddv(Point p, Vec v); +Vec V(int x, int y); +Vec Vpt(Point p, Point q); + +int iscollision(Point p, Point q); \ No newline at end of file -- cgit v1.2.3