View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0006603VTK(No Category)public2008-03-13 21:352013-04-05 19:57
ReporterBerk Geveci 
Assigned ToZhanping Liu 
PriorityhighSeverityminorReproducibilityalways
StatusclosedResolutionopen 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0006603: Probing degenerate cells causes errors
DescriptionI was given a triangle mesh with degenerate cells. Probing it with a high resolution line reveals that the interpolation near the degenerate triangles is really wrong.
Steps To Reproduce* Load the attached dataset
* Probe it with a 1000 points line between (0.5, 0, 0) - (0.5, 2, 0)

The result looks like the attached image (plotting temperature).
TagsNo tags attached.
Project
Type
Attached Files? file icon mesh0.vtu [^] (1,431 bytes) 2008-03-13 21:35
png file icon bug.png [^] (16,427 bytes) 2008-03-13 21:36

 Relationships

  Notes
(0010801)
Berk Geveci (administrator)
2008-03-14 07:51

I just found out that there are no degenerate triangles but lines instead. The bug is still there though. I am guessing FindCell() is choosing the line over the triangle when it shouldn't.
(0013730)
Zhanping Liu (developer)
2008-10-06 10:40

BUG 0006603 has been fixed. The problem was due to the inappropriate
selection of the tolerance (the initial value is too coarse), line #246 in
vtkProbeFilter::ProbeEmptyPoints(...). Now the actual sampling rate is
considered in determining the tolerance (see line #249 to line #264) and
the problem disappears.

If the squared tolerance is too large as is the case with the original code (0.005), a given sampling point, e.g., point #47 (whose coordinates are 0.47, 0.94), is mistakenly considered as grid point 8 (point Id = 8), i.e., the center of the plane because the squared distance between point #47 and the center is 0.0045. As a consequence, the proprty (temperature here) at the center point is simply taken as the one at the sample (point #47) and therefore a fluctuation occurs between point #46 and point 0000054.

Now that the bug has been fixed, point #47 is considered to be within cell (triangle here) #5 and bary-centric interpolation is accordingly applied to obtain a correct temperature value at point #47 (the same for #47 ~ #53), both visually AND in terms of the line-based profile investigation.

  Thanks.

new revision: 1.95; previous revision: 1.94

 Issue History
Date Modified Username Field Change
2008-03-13 21:35 Berk Geveci New Issue
2008-03-13 21:35 Berk Geveci File Added: mesh0.vtu
2008-03-13 21:36 Berk Geveci File Added: bug.png
2008-03-13 21:36 Berk Geveci Status backlog => tabled
2008-03-13 21:36 Berk Geveci Assigned To => Will Schroeder
2008-03-14 07:51 Berk Geveci Note Added: 0010801
2008-09-25 15:37 Berk Geveci Assigned To Will Schroeder => Zhanping Liu
2008-10-06 10:40 Zhanping Liu Note Added: 0013730
2008-10-06 10:41 Zhanping Liu Status tabled => @80@
2011-06-16 13:11 Zack Galbreath Category => (No Category)
2013-04-05 19:57 Berk Geveci Status customer review => closed


Copyright © 2000 - 2018 MantisBT Team