title: Randomly fill a 3D grid according to a probability density function p(x,y,z)
body: <p><strong>How can I fill a 3D grid in the order specified by a given probability density function?</strong></p>
  
  <p>Using python, I'd like to lay down points in a <em>random</em> order, but according to some specified probability distribution over that region, with no repeated points.  </p>
  
  <p>Sequentially:</p>
  
  <ul>
  <li>create a discrete 3D grid</li>
  <li>specify a probability density function for every grid point, pdf(x,y,z)</li>
  <li>lay down a point (x0,y0,z0) whose random location is proportional to the pdf(x,y,z)</li>
  <li>continue adding points (without repeating) until all locations are filled </li>
  </ul>
  
  <p>The desired result is a list of all points (no repeats) of all the points in the grid, in order that they were filled.</p>