mathandy / svgpathtools

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

BUG: Paths that don't intercept are supposedly intercepting #156

Closed Esser50K closed 3 years ago

Esser50K commented 3 years ago

These two paths should not intercept but do:

M 420.548343697,397.924923942 C 427.82080651653,401.56115535177 434.9720616224,409.56086445330004 440.0627855961,419.6211046869 C 442.60814758294003,424.83303637423 444.7898864288,430.4085912025 444.7898864288,431.9842914801 A 5.00588,5.00588 0.0 0,0 446.00196356539,435.49931517621 C 448.06249469759,436.7113923128 447.45645612929997,467.74056700951 445.395924997095,470.52834442361 A 9.97539,9.97539 0.0 0,0 443.577809292215,475.49786068362 C 443.577809292215,478.64926123875 435.820515618045,494.52747172802 433.275153631215,496.70921057392 A 17.7084,17.7084 0.0 0,0 429.638922221445,502.28476540223 A 21.6235,21.6235 0.0 0,1 425.760275384365,508.46635879883 A 39.9985,39.9985 0.0 0,0 421.154382265325,515.37519847739 C 419.82109741507503,517.92056046423 418.124189423855,520.3447147374 417.275735428245,520.58713016472 A 2.69081,2.69081 0.0 0,0 415.70003515067503,522.89007672424 C 415.70003515067503,523.738530719852 414.12433487310506,526.2838927066899 412.18501145456503,528.46563155255 A 30.1444,30.1444 0.0 0,0 407.94274147650503,534.88964037647 C 407.57911833552805,536.22292522672 403.33684835746504,541.3136492003899 398.73095523842505,546.16195774677 C 394.12506211938506,551.01026629315 390.24641528230507,555.61615941216 390.24641528230507,556.22219798047 C 390.24641528230507,558.04031368535 381.7618753261851,566.88847678247 379.21651333930504,567.6157230643701 A 34.7745,34.7745 0.0 0,0 371.94405051977503,573.1912778926801 C 368.671442250985,576.34267844781 365.883664836825,577.9183787253801 363.70192599096504,577.9183787253801 A 11.3208,11.3208 0.0 0,0 358.00516344899506,579.7364944302601 C 354.73255518020505,582.2818564171001 325.15787304739507,582.2818564171001 321.88526477859506,579.7364944302601 A 9.97539,9.97539 0.0 0,0 316.9157485185851,577.9183787253801 C 315.4612559546751,577.9183787253801 310.61294740832506,576.1002630205 305.88584657558505,573.79731646098 C 299.58304546532503,570.6459159058501 294.855944632585,566.8884767824201 286.37140467648504,558.1615213989801 C 280.189811279885,551.8587202887201 275.099087306185,545.9195423194801 275.099087306185,544.82867289648 A 2.87262,2.87262 0.0 0,0 273.52338702861505,542.4045186233001 C 271.584063610075,541.6772723413471 265.40247021346505,529.9201241164001 265.40247021346505,526.8899312750001 C 265.40247021346505,525.6778541384101 263.8267699358951,521.5567918740101 261.76623880369505,517.9205604642401 C 259.705707671495,514.2843290544702 258.13000739392504,510.1632667900701 258.13000739392504,508.82998193982013 C 258.13000739392504,507.49669708957015 256.55430711635506,503.61805025249015 254.73619141147503,500.10302655638014 C 249.40305201048503,490.2852017500101 248.06976716023505,481.07341551198016 248.67580572852503,461.07414275818013 C 249.16063658316102,445.80197083718014 249.64546743779604,443.1354011366801 251.94841399731504,439.2567542995801 C 253.52411427488505,436.8326000264001 255.22102226610505,434.8932766078601 255.82706083439504,434.8932766078601 C 256.433099402685,434.8932766078601 256.91793025732505,434.1660303259071 256.91793025732505,433.19636861664014 C 256.91793025732505,432.22670690737317 258.9784613895251,429.07530635224015 261.52382337636504,425.92390579711014 C 264.79643164515505,421.92405124637014 268.91749390955505,418.8938584048901 276.67478758376507,414.8940038541101 C 282.6139655530551,411.8638110126401 288.67435123596505,409.43965673946013 290.25005151356504,409.43965673946013 A 5.51495,5.51495 0.0 0,0 293.76507520967505,408.4699950301891 C 294.12869835065203,407.8639564618951 298.855799183345,407.01550246627914 304.31014629797505,406.65187932530915 C 309.7644934126051,406.28825618433916 314.85521738627506,405.3185944750592 315.58246366827507,404.8337636204292 C 316.3097099502751,404.3489327657992 322.0064724921951,403.3792710565192 328.18806588877504,403.0156479155492 C 334.369659285355,402.6520247745792 340.187629540975,401.8035707789592 340.91487582297503,401.19753221066924 C 341.64212210497504,400.59149364237925 348.30854635616504,399.74303964675926 355.70221688937505,399.2582087921292 C 363.09588742258506,398.77337793749916 369.51989624647507,397.92492394187923 370.247142528475,397.3188853735892 C 371.822842806045,395.9856005233392 387.701053295375,395.13714652772916 404.18530235297504,395.5007696687092 C 412.912257736,395.743185096 417.518150855,396.470431378 420.548343697,397.924923942
M 455.577372944,1.69690799122 C 454.48650352107,3.03019284147 450.48664897033,3.39381598244 439.3355393137,3.39381598244 C 427.5783910888,3.39381598244 424.1845751063,3.757439123417 422.9724979697,5.21193168732 C 421.7604208331,6.666424251223 418.730227992,7.03004739222 410.245688036,7.03004739222 C 401.76114808,7.03004739222 398.60974752469997,7.514878246856 397.5188781018,8.8481630971 C 396.4280086789,10.181447947344001 393.64023126472,10.66627880198 388.42829957738,10.66627880198 C 383.21636789004003,10.66627880198 380.42859047589,11.272317370275001 379.33772105296003,12.484394506860001 C 378.24685163003005,13.696471643445001 375.45907421588004,14.302510211740001 370.36835024220005,14.302510211740001 C 365.64124940950006,14.302510211740001 362.00501799974006,14.908548780035002 360.42931772217,16.12062591662 C 359.21724058558004,17.090287625891 355.82342460313004,17.9387416215 353.15685490264,17.9387416215 C 350.24786977483,17.9387416215 347.46009236067005,18.665987903453 346.61163836506,19.75685732638 A 8.33909,8.33909 0.0 0,1 341.15729125041,21.57497303126 A 8.33909,8.33909 0.0 0,0 335.70294413576005,23.39308873614 A 8.33909,8.33909 0.0 0,1 330.2485970211101,25.21120444102 A 8.33909,8.33909 0.0 0,0 324.7942499064601,27.0293201459 C 323.8245881971891,28.12018956883 321.2792262103501,28.847435850780002 318.0066179415601,28.847435850780002 C 313.1583093952001,28.847435850780002 303.82531544346006,32.48366726055 302.24961516586006,35.02902924738 C 301.8859920248831,35.635067815675 300.06787632000004,36.11989867031 298.12855290146007,36.11989867031 C 294.73473691901006,36.11989867031 278.25048786136006,43.75598463082 276.7959952974601,45.93772347668 C 276.4323721564831,46.543762044973995 274.85667187892005,47.02859289961 273.4021793150101,47.02859289961 A 5.92706,5.92706 0.0 0,0 269.1599093369501,48.72550089083 A 9.55117,9.55117 0.0 0,1 264.7964316452301,51.14965516401 C 263.0995236540101,51.634486018646 261.7662388037601,52.48294001426 261.7662388037601,53.08897858255 C 261.7662388037601,53.695017150839995 260.9177848081481,54.301055719139995 259.9481230988801,54.301055719139995 C 256.6755148300901,54.301055719139995 247.8273517329801,59.634195120129995 243.3426663275801,64.24008823916999 C 240.9185120544001,66.78545022601 238.1307346402501,68.84598135821 237.1610729309801,68.84598135821 C 236.19141122171013,68.84598135821 231.9491412436501,72.11858962699999 227.8280789792401,76.11844417774 C 223.7070167148301,80.11829872848001 219.7071621640901,83.39090699727001 218.8587081684801,83.39090699727001 C 217.0405924636001,83.39090699727001 203.5865362474801,96.96617092707001 203.5865362474801,98.66307891827 C 203.5865362474801,99.390325200223 199.4654739830801,104.23863374658 194.4959577230601,109.45056543387 C 189.52644146304007,114.66249712115999 185.40537919864008,119.51080566757 185.40537919864008,120.23805194946999 C 185.40537919864008,120.96529823136999 183.22364035278008,123.9954910729 180.5570706522801,127.02568391436999 A 87.1241,87.1241 0.0 0,0 170.6180381322501,142.78268669007 C 167.70905300444008,148.47944923204 164.1940293083301,154.29741948767 162.7395367444201,155.87311976527 A 9.69662,9.69662 0.0 0,0 159.95175933027008,162.90316715749 C 159.95175933027008,165.56973685799 159.22451304831708,167.38785256287 158.13364362539008,167.75147570385 A 3.23625,3.23625 0.0 0,0 156.31552792051008,170.29683769068998 C 156.31552792051008,171.266499399961 154.73982764294007,174.90273080972997 152.67929651074007,178.53896221949998 C 150.61876537854008,182.17519362926998 149.04306510097007,186.65987903464998 149.04306510097007,188.59920245319998 A 7.78154,7.78154 0.0 0,1 147.22494939609007,193.68992642687 A 7.01793,7.01793 0.0 0,0 145.40683369121007,198.41702725956998 A 10.4602,10.4602 0.0 0,1 143.58871798633007,203.87137437421998 C 142.61905627705906,205.20465922447 141.77060228145007,208.84089063423 141.77060228145007,211.99229118936998 C 141.77060228145007,215.50731488547999 141.04335599949707,218.17388458596997 139.95248657657007,219.14354629525 C 138.86161715364307,220.11320800453 138.13437087169007,223.02219313233 138.13437087169007,228.23412481967 C 138.13437087169007,233.44605650701 137.52833230339607,236.23383392116 136.43746288047006,237.20349563043 C 134.98297031656006,238.41557276702002 134.61934717559006,244.83958159094 134.61934717559006,274.29305601003 C 134.61934717559006,303.74653042911996 134.98297031656708,310.17053925303003 136.43746288047006,311.38261638963 C 137.64954001706008,312.352278098901 138.13437087169007,315.50367865403 138.13437087169007,322.17010290523 C 138.13437087169007,329.07894258379 138.61920172632605,331.98792771160004 139.95248657657007,333.07879713453 C 141.04335599950008,334.04845884380103 141.77060228145007,336.7150285443 141.77060228145007,340.35125995406 C 141.77060228145007,343.98749136382 142.49784856340307,346.65406106432005 143.58871798633007,347.62372277359003 C 144.67958740925707,348.59338448286 145.40683369121007,351.25995418336004 145.40683369121007,354.89618559312004 C 145.40683369121007,358.53241700288004 146.13407997316307,361.19898670338006 147.22494939609007,362.16864841265004 C 148.31581881901707,363.13831012192003 149.04306510097007,365.68367210876005 149.04306510097007,368.22903409560007 C 149.04306510097007,371.1380192234101 149.64910366926506,373.07734264196006 150.86118080585007,373.56217349659005 C 152.07325794243508,374.04700435122004 152.67929651073007,375.7439123424501 152.67929651073007,378.28927432929004 C 152.67929651073007,380.59222088881006 153.52775050634207,383.13758287565 154.49741221561007,383.98603687126 A 7.44215,7.44215 0.0 0,1 156.31552792049007,388.95555313127 C 156.31552792049007,392.34936911372 160.43659018489006,401.56115535176997 162.49712131709006,402.89444020207 A 3.51502,3.51502 0.0 0,1 163.58799074002008,405.68221761622 A 5.81797,5.81797 0.0 0,0 165.40610644490008,409.43965673965 A 6.49673,6.49673 0.0 0,1 167.22422214978008,413.68192671771 A 4.04834,4.04834 0.0 0,0 169.04233785466008,417.19695041382 A 3.97561,3.97561 0.0 0,1 170.86045355954008,420.83318182359 A 5.52707,5.52707 0.0 0,0 171.9513229824701,424.59062094702 C 172.6785692644231,424.954244087997 174.61789268297008,428.22685235679 176.31480067419008,431.98429148021 A 53.3314,53.3314 0.0 0,0 182.13277092982008,441.68090857292 A 17.9751,17.9751 0.0 0,1 185.4053791986101,447.13525568756995 C 186.3750409078811,451.25631795196995 188.4355720400801,449.80182538807 188.7991951810601,444.71110141438993 C 189.0416106083781,442.0445317138899 190.0112723176501,439.25675429973995 190.9809340269201,438.5295080177899 C 193.5262960137601,436.2265614582699 193.5262960137601,384.9556985805899 190.8597263132611,382.7739597346899 C 189.64764917667108,381.68309031175994 189.0416106083811,378.8953128976099 189.0416106083811,373.80458892392994 C 189.0416106083811,369.07748809122995 188.4355720400871,365.44125668146995 187.2234949035011,363.8655564038999 A 10.4602,10.4602 0.0 0,1 185.4053791986211,358.41120928924994 A 10.836,10.836 0.0 0,0 183.5872634937411,352.95686217459996 A 10.4602,10.4602 0.0 0,1 181.7691477888611,347.50251505995 A 10.836,10.836 0.0 0,0 179.9510320839811,342.0481679453 A 10.4602,10.4602 0.0 0,1 178.1329163791011,336.59382083065003 A 10.836,10.836 0.0 0,0 176.3148006742211,331.13947371600005 C 175.34513896495008,329.9273965794101 174.4966849693411,326.53358059696006 174.4966849693411,323.86701089647005 C 174.4966849693411,320.95802576866004 173.7694386873881,318.1702483545001 172.6785692644611,317.32179435889003 C 171.22407670055108,316.10971722230005 170.8604535595811,312.83710895351004 170.8604535595811,302.77686871979006 C 170.8604535595811,292.7166284860701 170.49683041860408,289.4440202172901 169.0423378547011,288.23194308069003 C 166.3757681542011,286.05020423483 166.3757681542011,258.89967637519004 169.0423378547011,256.71793752939004 C 170.2544149912911,255.62706810646003 170.8604535595811,252.83929069231004 170.8604535595811,247.38494357765003 C 170.8604535595811,241.68818103568003 171.34528441421708,239.50644218982004 172.6785692644611,239.02161133519004 A 3.4423,3.4423 0.0 0,0 174.4966849693411,236.23383392104006 C 174.4966849693411,235.02175678445005 176.0723852469111,232.23397937030006 178.1329163791111,230.05224052444007 C 180.1934475113111,227.87050167858007 181.7691477888811,225.32513969174008 181.7691477888811,224.59789340979006 C 181.7691477888811,222.41615456393006 187.1022871898711,217.93146915855007 189.7688568903711,217.93146915855007 C 191.1021417406211,217.93146915855007 196.1928657142911,222.05253142295007 201.5260051152711,227.38567082394007 C 208.43484479383108,234.2945105025001 210.8589990670111,237.56711877124008 210.8589990670111,239.99127304444008 C 210.8589990670111,241.68818103566008 210.3741682123751,243.38508902689009 209.8893373577401,243.62750445421008 C 209.40450650310507,243.86991988153008 207.7075985118801,246.29407415471007 206.25310594797008,249.2030592825201 C 203.7077439611301,254.05136782888007 203.5865362474701,255.99069124742007 203.5865362474701,278.4141182743201 C 203.5865362474701,298.29218331442013 203.9501593884471,302.77686871972014 205.4046519523501,303.98894585632013 C 206.6167290889401,305.0798152792501 207.2227676572301,307.8675926934001 207.2227676572301,312.9583166670801 C 207.2227676572301,317.6854174997801 207.82880622552508,321.3216489095401 209.0408833621101,322.89734918711014 A 10.4602,10.4602 0.0 0,1 210.8589990669901,328.3516963017601 A 10.836,10.836 0.0 0,0 212.6771147718701,333.8060434164101 A 10.4602,10.4602 0.0 0,1 214.4952304767501,339.26039053106007 A 10.836,10.836 0.0 0,0 216.3133461816301,344.71473764571004 A 10.4602,10.4602 0.0 0,1 218.1314618865101,350.16908476036 A 10.836,10.836 0.0 0,0 219.9495775913901,355.62343187501 C 220.9192393006611,356.8355090116 221.7676932962701,360.22932499405 221.7676932962701,362.89589469454 C 221.7676932962701,365.80487982235 222.4949395782231,368.59265723651 223.5858090011501,369.44111123212 C 225.0403015650601,370.65318836871 225.4039247060301,374.04700435116 225.4039247060301,385.80415257612003 C 225.4039247060301,397.56130080108005 225.7675478470071,400.95511678352005 227.2220404109101,402.16719392012004 A 7.36943,7.36943 0.0 0,1 227.2220404109101,411.86381101283007 C 225.7675478470001,413.07588814942005 225.4039247060301,417.07574270016005 225.4039247060301,433.6811994714301 C 225.4039247060301,450.28665624270013 225.04030156505308,454.28651079343007 223.5858090011501,455.4985879300301 C 222.1313164372471,456.71066506663016 221.7676932962701,459.7408579080901 221.7676932962701,468.2253978642301 C 221.7676932962701,476.7099378203701 221.2828624416341,479.8613383755301 219.9495775913901,480.9522077984301 C 218.61629274114608,482.04307722133007 218.1314618865101,484.8308546355101 218.1314618865101,490.0427863228501 C 218.1314618865101,495.25471801019006 217.5254233182151,498.0424954243401 216.3133461816301,499.13336484727006 C 215.1012690450451,500.22423427020004 214.4952304767501,503.01201168435006 214.4952304767501,508.22394337169004 C 214.4952304767501,513.43587505903 213.8891919084561,516.2236524731801 212.6771147718701,517.31452189611 C 211.4650376352841,518.40539131904 210.8589990669901,521.31437644685 210.8589990669901,528.22321612541 C 210.8589990669901,535.1320558039699 210.3741682123541,538.04104093178 209.0408833621101,539.1319103547099 C 207.70759851186608,540.2227797776399 207.2227676572301,543.3741803327699 207.2227676572301,552.46475885721 C 207.2227676572301,561.55533738165 207.70759851186608,564.58553022311 209.0408833621101,565.79760735971 C 210.3741682123541,567.00968449631 210.8589990669901,570.03987733777 210.8589990669901,578.40320958021 C 210.8589990669901,586.4029186817 211.34382992162608,590.28156551881 212.6771147718701,591.9784735100101 A 10.4602,10.4602 0.0 0,1 214.4952304767501,597.43282062466 A 7.01793,7.01793 0.0 0,0 216.3133461816301,602.15992145736 A 7.44215,7.44215 0.0 0,1 218.1314618865101,607.12943771737 A 23.7325,23.7325 0.0 0,0 220.7980315870101,615.7351853871501 C 224.0706398558001,622.15919421107 237.8883192129101,636.0980812818501 241.0397197680101,636.0980812818501 A 3.55139,3.55139 0.0 0,1 243.82749718216007,637.0677429911211 C 244.55474346411307,638.8858586960012 261.88744651736005,647.0067755111511 265.03884707246004,647.0067755111511 A 7.8179,7.8179 0.0 0,1 269.76594790516003,648.8248912160311 A 9.4542,9.4542 0.0 0,0 275.22029501981,650.6430069209111 A 8.8724,8.8724 0.0 0,1 280.67464213446,652.4611226257912 A 10.0602,10.0602 0.0 0,0 286.49261239008996,654.2792383306712 C 288.79555894961,654.2792383306712 291.21971322278995,655.1276923262832 292.06816721839994,656.0973540355512 C 292.9166212140099,657.0670157448193 295.34077548718994,657.9154697404313 297.6437220467099,657.9154697404313 C 299.9466686062299,657.9154697404313 302.0071997384299,658.4003005950673 302.3708228794099,659.1275468770212 C 302.7344460203899,659.8547931589752 307.7039622803999,662.5213628594712 313.5219325360099,665.3091402736212 C 319.3399027916199,668.0969176877712 325.2790807609099,671.7331490975412 326.9759887521099,673.3088493751112 C 328.67289674330993,674.8845496526812 330.6122201618799,676.0966267892612 331.3394664438299,676.0966267892612 C 332.0667127257799,676.0966267892612 334.4908669989599,677.7935347804812 336.7938135584799,679.7328581990312 C 339.09676011799985,681.6721816175811 341.64212210483987,683.3690896088011 342.61178381410986,683.3690896088011 C 344.6723149463099,683.3690896088011 356.30825545760985,695.0050301201011 356.30825545760985,697.0655612523011 C 356.30825545760985,697.9140152479131 358.48999430346987,700.9442080893812 361.15656400396983,703.8531932172011 C 366.3684956912998,709.6711634728312 374.4894125064698,725.0645431075011 374.4894125064698,728.9431899446012 A 9.98752,9.98752 0.0 0,0 376.3075282113498,733.7914984909612 C 377.3983976342798,735.2459910548712 378.00443620256976,739.0034301782912 378.12564391622976,744.5789850065612 C 378.12564391622976,749.9121244075512 378.7316824845238,754.0331866719512 379.82255190744974,755.6088869495612 C 381.2770444713597,757.6694180817613 381.2770444713597,758.2754566500612 379.82255190744974,760.3359877822612 A 9.93903,9.93903 0.0 0,0 378.12564391622976,765.6691271832512 C 378.12564391622976,767.3660351744712 376.4287359250098,771.2446820115613 374.48941250645976,774.2748748530313 C 370.97438881034975,779.4868065403613 370.85318109668975,780.2140528223213 370.85318109668975,793.3044858974313 C 370.85318109668975,808.3342423911313 371.33801195132577,810.6371889506313 374.48941250645976,810.6371889506313 A 5.53919,5.53919 0.0 0,1 378.12564391622976,812.4553046555113 A 6.61794,6.61794 0.0 0,0 382.61032932160975,814.2734203603914 A 3.90289,3.90289 0.0 0,1 386.12535301771976,816.0915360652714 A 3.4423,3.4423 0.0 0,0 388.9131304318698,817.9096517701514 A 9.26027,9.26027 0.0 0,1 393.39781583724977,819.7277674750314 A 10.4602,10.4602 0.0 0,0 398.85216295189974,821.5458831799115 A 7.01793,7.01793 0.0 0,1 403.57926378459973,823.3639988847915 A 5.29678,5.29678 0.0 0,0 406.85187205338974,825.1821145896715 A 11.345,11.345 0.0 0,1 411.45776517242973,827.1214380082115 A 11.2844,11.2844 0.0 0,0 417.76056628268975,828.5759305721215 L 421.15438226513976,828.2123074311445 L 422.00283626075174,813.6673817920445 A 257.991,257.991 0.0 0,0 422.24525168806974,786.3956462187444 C 421.39679769245777,771.0022665840445 421.7604208334337,770.3962280157444 432.3054919217698,770.8810588704445 L 439.3355393139898,771.2446820114214 L 439.9415778822838,801.5466104261214 L 440.5476164505788,831.8485388408214 L 445.7595481379088,832.2121619817984 C 448.5473255520588,832.4545774091164 450.85027211157876,833.0606159774104 450.85027211157876,833.5454468320485 C 450.85027211157876,834.0302776866865 453.3956340984188,834.5151085413195 456.66824236720873,834.6363162549785 C 459.9408506359987,834.7575239686375 468.30418287850875,835.1211471096145 475.57664569800875,835.4847702505905 C 483.21273165851875,835.9696011052265 489.1519096278087,835.8483933915675 489.75794819610877,835.2423548232725 C 490.7276099053798,834.2726931140015 490.97002533269875,823.4852065983725 490.60640219172075,783.1230379499725 C 490.60640219172075,774.7597057075125 490.97002533269773,774.2748748528725 499.69698071614073,774.2748748528725 C 504.5452892625007,774.2748748528725 507.9391052449507,774.8809134211665 508.7875592405607,775.7293674167825 C 509.6360132361707,776.5778214123984 509.9996363771507,788.5773850645825 510.1208440908107,805.7888804041825 C 510.1208440908107,821.4246754661824 510.24205180446967,834.6363162549825 510.24205180446967,835.1211471096825 C 510.24205180446967,837.0604705282225 523.9385234479697,836.0908088189535 526.2414700074696,834.0302776867525 C 528.0595857123496,832.4545774091824 530.9685708401696,832.0909542682125 541.7560573557696,832.2121619818724 C 549.0285201752996,832.2121619818724 555.3313212855696,831.8485388408955 555.6949444265696,831.2425002726014 C 556.0585675675695,830.6364617043074 556.4221907085225,817.5460286291014 556.5433984221816,801.9102335671014 C 556.5433984221816,785.5471922231014 557.1494369904766,773.0627977163014 557.8766832724316,772.0931360070014 C 559.4523835500016,770.1538125884614 572.7852320524316,770.1538125884614 574.1185169027316,772.2143437206604 C 574.6033477573676,772.9415900026144 575.0881786120026,785.9108153641604 575.0881786120026,800.9405718578604 L 575.0881786120026,828.2123074311604 L 579.9364871583626,827.9698920038425 C 589.0270656827827,827.3638534355474 592.0572585242627,826.7578148672525 602.1174987579626,823.3639988848024 C 609.9960001457927,820.6974291843025 612.7837775599626,819.0005211930824 615.2079318331627,815.7279129242925 A 20.1811,20.1811 0.0 0,1 621.8743560844026,810.3947735233024 L 625.3893797805126,809.1826963867125 L 625.38937978,794.152939893 C 625.38937978,779.6080142539 625.268172066341,778.8807679720001 621.7531483702301,772.6991745754001 C 618.72295552876,767.1236197470901 618.1169169604601,764.9418809012301 618.1169169604601,757.6694180817001 C 618.1169169604601,751.4878246851001 618.6017478150961,748.7000472709401 619.9350326653401,747.6091778480001 C 621.2683175155842,746.51830842506 621.7531483702202,743.73053101092 621.7531483702202,738.51859932358 C 621.7531483702202,733.30666763624 622.3591869385142,730.51889022209 623.5712640751002,729.42802079916 C 624.5409257843712,728.579566803548 625.3893797799802,726.03420481671 625.3893797799802,723.73125825719 C 625.3893797799802,721.18589627035 626.1166260619332,719.36778056547 627.2074954848603,719.00415742449 A 3.72108,3.72108 0.0 0,0 629.0256111897403,715.8527568693601 C 629.0256111897403,714.3982643054501 630.7225191809603,711.73169460496 632.6618425995102,709.79237118641 C 634.6011660180602,707.8530477678601 636.2980740092802,705.55010120835 636.2980740092802,704.5804394990801 C 636.2980740092802,702.51990836688 655.4488927673801,683.3690896087801 657.5094238995802,683.3690896087801 C 658.3578778951921,683.3690896087801 660.9032398820301,681.79338933121 663.0849787278902,679.7328581990101 C 665.2667175737503,677.6723270668102 667.8120795605902,676.0966267892402 668.5393258425402,676.0966267892402 C 669.2665721244902,676.0966267892402 672.4179726796202,673.6724725160602 675.4481655211001,670.6422796745902 C 679.6904354991601,666.6424251238502 682.1145897723401,665.1879325599402 684.7811594728402,665.1879325599402 C 687.2053137460201,665.1879325599402 689.5082603055401,663.9758554233503 691.8112068650602,661.5517011501703 C 694.1141534245802,659.1275468769903 696.5383076977602,657.9154697404003 698.9624619709401,657.9154697404003 A 11.8299,11.8299 0.0 0,0 704.9016399402301,656.0973540355203 A 10.4602,10.4602 0.0 0,1 710.3559870548801,654.2792383306403 A 10.836,10.836 0.0 0,0 715.81033416953,652.4611226257603 A 10.4602,10.4602 0.0 0,1 721.26468128418,650.6430069208802 C 725.6281589759001,650.6430069208802 732.77941408178,647.4916063657503 733.6278680773801,645.1886598062302 C 734.1126989320161,644.0977903833002 735.9308146369001,643.3705441013502 737.9913457691001,643.3705441013502 C 741.6275771788701,643.3705441013502 751.6878174126001,639.0070664096302 752.4150636945001,637.0677429910902 A 3.55139,3.55139 0.0 0,1 755.2028411086501,636.0980812818192 C 756.4149182452401,636.0980812818192 759.0814879457301,634.4011732905992 760.8996036506201,632.4618498720492 C 762.71771935551,630.5225264534993 765.2630813423401,628.8256184622793 766.2327430516101,628.8256184622793 C 770.4750130296701,628.8256184622793 781.7473303999101,610.4020459860793 781.7473303999101,603.4932063075793 A 7.44215,7.44215 0.0 0,1 783.5654461047901,598.5236900475693 A 7.78154,7.78154 0.0 0,0 785.3835618096701,593.4329660738993 A 8.77544,8.77544 0.0 0,1 787.2016775145502,588.0998266729092 C 788.6561700784601,586.6453341089992 789.0197932194302,583.0091026992392 789.0197932194302,571.3731621880092 C 789.0197932194302,559.4948062494093 789.3834163604072,556.1009902670093 790.8379089243102,554.8889131304093 A 6.06039,6.06039 0.0 0,0 790.8379089243102,546.4043731742893 C 789.5046240740602,545.3135037513592 789.0197932194302,542.1621031962293 789.0197932194302,533.6775632400893 C 789.0197932194302,525.1930232839493 788.5349623647942,522.0416227287893 787.2016775145502,520.9507533058893 C 785.8683926643062,519.8598838829893 785.3835618096701,516.9508987551493 785.3835618096701,510.0420590765893 C 785.3835618096701,503.13321939802927 784.8987309550341,500.22423427021926 783.5654461047901,499.1333648472893 C 782.2321612545461,498.0424954243593 781.7473303999101,495.2547180102093 781.7473303999101,490.0427863228693 C 781.7473303999101,484.8308546355293 781.1412918316161,482.0430772213793 779.92921469503,480.9522077984493 C 778.717137558444,479.8613383755193 778.11109899015,476.9523532477093 778.11109899015,470.0435135691493 C 778.11109899015,463.1346738905893 777.626268135514,460.22568876277927 776.29298328527,459.1348193398493 C 774.959698435026,458.0439499169193 774.47486758039,454.5289262208093 774.47486758039,442.7717779958493 C 774.47486758039,431.01462977088926 774.111244439413,427.62081378844925 772.6567518755099,426.40873665184927 C 771.2022593116069,425.1966595152493 770.8386361706299,421.8028435328093 770.8386361706299,410.65173387614925 C 770.8386361706299,399.5006242194892 771.2022593116069,396.1068082370492 772.6567518755099,394.89473110044923 C 774.111244439413,393.68265396384925 774.47486758039,390.41004569506924 774.47486758039,380.3498054613492 C 774.47486758039,370.28956522762917 774.838490721367,367.0169569588492 776.29298328527,365.8048798222492 C 777.3838527082,364.9564258266372 778.11109899015,362.1686484124792 778.11109899015,359.25966328466916 C 778.11109899015,356.59309358416914 778.959552985762,353.19927760172914 779.92921469503,351.98720046513915 A 10.836,10.836 0.0 0,0 781.7473303999101,346.5328533504892 A 10.4602,10.4602 0.0 0,1 783.5654461047901,341.0785062358392 A 10.836,10.836 0.0 0,0 785.3835618096701,335.6241591211892 A 10.4602,10.4602 0.0 0,1 787.2016775145502,330.16981200653925 A 12.4602,12.4602 0.0 0,0 789.0197932194302,323.8670108962792 A 8.24212,8.24212 0.0 0,1 790.8379089243102,318.53387149528925 C 792.0499860609002,317.44300207235926 792.6560246291903,314.65522465820925 792.6560246291903,309.44329297086927 C 792.6560246291903,304.2313612835293 793.2620631974843,301.44358386937927 794.4741403340703,300.3527144464493 C 795.9286328979803,299.1406373098593 796.2922560389503,294.7771596181393 796.2922560389503,275.98996400104926 C 796.2922560389503,257.44518381124925 795.9286328979733,252.96049840584925 794.4741403340703,251.38479812824926 A 6.47249,6.47249 0.0 0,1 792.6560246291903,247.74856671847925 C 792.6560246291903,246.65769729554924 791.0803243516202,244.23354302236925 789.0197932194203,242.41542731748925 A 20.8477,20.8477 0.0 0,1 785.3835618096504,238.17315733942925 C 785.3835618096504,237.20349563015824 808.1706119775504,214.29523774862926 809.1402736867503,214.29523774862926 C 810.4735585370004,214.29523774862926 821.7458759072504,226.41600911452926 821.7458759072504,227.99170939212925 A 9.36936,9.36936 0.0 0,0 823.5639916121304,231.99156394286925 A 8.48454,8.48454 0.0 0,1 825.3821073170104,236.23383392092924 A 3.4423,3.4423 0.0 0,0 827.2002230218905,239.02161133507923 C 828.7759232994605,239.62764990337422 829.0183387267705,244.83958159070923 829.0183387267705,275.86875628737926 C 829.0183387267705,306.6555155567793 828.7759232994525,312.3522780986793 827.2002230218905,313.6855629489793 C 825.9881458853005,314.77643237190927 825.3821073170104,317.5642097860593 825.3821073170104,322.77614147339926 C 825.3821073170104,327.98807316073925 824.7760687487154,330.77585057488926 823.5639916121304,331.86671999781925 C 822.5943299028594,332.7151739934312 821.7458759072504,335.26053598026925 821.7458759072504,337.5634825397892 C 821.7458759072504,340.10884452662924 821.0186296252964,341.9269602315092 819.9277602023703,342.2905833724892 A 3.4423,3.4423 0.0 0,0 818.1096444974903,345.0783607866392 A 8.48454,8.48454 0.0 0,1 816.2915287926103,349.3206307646992 A 10.836,10.836 0.0 0,0 814.4734130877303,354.7749778793492 A 10.4602,10.4602 0.0 0,1 812.6552973828502,360.22932499399917 C 811.4432202462602,361.80502527156915 810.8371816779702,365.44125668132915 810.8371816779702,370.1683575140292 C 810.8371816779702,375.3802892013592 810.2311431096762,378.0468589018592 809.0190659730902,379.1377283247892 C 807.4433656955201,380.47101317503916 807.2009502682101,385.0769062940792 807.4433656955201,411.0153570170892 C 807.8069888364971,437.5598463083892 808.0494042638152,441.4384931454892 809.7463122550402,442.52936256838916 C 811.4432202462651,443.62023199128913 812.4128819555401,443.0141934230252 814.9582439423701,440.22641600886914 C 816.6551519335901,438.2870925903291 818.1096444975001,436.10535374446914 818.1096444975001,435.37810746250915 C 818.1096444975001,434.65086118054916 819.3217216340901,432.71153776200913 820.8974219116501,431.01462977078916 C 824.04882246678,427.62081378833915 829.0183387268002,418.65144297758917 829.0183387268002,416.4697041316891 C 829.0183387268002,415.62125013607715 830.2304158633901,413.8031344311891 831.8061161409502,412.46984958094913 C 834.5938935551002,410.0456953077691 839.9270329561002,400.8339090696491 839.9270329561002,398.4097547965491 A 5.89069,5.89069 0.0 0,1 841.7451486609802,395.3795619550791 A 10.4723,10.4723 0.0 0,0 843.5632643658603,389.44038398578914 C 843.5632643658603,387.1374374262691 844.0480952204963,385.07690629406915 844.6541337887903,384.71328315308915 C 846.4722494936703,383.50120601649917 850.8357271853903,374.41062749208913 850.8357271853903,371.5016423642891 A 9.57541,9.57541 0.0 0,1 852.6538428902703,366.53212610427914 C 853.6235045995413,365.19884125402916 854.4719585951503,361.56260984426916 854.4719585951503,358.41120928912915 C 854.4719585951503,354.89618559301914 855.1992048771033,352.2296158925291 856.2900743000304,351.25995418324914 C 857.3809437229575,350.29029247396915 858.1081900049104,347.62372277347913 858.1081900049104,343.98749136371913 C 858.1081900049104,340.35125995395913 858.8354362868633,337.6846902534591 859.9263057097904,336.7150285441891 C 861.3807982737004,335.50295140759914 861.7444214146705,332.10913542514913 861.7444214146705,320.3519872001891 C 861.7444214146705,308.5948389752291 862.1080445556474,305.2010229927891 863.5625371195505,303.9889458561891 C 865.0170296834535,302.7768687195891 865.3806528244305,299.5042604508091 865.3806528244305,288.8379816487891 C 865.3806528244305,278.17170284676905 865.0170296834535,274.8990945779891 863.5625371195505,273.68701744138906 C 862.1080445556474,272.474940304789 861.7444214146705,268.8387088950291 861.7444214146705,255.38465267888907 C 861.7444214146705,242.17301189008907 861.3807982736935,238.29436505298906 859.9263057097904,236.83987248908906 Q 858.1081900049104,235.02175678420906 858.1081900049104,227.74929396466905 Q 858.1081900049104,220.47683114512904 856.2900743000304,218.65871544024904 A 8.77544,8.77544 0.0 0,1 854.4719585951503,213.32557603925903 A 7.78154,7.78154 0.0 0,0 852.6538428902703,208.23485206558902 C 851.6841811809993,207.38639806997702 850.8357271853903,204.71982836947902 850.8357271853903,202.17446638263903 C 850.8357271853903,199.265481254829 850.2296886170963,197.32615783627904 849.0176114805103,196.84132698164902 C 847.8055343439243,196.356496127019 847.1994957756302,194.53838042212902 847.1994957756302,190.90214901235902 C 847.1994957756302,186.53867132063903 845.1389646434302,181.44794734696902 837.2604632556003,165.69094457125902 C 831.8061161409503,154.782250341959 826.1093535990003,144.722010108259 824.5336533214003,143.38872525805903 C 822.9579530438002,142.05544040785904 821.7458759072503,140.23732470292902 821.7458759072503,139.38887070731903 C 821.7458759072503,136.60109329316901 816.2915287926003,127.63172248241904 811.8068433872203,123.14703707701904 C 809.2614814003803,120.60167509017903 807.2009502681802,117.69268996236903 807.2009502681802,116.72302825309903 C 807.2009502681802,114.29887397991904 761.7480576460803,68.84598135779903 759.4451110865803,68.84598135779903 C 758.4754493773092,68.84598135779903 755.2028411085203,66.42182708461904 752.1726482670502,63.391634243149035 C 749.1424554255802,60.36144140167903 745.7486394431303,57.93728712849904 744.6577700202002,57.93728712849904 C 743.5669005972702,57.93728712849904 741.6275771787302,56.72520999190904 740.1730846148203,55.14950971434904 C 736.5368532050503,51.27086287726904 720.5374350021202,43.39236148944904 716.2951650240202,43.39236148944904 C 714.3558416054802,43.39236148944904 712.5377259005902,42.907530634813035 712.1741027596202,42.30149206651904 C 710.8408179093701,40.24096093431904 701.6290316713201,36.11989866991904 698.2352156888202,36.11989866991904 A 7.44215,7.44215 0.0 0,1 693.2656994288102,34.30178296503904 A 8.33909,8.33909 0.0 0,0 687.8113523141602,32.48366726015904 A 8.33909,8.33909 0.0 0,1 682.3570051995102,30.665551555279038 A 8.33909,8.33909 0.0 0,0 676.9026580848603,28.847435850399037 A 8.33909,8.33909 0.0 0,1 671.4483109702103,27.029320145519037 A 7.78154,7.78154 0.0 0,0 666.3575869965402,25.211204440639037 A 8.77544,8.77544 0.0 0,1 661.0244475955502,23.393088735759036 C 659.8123704589602,22.30221931282904 656.9033853311502,21.574973030879036 653.3883616350403,21.574973030879036 C 649.6309225116103,21.574973030879036 646.9643528111203,20.968934462585036 645.9946911018503,19.756857325999036 C 645.0250293925803,18.544780189413036 642.3584596920804,17.938741621119036 638.7222282823203,17.938741621119036 C 635.0859968725603,17.938741621119036 632.4194271720603,17.211495339166035 631.4497654627903,16.120625916239035 C 630.4801037535203,15.029756493312036 627.8135340530204,14.302510211359035 624.1773026432603,14.302510211359035 C 620.5410712335002,14.302510211359035 617.8745015330003,13.575263929406034 616.9048398237303,12.484394506479035 C 615.9351781144603,11.393525083552035 613.0261929866502,10.666278801599034 607.8142612993103,10.666278801599034 C 602.6023296119703,10.666278801599034 599.8145521978203,10.060240233304034 598.7236827748902,8.848163096719034 C 597.6328133519602,7.636085960134034 594.8450359378102,7.030047391839034 589.6331042504702,7.030047391839034 C 584.4211725631302,7.030047391839034 581.6333951489802,6.424008823544034 580.5425257260501,5.2119316869590335 C 579.3304485894602,3.757439123049034 576.0578403206702,3.3938159820790332 565.9976000869501,3.3938159820790332 C 556.4221907079001,3.3938159820790332 552.5435438708502,2.9089851274430334 551.5738821615502,1.6969079908590332 C 550.6042204522502,0.48483085427503303 541.7560573551801,-3.6096681199637715e-10 503.5756275526502,-3.6096681199637715e-10 C 465.39519775012025,-3.6096681199637715e-10 456.668242367,0.363623140977 455.577372944,1.69690799122

I don't quite understand why this happens. Actually, I found it via the is_contained_by function, which returns false because they supposedly intersect. But in reality, the first path is contained by the second path.

Esser50K commented 3 years ago

Uploading full SVG for reference (it's a zip because apparently github doesn't support SVGs?) image-fileAsset 4.svg.zip ce

mathandy commented 3 years ago

Looks like Arc.intersect(other_curve) was sometimes returning t-values outside [0, 1] when other_curve was a bezier segment. This is fixed now. Thanks for your help!

Esser50K commented 3 years ago

so I just need to install a more recent version? should I do it directly from the repo?

mathandy commented 3 years ago

@Esser50K PyPI is now updated.