chiark
/
gitweb
/
~ianmdlvl
/
reprap-play.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
wardrobe-hook: wip, elevation
[reprap-play.git]
/
funcs.scad.cpp
diff --git
a/funcs.scad.cpp
b/funcs.scad.cpp
index 0d589ac9ecd3fe89a9201ed2c0a8da0a5dcb0a36..29d5a1e6dd2ab9bc0a103ad28203d98e20a7dd29 100644
(file)
--- a/
funcs.scad.cpp
+++ b/
funcs.scad.cpp
@@
-8,13
+8,20
@@
function dist(a,b) =
function circle_point(c, r, alpha) = [ c[0] + r * cos(alpha),
c[1] + r * sin(alpha) ];
function circle_point(c, r, alpha) = [ c[0] + r * cos(alpha),
c[1] + r * sin(alpha) ];
-function tangent_intersect(a,c,r) =
#define d (dist(a,c))
#define alpha (atan2(a[1]-c[1],a[0]-c[0]))
#define gamma (asin(r / d))
#define beta (alpha + 90 - gamma)
#define d (dist(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
circle_point(c, r, beta);
#undef d
#undef alpha
#undef gamma
#undef beta
+
+function reflect_in_y(p) = [-p[0], p[1]];
+