+++ /dev/null
-// -*- C -*-
-
-function vecdiff2d(a,b) = [b[0]-a[0], b[1]-a[1]];
-function vecdiff(a,b) = [b[0]-a[0], b[1]-a[1], b[2]-a[2]];
-
-#define dsq(i) (a[i]-b[i])*(a[i]-b[i])
-function dist2d(a,b) = sqrt(dsq(0) + dsq(1));
-function dist(a,b) = sqrt(dsq(0) + dsq(1) + dsq(2));
-#undef dsq
-
-function circle_point(c, r, alpha) = [ c[0] + r * cos(alpha),
- c[1] + r * sin(alpha) ];
-
-#define d (dist2d(a,c))
-#define alpha (atan2(a[1]-c[1],a[0]-c[0]))
-#define gamma (asin(r / d))
-#define beta (alpha + 90 - gamma)
-
-function tangent_intersect_beta(c,r,a) =
- beta;
-
-function tangent_intersect_b(c,r,a) =
- circle_point(c, r, beta);
-#undef d
-#undef alpha
-#undef gamma
-#undef beta
-
-function tangents_intersect_beta(cbig,rbig,csmall,rsmall) =
- tangent_intersect_beta(cbig,rbig-rsmall,csmall);
-
-function reflect_in_y(p) = [-p[0], p[1]];
-
-function angle_map_range(in,base) =
- in < base ? in + 360 :
- in >= base + 360 ? in - 360 :
- in;