Hi Ken, Thank you for considerate replying. Your e-mail is really helpful for me. I understand that the calculation of rendering is different with the inside calculation of VTK. And my case is the worst one. So, I will try to interpolate the data before I import it in ParaVIew. If I do , the contour would be more smooth.
Thank you, Shinya Ogata 2010/10/16 Moreland, Kenneth <kmo...@sandia.gov>: > If I can, I would like to expand the conversation a little bit because I > don’t think the technical details are telling the whole story. > > The root of the problem is that the interpolation of a scalar field based on > the four corners of a square (or any quadrilateral) is in general > ill-defined. We usually mean for field to be linearly interpolated between > the points. That is, find some function of the form f(x,y) = a*x + b*y + c > that gives the correct scalar for all four points. But, in fact, four > points over constrain the problem and no such linear function exists. > > So really, the differences you are seeing are the differences between how > the internal VTK functions resolve the interpolation and how your rendering > hardware is doing it. I haven’t looked at the source code, but I’m assuming > that VTK is using something like bilinear interpolation. Bilinear > interpolation works by first interpolating the scalar on opposite edges and > then interpolating again between these edges to get a point in the interior. > Bilinear interpolation has several advantages: it can be done independently > of neighboring polygons and still be C0 continuous, it is easy to implement, > it is smooth in the interior, and it gives an interpolation that intuitively > makes sense. Note, however, that bilinear interpolation is not linear. > This is evident by your plot (which is a parabola). > > Your graphics driver is much more concerned with speed. As such, it takes > your quadrilateral and breaks it into triangles. This circumvents the whole > interpolation problem because the three vertices of the triangle perfectly > constrain the linear function. It is also easy for the graphics hardware to > compute the interior of the triangle. Of course, the result is not as, > shall we say, pleasant as bilinear interpolation. It is not smooth: There > is a C1 discontinuity at the line where the quadrilateral was split into > triangles. Also, this splitting is arbitrary. The split could just as > easily been made in the opposite direction. In that case, you would see a > red line go from upper left to lower right instead of that blue line from > lower left to upper right. > > So the rendering is probably not what was indented when defining the scalar > value on a quadrilateral. However, ParaView allows it because correcting > the problem would make the rendering prohibitively slow. Furthermore, it is > rarely even noticeable. The square in this example is worst case. Not only > do no linear functions fit, they are not even close. Thus, the different > ways to resolve the issue are dramatically different. In a practical > application, this does not occur. The scalar values tend to more closely > fit a linear function. If a quadrilateral like this occurred in a real data > set, it might be indicative of a meshing problem. Furthermore, real meshes > have lots of facets. If this square was a small part of a much bigger > surface, differences in interpolation are less meaningful. > > In short, the interpolation your graphics hardware performs is sufficient > for qualitative analysis (getting an overview of behavior), which is all its > really good for anyway. When you do qualitative analysis (showing actual > numbers in the data) such as in your plot, the more accurate interpolation > models of VTK are used. > > -Ken > > > On 10/14/10 9:06 AM, "Andy Bauer" <andy.ba...@kitware.com> wrote: > > > > 2010/10/14 小縣信也 <so020...@gmail.com> > > Hi Andy, > > Thank you for replying. > Do you mean that the rendering image doesn't reflect the result of > interpolation ? > > Yes. > > > If so, what is the most common usage? > In what situation is the interpolation used ? > > If your grid uses triangles then the image should match the interpolation > for the typical node/point based interpolation. > > > > Shinya > > > 2010/10/13 Andy Bauer <andy.ba...@kitware.com>: >> I think this is a rendering issue and not an interpolation issue. From >> the >> 2d plot you can see that it's properly interpolating the values. I think >> the quadrilateral is getting rendered as 2 triangles in which case the >> diagonal values appear to be constant since the 2 end points are at the >> same >> value. >> >> 2010/10/12 小縣信也 <so020...@gmail.com> >>> >>> Hello >>> >>> I'm sending the following e-mail again ,because nobody answered it. >>> Does anyone have information on my problem? >>> >>> Shinya >>> >>> >>> ---------- Forwarded message ---------- >>> From: 小縣信也 <so020...@gmail.com> >>> Date: 2010/10/7 >>> Subject: Interpolation problem >>> To: paraview@paraview.org >>> >>> >>> Hello, paraview users >>> >>> I draw the file “Sample_inter.vtk” on ParaView. (ref:attached file) >>> I chose “Gouraud” in Interpolation option. >>> The contor picture doesn’t seem to be interpolated by 4 points. >>> However,the graph which is made by PlotOverLine shows the gradation of >>> 4 points scalar. >>> Why are they different? >>> Does anyone know this problem? >>> How can I make contour picture interpolated by Gouraud ? >>> >>> I look forward to your reply to my inquiry >>> >>> Shinya Ogata >>> >>> _______________________________________________ >>> Powered by www.kitware.com <http://www.kitware.com> >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Please keep messages on-topic and check the ParaView Wiki at: >>> http://paraview.org/Wiki/ParaView >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.paraview.org/mailman/listinfo/paraview >>> >> >> > > > _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview