1
0
mirror of https://github.com/Irev-Dev/Round-Anything.git synced 2025-01-17 02:58:14 +01:00

Merge pull request #13 from Irev-Dev/irevdev-fix-find-point-to-deal-with-90-deg-angles

Fix findPoint to deal with 90 degree angles
This commit is contained in:
Kurt Hutten 2020-10-05 20:45:11 +11:00 committed by GitHub
commit 0697444270
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -328,13 +328,14 @@ function parallelFollow(rp,thick=4,minR=1,mode=1)=
concat(cen,outR);
function findPoint(ang1,refpoint1,ang2,refpoint2,r=0)=
// finds the intersection of two lines given two angles and points on those lines
let(
m1=tan(ang1),
c1=refpoint1.y-m1*refpoint1.x,
m2=tan(ang2),
c2=refpoint2.y-m2*refpoint2.x,
outputX=(c2-c1)/(m1-m2),
outputY=m1*outputX+c1
outputX=ang1==90?refpoint1.x:ang2==90?refpoint2.x:(c2-c1)/(m1-m2),
outputY=ang1==90?m2*outputX+c2:m1*outputX+c1
)
[outputX,outputY,r];