mathandy / svgpathtools

A collection of tools for manipulating and analyzing SVG Path objects and Bezier curves.
MIT License
557 stars 142 forks source link

arc/line intersection bugs #35

Closed SebKuzminsky closed 6 years ago

SebKuzminsky commented 6 years ago

Hi there, I realize that Arc intersections are not fully implemented and not fully supported, but I'm opening this issue anyway to track some problems I ran in to. I don't have a solution to offer, but I do have some unit tests that expose the bug. The tests are in https://github.com/SebKuzminsky/svgpathtools/commits/buggy-arc-line-intersection.

SebKuzminsky commented 6 years ago

I've opened PR #40 to fix some of these problems.

CatherineH commented 6 years ago

I want to add an arc intersection bug without opening a new issue. The Arc and Lines:

line1 = Line(start=(128.57143 + 380.93364j), end=(300.00001 + 389.505069j))
line2 = Arc(start=(214.28572 + 598.07649j), radius=(85.714287 + 108.57143j), rotation=0.0,
        large_arc=False, sweep=True, end=(128.57143 + 489.50507j))
intersections = line1.intersect(line2)

should not intersect, but intersections is:

[(0.65919770327561622, 2.206288062341878), (0.37865878233295325, 1.8439455053606404)]

I'm going to work off of your line-line-intersect branch and see if I can figure this out.

SebKuzminsky commented 6 years ago

Hi @CatherineH, this test does the right thing in the arc-line-intersect branch (PR #40). I've added it to the unit tests. Thanks!

CatherineH commented 6 years ago

Nice, thank you!