[
https://issues.apache.org/jira/browse/RNG-132?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17385624#comment-17385624
]
Alex Herbert commented on RNG-132:
----------------------------------
The SurfaceSampler and VolumeSampler can be implemented as a CombinationSampler
(see RNG-138).
All samplers have been added except the SimplexSampler. This has less
application to geometry in 2D and 3D. Sampling from a unit simplex is the same
as sampling from a [Dirichlet
distribution|https://en.wikipedia.org/wiki/Dirichlet_distribution] where the
concentration parameters alpha are 1 for all dimensions.
A Dirichlet distribution is multivariate. A sample would return an array and so
does not fit the univariate ContinuousDistributionSampler interface in the
{{distribution}} package. A standalone class can be added to the distribution
package without a common interface.
> Package rng.sampling.shape for sampling coordinates from shapes
> ---------------------------------------------------------------
>
> Key: RNG-132
> URL: https://issues.apache.org/jira/browse/RNG-132
> Project: Commons RNG
> Issue Type: Task
> Components: sampling
> Affects Versions: 1.4
> Reporter: Alex Herbert
> Assignee: Alex Herbert
> Priority: Major
>
> Create a {{rng.sampling.shape}} package in the sampling module to contain
> work-in-progress samplers for shapes.
> * UnitSphereSampler (N-surface) [1]
> * UnitBallSampler (N-volume)
> * UnitSimplexSampler (N-surface)
> * LineSampler (N-dimension points on a line segment or polyline)
> * TriangleSampler (N-dimension points within a triangle in a 2D plane)
> * TetrahedronSampler (3D points inside a tetrahedron)
> * SurfaceSampler (ND points on a triangulated surface) [2]
> * VolumeSampler (3D points inside a volume composed of tetrahedrons)
> * UnitCubeSampler (N-volume)
> [1] The UnitSphereSampler can be deprecated and a new version created to use
> a factory method to create the sampler (allowing optimisation for low
> dimensions).
> [2] The SurfaceSampler would be a composite sampler. For sampling a surface
> the TriangleSampler can be combined with the
> AliasMethodSamplerDiscreteSampler. The surface should be triangulated. The
> area of each triangle is used to create a distribution of which triangle to
> pick using the alias method. A sample is then taken from the chosen triangle.
> Shape geometry will not be validated beyond basic testing for non-finite
> values of input coordinates. Validation of shapes could potentially be done
> by creating a {{commons-geometry-sampling}} module in the commons geometry
> project.
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)