title: Python, section of a tetrahedralized (scipy.Delaunay) 3D cloud of points
body: <p>I want to draw a "cross section" of a hull in a 3D space, <strong>the intersection of the hull with a plane</strong>. </p>
  
  <p>The space is defined by axis <code>X, Y, Z</code>, and the crossing plane, <strong><em>parallel to XZ</em></strong> is defined by <code>Y = 50</code></p>
  
  <p>First, I loaded a cloud of 3D <code>points</code> in a <code>np.array</code> :</p>
  
  <pre><code>#loading colors
  
  points = np.array([(GEO.XYZRGB(rank, name, X, Y, Z))
                    for rank, name, X, Y, Z in csv.reader(open('colors.csv'))])
  </code></pre>
  
  <ul>
  <li><p>point structure is <code>rank, name, X, Y, Z, R, G, B</code></p></li>
  <li><p>and each points is defined in the 3D space by <code>X, Y, Z</code></p></li>
  </ul>
  
  <p>a few examples:</p>
  
  <pre><code>['2' 'Y2    ' '77.89506204' '87.46909733' '42.72168896' '254' '244' '21']
  ['3' 'Y4    ' '76.95634543' '83.94271933' '39.48573173' '255' '234' '0']
  ['4' 'PINKwA' '64.93353667' '59.00840333' '84.71839733' '218' '154' '225']
  ...
  </code></pre>
  
  <p>Now, I made a <code>scipy.Delaunay</code> tetrahedralization of the points:</p>
  
  <pre><code># Delaunay triangulation    
  tri = scipy.spatial.Delaunay(points[:,[2,3,4]], furthest_site=False) 
  </code></pre>
  
  <p>So I can get all the <code>vertices</code> (i.e each singular tetrahedron of the hull):</p>
  
  <pre><code># indices of vertices
  indices = tri.simplices
  
  # the vertices for each tetrahedron
  vertices = points[indices]
  
  print vertices
  </code></pre>
  
  <p>My question: from here, I have the vertices, how do I find all the points of intersection between the plane and the hull? </p>
  
  <p>Thanks</p>