summaryrefslogtreecommitdiffstats
path: root/balls.h
diff options
context:
space:
mode:
Diffstat (limited to 'balls.h')
-rw-r--r--balls.h34
1 files changed, 34 insertions, 0 deletions
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 <u.h>
+#include <libc.h>
+#include <draw.h>
+#include <cursor.h>
+
+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