|Anonymous | Login||2019-05-24 11:46 MSK|
|My View | View Issues | Change Log | Roadmap|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0029361||Community||[OCCT] OCCT:Modeling Algorithms||public||2017-12-01 10:50||2017-12-01 16:06|
|Platform||Windows||OS||VC++ 2012||OS Version||32bit|
|Product Version||[OCCT] 7.1.0|
|Target Version||Fixed in Version|
|Summary||0029361: circle intersect circle has wrong result|
|Description||I 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
|Tags||No tags attached.|
|Test case number|
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.
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.
|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|
|Copyright © 2000 - 2019 MantisBT Team|