Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0029361Community[OCCT] OCCT:Modeling Algorithmspublic2017-12-01 10:502020-09-28 07:39
Assigned Tomsv 
PlatformWindowsOSVC++ 2012OS Version32bit
Product Version[OCCT] 7.1.0 
Target VersionFixed in Version 
Summary0029361: circle intersect circle has wrong result
DescriptionI create two circle as below and use 2dintersect to get intersections of them, it will return three intersection points, the parameter of two points has TWOPI difference.

circle c1 1 0 1 0 2
circle c2 2 -1 1 0 1.4142135623730950488016887242097
2dintersect c1 c2

And another example, get the intersection of two circles which have externally-tangent, the result will get a segment.

circle c3 2 3 1 0 2
circle c4 -6 -3 1 0 8
2dintersect c3 c4
TagsNo tags attached.
Test case number
Attached Filespng file icon 2dintersect_cir_cir.png (18,060 bytes) 2020-09-28 07:37

- Relationships

-  Notes
msv (developer)
2017-12-01 13:24

There is no bug here. The command 2dintersect works right. It has the optional parameter "tolerance". By default it is 0.001.

In the first case, one circle intersects the second in the point of its end. There are 2 intersections in this place: one is with the beginning of the circle, the other is with the end. Each point lies within the tolerance from the theoretical solution.

In the second case, for each point within the result segment the distance between first and second circle is within the tolerance. The less the tolerance the less the length of the segment.
msv (developer)
2017-12-01 16:06

Here I see two things to correct:

1) Enrich the help of the command 2dintersect to show the default value of the tolerance.
2) Make the default tolerance of the command the same as in the used class Geom2dAPI_InterCurveCurve. It is 1e-6.
zale_lzj (reporter)
2020-09-28 07:39

I don't think the reason about the tolerance.

The first example will get three intersect points, between circle and circle.

The second example will get an intersect segment, between circle and circle.

- Issue History
Date Modified Username Field Change
2017-12-01 10:50 zale_lzj New Issue
2017-12-01 10:50 zale_lzj Assigned To => msv
2017-12-01 13:24 msv Note Added: 0072646
2017-12-01 16:06 msv Note Added: 0072660
2020-09-28 07:37 zale_lzj File Added: 2dintersect_cir_cir.png
2020-09-28 07:39 zale_lzj Note Added: 0095431

Copyright © 2000 - 2021 MantisBT Team
Powered by Mantis Bugtracker