title: Ray-tracing (or casting) between rays and STL file
body: <p>I have a 3D shape (a bone) as a triangular mesh in STL format and I'm working with Python language.</p>
  
  <p>I then have a ray with its origin and direction and I need to know:</p>
  
  <ul>
  <li>which face of the mesh collides with this ray</li>
  <li>coordinates of intersection point </li>
  <li>the angle between my ray and the normal vector of the collided face</li>
  </ul>
  
  <p>I know 'pycaster' ( <a href="https://pyscience.wordpress.com/2014/09/21/ray-casting-with-python-and-vtk-intersecting-linesrays-with-surface-meshes/" rel="nofollow noreferrer">https://pyscience.wordpress.com/2014/09/21/ray-casting-with-python-and-vtk-intersecting-linesrays-with-surface-meshes/</a> ) but it only works with Python 2.x and I need to use Python 3.x.</p>
  
  <p>I know 'trimeshgeom' class ( <a href="http://cgkit.sourceforge.net/doc2/_sources/trimeshgeom.txt" rel="nofollow noreferrer">http://cgkit.sourceforge.net/doc2/_sources/trimeshgeom.txt</a> ) from cgkit but PyCharm can't install it as an interpreter (can't understand why).</p>
  
  <p>Does anybody know how I could do what I'm trying to do?</p>
  
  <p>Thanks,
  Cheers,</p>
  
  <p>Davide</p>