1
$\begingroup$

Can anyone suggest me a way of drawing a 3-dimensional Poisson Point Process (PPP) with intensity $\lambda$ in Mathematica. The points are located only in a half sphere. The 3-dimensional ball of radius $r$ is located in the origin. Let the radius $r$ be equal to 1.

$\endgroup$
2
$\begingroup$

Mathematica has RandomPoint for picking a uniformly distributed point inside the specified region. As the average number of points for a uniform PPP in a bound region is proportional to it's volume, we have to variate PoissonDistribution with a given parameter and obtain this number of random points. All that is left is to draw it all together.

R = ImplicitRegion[
   x^2 + y^2 + z^2 <= 1,
   {{x, 0, ∞}, y, z}
   ];
λ = 50;

pts = RandomPoint[
   R,
   RandomVariate[
    PoissonDistribution[λ*Integrate[1, {x, y, z} ∈ R]]
    ]
   ];

Show[{
  RegionPlot3D[
   R,
   PlotStyle -> Opacity[0.2]
   ],
  Graphics3D[
   Point[pts]
   ]
  }]

This code will produce the next picture:

enter image description here

$\endgroup$
  • $\begingroup$ What about the location (x, y, z of these points? Can I know that too?) $\endgroup$ – Adil Apr 9 '18 at 12:41
  • $\begingroup$ @Adil Those are stored in pts (check the documentation for RandomPoint). $\endgroup$ – Andrew S. Apr 9 '18 at 14:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.