4 #define dsq(i) (a[i]-b[i])*(a[i]-b[i])
8 function circle_point(c, r, alpha) = [ c[0] + r * cos(alpha),
9 c[1] + r * sin(alpha) ];
11 function tangent_intersect(a,c,r) =
13 #define alpha (atan2(a[1]-c[1],a[0]-c[0]))
14 #define gamma (asin(r / d))
15 #define beta (alpha + 90 - gamma)
16 circle_point(c, r, beta);