From e1cb9df9355a6ae67aac76dbcde209b8f70796ee Mon Sep 17 00:00:00 2001 From: rodri Date: Thu, 20 Feb 2020 21:56:37 +0000 Subject: git release. --- util.c | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 util.c (limited to 'util.c') diff --git a/util.c b/util.c new file mode 100644 index 0000000..ef31bde --- /dev/null +++ b/util.c @@ -0,0 +1,40 @@ +#include +#include +#include +#include "dat.h" +#include "fns.h" + +double +round(double n) +{ + return floor(n + 0.5); +} + +Point +rotatept(Point p, double θ, Point c) +{ + Point r; + + p = subpt(p, c); + r.x = round(p.x*cos(θ) - p.y*sin(θ)); + r.y = round(p.x*sin(θ) + p.y*cos(θ)); + r = addpt(r, c); + return r; +} + +int +ptincircle(Point p, Point c, double r) +{ + Point d; + + d = subpt(c, p); + return hypot(d.x, d.y) < r; +} + +int +triangleXcircle(Triangle t, Point c, double r) +{ + return ptincircle(t.p0, c, r) || + ptincircle(t.p1, c, r) || + ptincircle(t.p2, c, r); +} -- cgit v1.2.3