|Anonymous | Login||2019-02-19 21:38 MSK|
|My View | View Issues | Change Log | Roadmap|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0024772||Community||[OCCT] OCCT:Modeling Algorithms||public||2014-03-28 01:02||2018-10-30 12:43|
|Product Version||[OCCT] 6.7.0|
|Target Version||[OCCT] 7.4.0*||Fixed in Version|
|Summary||0024772: Intersection of cylinder and cone produces incorrect results|
|Description||There are 4 segments produced by the intersector, including closed ones with parts not lying on a cylinder (e.g. r_1 - see screenshot).|
The cone is a flat one, with angle ~PI/2. This combination comes from a Parasolid file.
Note that 6.6.0 produces no result at all. So some changes integrated 6.7.0 lead to this incorrect computation.
|Steps To Reproduce||restore s1 |
intersect r s1 s2
|Tags||No tags attached.|
|Test case number||bugs modalg_7 bug24772|
|Attached Files|| archive.zip (5,873 bytes) 2014-03-28 01:02|
r_1.png (31,054 bytes) 2014-03-28 01:03
|Problem described in issue is reproduced on current state of OCCT.|
This problem is limitation for the current version of the intersection algorithm. The reason is following:
1. Cone-Cylinder intersection algorithm produces ALine. Aline is internal (for OCCT) 3D-intersection curve.
2. This ALine is projected to the every intersected surfaces (in order to obtain correspond p-curve). For that, ALine is discretized on several points, every point is projected to the surfaces and after that obtained set of 2D-points is approximated to the p-curve. In case of near-plane cones projection of 3D-point to the cone cannot be computed correctly because projector cannot decide from which side of the apex the projection point should be chosen (for valid cones, the nearest point is chosen but for near-plane cones correspond distances differ insignificantly).
3. Moreover, projection is used while computation of value of the ALine. So, methods IntAna_Curve::Value(...) and IntPatch_ALine::Value(...) work wrong with near-plane cones.
Possible ways to fix:
1. Use bi-parametric intersection algorithm (IntPatch_PrmPrmIntersection). This algorithm initially works in 2D-space. So it does not made any projections. Consequently, it will produce valid result.
2. Replace existing intersection algorithm with new one like already used while Cylinder-Cylinder intersecting. New algorithm will work in 2D-space too and is oriented to special types of intersected surfaces (analytical cases: Cylinder-Cylinder, Cylinder-Cone, Cone-Sphere etc.)
The bright advantage of 2nd step in compare with 1st is the fix 0023178 and 0026894 where bi-parametric intersector worked too long but could not find any result. New algorithm currently works perfectly.
I am going to implement the way 2 while fixing the issue 0024418.
We are looking forward your decision. Is this issue possible to be fixed?
Please look at the messages 0024772:0076833 and 0027705:0080371.
|I propose to go by 2nd way.|
|When have time.|
|2014-03-28 01:02||Roman Lygin||New Issue|
|2014-03-28 01:02||Roman Lygin||Assigned To||=> ifv|
|2014-03-28 01:02||Roman Lygin||File Added: archive.zip|
|2014-03-28 01:03||Roman Lygin||File Added: r_1.png|
|2014-09-12 14:36||abv||Target Version||=> 7.1.0|
|2016-10-28 11:54||msv||Target Version||7.1.0 => 7.2.0|
|2017-07-21 11:34||msv||Target Version||7.2.0 => 7.3.0|
|2017-08-01 10:49||apv||Test case number||=> bugs modalg_7 bug24772|
|2017-08-01 10:49||apv||Note Added: 0069011|
|2017-12-05 17:01||msv||Target Version||7.3.0 => 7.4.0*|
|2018-05-24 14:17||nbv||Relationship added||related to 0027705|
|2018-06-19 10:38||nbv||Relationship added||related to 0029807|
|2018-06-19 13:09||nbv||Note Added: 0076833|
|2018-06-19 13:10||nbv||Relationship deleted||related to 0029807|
|2018-06-19 13:10||nbv||Relationship added||related to 0024418|
|2018-10-26 13:20||nbv||Note Added: 0080373|
|2018-10-26 13:21||nbv||Assigned To||ifv => msv|
|2018-10-26 13:21||nbv||Status||new => feedback|
|2018-10-30 12:39||msv||Note Added: 0080517|
|2018-10-30 12:43||msv||Note Added: 0080519|
|2018-10-30 12:43||msv||Assigned To||msv => nbv|
|2018-10-30 12:43||msv||Status||feedback => assigned|
|Copyright © 2000 - 2019 MantisBT Team|