Dear all,<br><br>Here is a function I write, it calculates the display coordinates of a point set. This function is called after I transform a point set and I pass the pointer of the point set to this function.<br><br><b>void Dist_2DLandmarks(vtkPoints* transformed_points)<br>
{<br>    double p_trans[3];<br>    vtkPolyData* polydata = vtkPolyData::New();<br>    vtkPolyDataMapper* mapper = vtkPolyDataMapper::New();<br>    vtkActor* actor = vtkActor::New();<br><br>    polydata-&gt;SetPoints(transformed_points);<br>
    polydata-&gt;SetPolys(poly);<br>    polydata-&gt;GetPointData()-&gt;SetScalars(scalars);<br>    mapper-&gt;SetInput(polydata);<br>    actor-&gt;SetMapper(mapper);<br>    ren-&gt;AddActor(actor);<br><br>    for (int index = 0; index&lt;sizeof(landmarks)/sizeof(int); index++)<br>
    {<br>        transformed_points-&gt;GetPoint(landmarks[index], p_trans);<br>        ren-&gt;SetWorldPoint(p_trans);<br>        ren-&gt;WorldToDisplay();<br>        ren-&gt;GetDisplayPoint(p_trans);<br>    }<br><br>    return;<br>
}</b><br><br>What I do before call this function is Scale (0.72, 0.72, 0.72) and Rotate (2.5). The result shows the display coordinates has changed a lot, from (170, 254, 0.4) to (2362, 64, 1.7).<br><br>I don&#39;t know what is wrong with it. Can anyone give me some advice? Or write me a demo code would carry out the work?<br>
<br>Thank you very much.<br><br>Best wishes<br>Long<br>