Anonymous | Login 2019-09-22 02:59 MSK Project: All Projects Community Open CASCADE
 My View | View Issues | Change Log | Roadmap

View Issue Details  Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0026927Open CASCADE[OCCT] OCCT:Modeling Algorithmspublic2015-11-25 14:192019-08-12 16:45
Reporteraml
Assigned Toaml
PrioritynormalSeverityminor
StatusassignedResolutionopen
PlatformWindowsOSVC++ 2010OS Version64 bit
Product Version[OCCT] 6.9.1
Target Version[OCCT] 7.5.0*Fixed in Version
Summary0026927: Make Intersection algorithm more adaptive
DescriptionIn some cases there are insufficient number of points on walking line, which are computed in scope of surface / surface intersection. As a result big distance between projection curves and 3-d curves obtained.

In case 24915 cylinder / cylinder intersection performed with bad number of points in bending part of intersection curves. The following data shows discrete curvature of points:

[1707] 0.037705678409209582 double
[1708] 0.038651495615726526 double
[1709] 0.040295220088712960 double
[1710] 0.043239356085594871 double
[1711] 0.048650867598388436 double
[1712] 0.058783197504702088 double
[1713] 0.078030165459450906 double
[1714] 0.11550925815709719 double
[1715] 0.19260869420137852 double
[1716] 0.36934346676956370 double
[1717] 0.83621205320747938 double
[1718] 1.9106883897253861 double
[1719] 2.7878816486987574 double
[1720] 2.2648710362924560 double
[1721] 0.69490102039425350 double
[1722] 0.15251393357787787 double
[1723] 0.037838999041714082 double
[1724] 0.016468938270034150 double
[1725] 0.0089625815035841491 double
[1726] 0.0059857141438395146 double
[1727] 0.0042055089673148274 double
[1728] 0.0030717487738050296 double
[1729] 0.0023140418447547936 double
[1730] 0.0017878986403497210 double
[1731] 0.0014109697884378742 double
[1732] 0.0011338428956967482 double
[1733] 0.00092558903016010693 double
[1734] 0.00076615027575940636 double
[1735] 0.00064211956574854938 double
[1736] 0.00054429800146004587 double

This curvature situation seem to be abnormal, it is necessary to add points to get more smooth curvature.

It is proposed to check possibility of implementation curvature-based approach (and make if it is possible) at least for cylinder / cylinder case.
Steps To Reproducetest bugs modalg_5 bug24915
Investigation and development may use:
Razdan, A., Knot Placement for B-Spline Curve Approximation, Arizona State University, 1999.
http://prism.asu.edu/publications/papers/paper99_kpbsca.pdf [^]
TagsNo tags attached.
Test case number
Attached Files curvatureArray.txt (76,531 bytes) 2015-11-25 14:21

Relationships
 child of 0025929 closed bugmaster Make Approx_ComputeLine algorithm adaptive

 Notes aml (developer) 2015-11-25 14:22 File with whole curvature array in attachments section. git (administrator) 2015-11-25 22:27 Branch CR26927 has been created by aml. SHA-1: 0161c4b93fc2cd1aa11918ff7b13444e1dc2383e Detailed log of new commits: Author: aml Date: Wed Nov 25 21:38:20 2015 +0300     0026927: Make Intersection algorithm more adaptive          Proof of concept solution. git (administrator) 2015-11-26 13:56 Branch CR26927 has been updated forcibly by aml. SHA-1: 8a3b991397d206bb35540dc339d12163f0b9af94 git (administrator) 2016-02-18 08:31 Branch CR26927 has been updated forcibly by aml. SHA-1: c64f1fb7cab0e3e22c97825751fbdc6352c51660

 Issue History Date Modified Username Field Change 2015-11-25 14:19 aml New Issue 2015-11-25 14:19 aml Assigned To => msv 2015-11-25 14:19 aml Assigned To msv => aml 2015-11-25 14:19 aml Relationship added child of 0025929 2015-11-25 14:21 aml File Added: curvatureArray.txt 2015-11-25 14:22 aml Note Added: 0048563 2015-11-25 14:22 aml Status new => assigned 2015-11-25 14:41 aml Additional Information Updated View Revisions 2015-11-25 22:27 git Note Added: 0048585 2015-11-26 13:56 git Note Added: 0048603 2016-02-18 08:31 git Note Added: 0050924 2016-10-28 16:32 msv Target Version 7.1.0 => 7.2.0 2017-07-24 09:32 msv Target Version 7.2.0 => 7.3.0 2017-12-05 17:09 msv Target Version 7.3.0 => 7.4.0 2019-08-12 16:45 msv Target Version 7.4.0 => 7.5.0*