Anonymous | Login 2021-01-16 03:33 MSK Project: All Projects Community Open CASCADE
 My View | View Issues | Change Log | Roadmap

View Issue Details  Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0025961Open CASCADE[OCCT] OCCT:Modeling Algorithmspublic2015-03-20 11:292020-09-14 22:58
Reporternbv
Assigned Tonbv
PrioritynormalSeverityminor
StatusassignedResolutionopen
PlatformOSOS Version
Product Version
Target Version[OCCT] 7.6.0*Fixed in Version
Summary0025961: Wrong result of projection point on the ellipse
DescriptionIf ellipse has major radius much more than minor radius we will not be able to find minimal distance between this ellipse and some point.
Steps To ReproduceDraw[]> ellipse ce 15793.1884865181, -5613.90386522167, -2450 0.566529531797242, 0.824041436823172, 4.04832179340053e-023 249106758.909924, 18
Draw[]> dset x1 15810.404909670384
Draw[]> dset y1 -5625.7401757733878
Draw[]> dset z1 -2468.0000000000000

Draw[]> proj ce x1 y1 z1
# parameter 1 = 3.141592653589798
#ext_1 parameter 2 = 4.7123890642550172
#ext_2 parameter 3 = 6.2831853071795809
#ext_3 parameter 4 = 6.2831853071795809
#ext_4

Draw[]> length ext_1
The length ext_1 is 249106779.80259019
Draw[]> length ext_2
The length ext_2 is 36.000000000000043
Draw[]> length ext_3
The length ext_3 is 249106738.01725906
Draw[]> length ext_4
The length ext_4 is 249106738.01725906

I.e. minimal distance between ellipse and point is 36.000000000000043.

However, try the following script:
Draw[]> cval ce pi/2 xx yy zz

Draw[]> dset sd (xx-x1)*(xx-x1)+(yy-y1)*(yy-y1)+(zz-z1)*(zz-z1)
# 436.50347299786017
Draw[]> dval sqrt(sd)
# 20.892665531182473

Consequently, there is a point nearer to the given with distance 20.892665531182473.
TagsNo tags attached.
Test case number
Attached Files diff_images.png (40,605 bytes) 2015-03-20 15:13

 Relationships

 Notes nbv (developer) 2015-03-20 15:28 The problem has been detected after fixing bug #25416 (differences in images were detected - see diff_images.png file). Intersection algorithm finds IntPatch_RLine and IntPatch_GLine (ellipse). These lines seem to be coincided (RLine is a part of GLine). However, it is not detected (in the function IsRLineGood(), file IntPatch_ImpImpIntersection_0.gxx) because computed distance between GLine and points of RLine is too big. Consequently, RLine is not excluded.

 Issue History Date Modified Username Field Change 2015-03-20 11:29 nbv New Issue 2015-03-20 11:29 nbv Assigned To => msv 2015-03-20 11:30 nbv Steps to Reproduce Updated View Revisions 2015-03-20 11:31 nbv Relationship added related to 0025416 2015-03-20 12:45 msv Assigned To msv => nbv 2015-03-20 12:45 msv Status new => assigned 2015-03-20 15:13 nbv File Added: diff_images.png 2015-03-20 15:28 nbv Note Added: 0038738 2015-04-06 14:02 abv Target Version 6.9.0 => 7.1.0 2016-10-25 19:04 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:08 msv Target Version 7.3.0 => 7.4.0 2019-08-12 16:37 msv Target Version 7.4.0 => 7.5.0 2020-09-14 22:58 msv Target Version 7.5.0 => 7.6.0*