<font size="2"><font face="verdana,sans-serif">Well, if you do not mess with objects&#39; transformation matrix for display purposes, it could probably be sufficient to just put your camera into a different position while using axes approach 2. The easy methods to adjust your camera position are:</font></font> Pitch(), Azimuth() and Roll().<br>

<br>If you mess with object transforms, then apply the same transform to the axes.<br><br><div class="gmail_quote">On Thu, Nov 10, 2011 at 21:15, German Larrain M. <span dir="ltr">&lt;<a href="mailto:germanlarrainm@gmail.com">germanlarrainm@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hi folks. I posted this question in <a href="http://stackoverflow.com/questions/7810632/how-to-use-and-set-axes-in-a-3d-scene" target="_blank">stackoverflow</a> more than 3 weeks ago, unsuccessfully.<div>

----------<div><div>I&#39;m creating a simulator coded in python and based on ODE (Open Dynamics Engine). For visualization I chose VTK.</div>

<div><br></div><div>For every object in the simulation, I create a corresponding source (e.g. vtkCubeSource), mapper and actor. I am able to show objects correctly and update them as the simulation runs.</div><div><br></div>



<div>I want to add axes to have a point of reference and to show the direction of each axis. Doing that I realized that, by default, X and Z are in the plane of the screen and Y points outwards. In my program I have a different convention.</div>



<div><br></div><div>I&#39;ve been able to display axes in 2 ways:</div><div><br></div><div>1) <a href="http://imagepaste.nullnetwork.net/viewimage.php?id=2610" target="_blank">Image 1</a></div><div><br></div><div>    axes = vtk.vtkAxes()</div>



<div>    axesMapper = vtk.vtkPolyDataMapper()</div><div>    axesMapper.SetInputConnection(axes.GetOutputPort())</div><div>    axesActor = vtk.vtkActor()</div><div>    axesActor.SetMapper(axesMapper)</div><div>    axesActor.GetProperty().SetLineWidth(4)</div>



<div><br></div><div>2) <a href="http://imagepaste.nullnetwork.net/viewimage.php?id=2611" target="_blank">Image 2</a> (colors do not match with the first case)</div><div><br></div><div>    axesActor = vtk.vtkAxesActor()</div>

<div>    axesActor.AxisLabelsOn()</div>

<div>    axesActor.SetShaftTypeToCylinder()</div><div>    axesActor.SetCylinderRadius(0.05)</div><div><br></div><div>In the second one, the user is allowed to set many parameters related to how the axis are displayed. In the first one, I only managed to set the line width but nothing else.</div>



<div><br></div><div>So, my questions are:</div><div><br></div><div> - Which is the correct way to define and display axes in a 3D scene? I just want them in a fixed position and orientation.</div><div> - How can I set a different convention for the axes orientation, both for their display and the general visualization?</div>



<div><br></div><div>Thanks,</div><div>Germán</div><div><br></div><font color="#888888">-- <br>Germán Larrain<br>
</font></div></div>
<br>_______________________________________________<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></blockquote></div><br>