From 3a559f2503f11a583d9da3708f5d08b18a3c428b Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 23 Feb 2014 18:25:47 +0000 Subject: [PATCH] funcs.scad.cpp: rename 2d things 2d, provide tangents_intersect_beta --- funcs.scad.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/funcs.scad.cpp b/funcs.scad.cpp index 29d5a1e..007ac45 100644 --- a/funcs.scad.cpp +++ b/funcs.scad.cpp @@ -1,14 +1,17 @@ // -*- C -*- -function dist(a,b) = +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]) - sqrt(dsq(0) + dsq(1)); +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 (dist(a,c)) +#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) @@ -23,5 +26,8 @@ function tangent_intersect_b(c,r,a) = #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]]; -- 2.30.2