<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>
Hi Sankhesh and Yumin,<br><br>Thank you very much for your suggestions. I will try based on your suggestions. Many thanks again.<br><br>Best regards,<br>Pengdong<br><br><div><div id="SkyDrivePlaceholder"></div>&gt; Date: Thu, 10 Jan 2013 13:44:16 -0500<br>&gt; Subject: Re: [vtkusers] 3D line and coordinate system<br>&gt; From: yumin.yuan@kitware.com<br>&gt; To: xiaopd@hotmail.com<br>&gt; CC: vtkusers@vtk.org; vtk-developers@vtk.org<br>&gt; <br>&gt; Ok, from the email you sent to Sankhesh, I now understand what you try<br>&gt; to do (and this seems to be similar to the other email thread I just<br>&gt; replied)<br>&gt; <br>&gt; I think what you need is  vtkPlane::ProjectPoint(...)<br>&gt;   // Project a point x onto plane defined by origin and normal. The<br>&gt;   // projected point is returned in xproj. NOTE : normal assumed to<br>&gt;   // have magnitude 1.<br>&gt;   static void ProjectPoint(double x[3], double origin[3], double normal[3],<br>&gt;                            double xproj[3]);<br>&gt; <br>&gt; In your case, do the same for world_coordinate1, then to get the<br>&gt; second point, you can try<br>&gt; <br>&gt; vtkPlane::ProjectPoint(world_coordinate1, camera-&gt;GetFocalPoint(),<br>&gt; camera-&gt;GetViewPlaneNormal(), world_coordinate2);<br>&gt; <br>&gt; HTH,<br>&gt; Yumin<br>&gt; <br>&gt; On Thu, Jan 10, 2013 at 9:04 AM, Yumin Yuan &lt;yumin.yuan@kitware.com&gt; wrote:<br>&gt; &gt; Which version of VTK is this?<br>&gt; &gt;<br>&gt; &gt; You can try to add the following after setting the two line points.<br>&gt; &gt;<br>&gt; &gt; line-&gt;Update();<br>&gt; &gt;<br>&gt; &gt; Yumin<br>&gt; &gt;<br>&gt; &gt; On Thu, Jan 10, 2013 at 3:47 AM, Pengdong Xiao &lt;xiaopd@hotmail.com&gt; wrote:<br>&gt; &gt;&gt; Hi Yumin,<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; Thank you very much for your e-mail. After I change the following:<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; display1[2] = 0 ;<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; the problem still exists. After I click mouse, a line will be drawn, but it<br>&gt; &gt;&gt; isn't perpendicular to the screen; and each time the length is different.<br>&gt; &gt;&gt; Any other suggestions? Many thanks.<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; Best regards,<br>&gt; &gt;&gt; Pengdong<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;&gt; Date: Wed, 9 Jan 2013 10:31:29 -0500<br>&gt; &gt;&gt;&gt; Subject: Re: [vtkusers] 3D line and coordinate system<br>&gt; &gt;&gt;&gt; From: yumin.yuan@kitware.com<br>&gt; &gt;&gt;&gt; To: xiaopd@hotmail.com<br>&gt; &gt;&gt;&gt; CC: vtkusers@vtk.org; vtk-developers@vtk.org<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;&gt;<br>&gt; &gt;&gt;&gt; The VTK display coordinates' z range is 0 to 1, try this:<br>&gt; &gt;&gt;&gt;<br>&gt; &gt;&gt;&gt; display1[2] = 0 ;<br>&gt; &gt;&gt;&gt;<br>&gt; &gt;&gt;&gt; HTH,<br>&gt; &gt;&gt;&gt; Yumin<br>&gt; &gt;&gt;&gt;<br>&gt; &gt;&gt;&gt; On Mon, Jan 7, 2013 at 9:16 PM, Pengdong Xiao &lt;xiaopd@hotmail.com&gt; wrote:<br>&gt; &gt;&gt;&gt; &gt; display1[2] = -1 ;<br></div>                                               </div></body>
</html>