[vtkusers] vtkSpline
Ho Ngoc Ha
ha_lennon at yahoo.com
Sat Sep 5 01:45:10 EDT 2009
Hi,
I have a set of points, I just need to find a spline that pass through all
of those points and generate a number of output points.
Here is what I did
int numberOfInputPoints = points->GetNumberOfPoints();
vtkCardinalSpline* aSplineX;
vtkCardinalSpline* aSplineY;
vtkCardinalSpline* aSplineZ;
aSplineX = vtkCardinalSpline::New();
aSplineY = vtkCardinalSpline::New();
aSplineZ = vtkCardinalSpline::New();
for (int i=0; i<numberOfInputPoints; i++)
{
double x = points->GetPoint(i)[0];
double y = points->GetPoint(i)[1];
double z = points->GetPoint(i)[2];
aSplineX->AddPoint(i, x);
aSplineY->AddPoint(i, y);
aSplineZ->AddPoint(i, z);
}
vtkPoints* polypoints = vtkPoints::New();
int numberOfOutputPoints = 20;
double t;
for (int i=0; i<numberOfOutputPoints; i++)
{
t
=(double)(numberOfInputPoints-1)/(double)(numberOfOutputPoints-1)*(double)i;
std::cout << "t: " << t << std::endl;
polypoints->InsertNextPoint(aSplineX->Evaluate(t),
aSplineY->Evaluate(t),
aSplineZ->Evaluate(t));
}
I thought the newly generated points will be stored in polypoints? But when
I checked it, it only contains the first and the last point of my input
points.
I am new to vtk so please help me. Thank you very much
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20090904/0c113f9a/attachment.htm>
More information about the vtkusers
mailing list