hey, Darshan, thanks for your kind help. From my point of view, the function of the GetSelectionPoint() of vtkAbstractPicker is "get the selection point in screen (pixel) coordinates".  And my condition is that user can pick point on the 3D model(surface), then i need to calculate the 2D coordinate of this point. The mean of 2D coordinate is the 3D point projected into original 2D image. So, i think the point coordinate which i want does not equalize the screen point coordinate. But, thank your all the same.<br>
Could anyone provide suggestion? thanks very much!<br><br><br><br><div class="gmail_quote">On Tue, Apr 27, 2010 at 3:12 AM, Darshan Pai <span dir="ltr"><<a href="mailto:darshanpai@gmail.com">darshanpai@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">I think GetSelection() should be the function of choice <br><br><div class="gmail_quote"><div>
<div></div><div class="h5">On Mon, Apr 26, 2010 at 10:17 AM, æœ±æ–‡æ¦ <span dir="ltr"><<a href="mailto:cool.wenwu@gmail.com" target="_blank">cool.wenwu@gmail.com</a>></span> wrote:<br>
</div></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div></div><div class="h5">hi all,<br><br>     i encounter a problem, and need your kind help ! I get 3D global coordinate by using vtkCellPicker, then i want to know the 2D coordinate of point which is picked in the 3D scene. However, the 2D coordiante i transformed was not accurate. Could anyone give some suggestion or better methods? thanks in advance!<br>
<br>All related code is as follows:<br>   vtkBMPReader *m_read=... // read bmp image  <br>   m_read->SetDataSpacing(CReadBmp::m_Dx,CReadBmp::m_Dy,CReadBmp::m_Dz);//       <br>   m_read->SetDataExtentCReadBmp::m_Xmin,CReadBmp::m_Xmax,CReadBmp::m_Ymin,CReadBmp::m_Ymax,CReadBmp::m_Zmin,CReadBmp::m_Zmax);//<br>
<br><br>Â Â Â vtkInteractorStyleTrackballCamera *style;<br>Â Â Â vtkRenderWindowInteractor *iren;<br>Â Â Â vtkCellPicker *picker;<br>Â Â Â iren->SetInteractorStyle(style);<br><br>Â Â Â style->AddObserver(vtkCommand::MiddleButtonReleaseEvent, cmd);<br>
   cmd->SetCallback(MyExecute);<br>   picker->SetTolerance(0.0001);<br>   iren->SetPicker(picker);<br><br>void MyExecute(vtkObject *caller, unsigned long eid, void *clientdata, void *calldata)<br>{<br>   double globalCoordinate[3]; //<br>
   double selPt[2];<br>   picker->Pick(psurface->iren->GetEventPosition()[0],psurface->iren->GetEventPosition()[1],0, psurface->aRenderer);<br>   picker->GetPickPosition(globalCoordinate);       <br>
    <br>    int _2DCoor[3];<br>//<span style="color: rgb(255, 0, 0);"> this is the map formula</span><br>  <span style="color: rgb(255, 0, 0);">   _2DCoor[0] = static_cast<int>(globalCoordinate[0] / CReadBmp::m_Dx); //2D x Coordinate</span><br style="color: rgb(255, 0, 0);">
<span style="color: rgb(255, 0, 0);">Â Â </span><br style="color: rgb(255, 0, 0);"><span style="color: rgb(255, 0, 0);">Â Â Â _2DCoor[1] = CReadBmp::m_Ymax + 1 - static_cast<int>(globalCoordinate[1] / CReadBmp::m_Dy);//2D y Coordinate</span><br style="color: rgb(255, 0, 0);">
<br style="color: rgb(255, 0, 0);"><span style="color: rgb(255, 0, 0);">Â Â Â _2DCoor[2] = static_cast<int>(globalCoordinate[2] / CReadBmp::m_Dz + 0.5) +Â CReadBmp::m_Zmin ; </span>// the index of image<br><br>}<br><br>
<br>wenwu<br><br><br><br><br>
<br></div></div><div class="im">_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.vtk.org/mailman/listinfo/vtkusers" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers</a><br>
<br></div></blockquote></div><br>
</blockquote></div><br><br clear="all"><br>-- <br>ç¥<br>工作愉快,身体å¥åº·ï¼<br>