Class TriangleSampler.TriangleSampler2D

java.lang.Object
org.apache.commons.rng.sampling.shape.TriangleSampler
org.apache.commons.rng.sampling.shape.TriangleSampler.TriangleSampler2D
All Implemented Interfaces:
ObjectSampler<double[]>, SharedStateObjectSampler<double[]>, SharedStateSampler<SharedStateObjectSampler<double[]>>
Enclosing class:
TriangleSampler

private static final class TriangleSampler.TriangleSampler2D extends TriangleSampler
Sample uniformly from a triangle in 2D. This is an non-array based specialisation of TriangleSampler.TriangleSamplerND for performance.
  • Field Details

    • ax

      private final double ax
      The x component of vertex a.
    • ay

      private final double ay
      The y component of vertex a.
    • bx

      private final double bx
      The x component of vertex b.
    • by

      private final double by
      The y component of vertex b.
    • cx

      private final double cx
      The x component of vertex c.
    • cy

      private final double cy
      The y component of vertex c.
  • Constructor Details

    • TriangleSampler2D

      TriangleSampler2D(UniformRandomProvider rng, double[] a, double[] b, double[] c)
      Parameters:
      rng - Source of randomness.
      a - The first vertex.
      b - The second vertex.
      c - The third vertex.
    • TriangleSampler2D

      Parameters:
      rng - Generator of uniformly distributed random numbers
      source - Source to copy.
  • Method Details

    • createSample

      public double[] createSample(double p1msmt, double s, double t)
      Description copied from class: TriangleSampler
      Creates the sample given the random variates s and t in the interval [0, 1] and s + t <= 1. The sum 1 - s - t is provided. The sample can be obtained from the triangle abc using:
       p = a(1 - s - t) + sb + tc
       
      Specified by:
      createSample in class TriangleSampler
      Parameters:
      p1msmt - plus 1 minus s minus t (1 - s - t)
      s - the first variate s
      t - the second variate t
      Returns:
      the sample
    • withUniformRandomProvider

      public TriangleSampler withUniformRandomProvider(UniformRandomProvider rng)
      Description copied from class: TriangleSampler
      Create a new instance of the sampler with the same underlying state using the given uniform random provider as the source of randomness.
      Specified by:
      withUniformRandomProvider in interface SharedStateSampler<SharedStateObjectSampler<double[]>>
      Specified by:
      withUniformRandomProvider in class TriangleSampler
      Parameters:
      rng - Generator of uniformly distributed random numbers.
      Returns:
      the sampler