[vtkusers] smoothing errors
Berk Geveci
berkgeveci at hotmail.com
Tue Sep 4 18:20:18 EDT 2001
>I use vtkSmoothPolyDataFilter, to smooth a surface. It smoots the surface.
>But, at the end of the smoothing process, I want to display smoothing
>errors. For this purpose I use the functions GenerateErrorScalars, and
>GrenerateErrorScalarsOn. When I use these functions, in the render window,
>smoothed surface is drawn with various colors. I think, these colors
>correspond to different error values. Here I have the following questions:
>
>1- How is the smoothing error computed? (i.e, what is the error
>measure?Laplacian smoothing is used but error measure?)
Here is the piece of code which calculates the errors
for (i=0; i<numPts; i++)
{
// inPts are the points from the input
// newPts are the output points
// the error measure is simply ||x2 - x1||
inPts->GetPoint(i,x1);
newPts->GetPoint(i,x2);
newScalars->SetComponent(i,0,
sqrt(vtkMath::Distance2BetweenPoints(x1,x2)));
}
If you don't like the error measure, it should be very easy to change it.
just replace
newScalars->SetComponent(i,0,sqrt(vtkMath::Distance2BetweenPoints(x1,x2)));
with your prefered measure.
>2- How can I obtain the numerical values of these errors?
Just get the scalars from the output's point data, for example:
vtkScalars* errors =
smoothFilter->GetOutput()->GetPointData()->GetScalars();
and to get the error at ith point, you can
errors->GetScalar(i);
>3- How can I draw a graphic to legend these error values?
Use vtkScalarBarActor. There are examples in the user's guide.
-Berk
_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp
More information about the vtkusers
mailing list