You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Alex Herbert (Jira)" <ji...@apache.org> on 2021/07/22 15:48:00 UTC
[jira] [Commented] (RNG-132) Package rng.sampling.shape for
sampling coordinates from shapes
[ 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)