BinomialPointProcess[n,reg]
represents a binomial point process with n points in the region reg.
BinomialPointProcess
BinomialPointProcess[n,reg]
represents a binomial point process with n points in the region reg.
Details
- BinomialPointProcess[n,reg] generates points that are uniformly distributed in reg with the total number of points equal to n.
- Typical uses include cases where the total number of points is specified, such as a known number of wireless transceivers in a region, number of fish in an aquarium, etc.
- BinomialPointProcess and PoissonPointProcess both yield a uniform distribution of points over a region. The former uses a deterministic number of points and the latter a random number of points.
- The number of points inside a bounded subregion
follows BinomialDistribution[n,p] with p=RegionMeasure[sreg]/RegionMeasure[reg]. - The number of points in disjoint subregions of reg for a binomial point process is not independent.
- For disjoint subregions
that satisfy
, the joint distribution of the number of points inside the subregions
with volume
follows MultinomialDistribution[n,{ν1/ν,…,νn/ν}], where
is the volume of reg. - BinomialPointProcess[n,reg] is PoissonPointProcess[μ] conditioned on the event
with
a random variable following PointCountDistribution[PoissonPointProcess[μ],reg]. - BinomialPointProcess allows n to be any positive integer and reg any parameter-free region.
- BinomialPointProcess can be used with such functions as RipleyK and RandomPointConfiguration.
Examples
open all close allBasic Examples (2)
Sample a BinomialPointProcess:
pts = RandomPointConfiguration[BinomialPointProcess[200, Disk[]], Disk[]]Show[RegionPlot[pts["ObservationRegion"]], ListPlot[pts]]pts = RandomPointConfiguration[BinomialPointProcess[1000, Disk[]], Disk[], 3]pts["ConfigurationCount"]pts["PointCountList"]Show[RegionPlot[pts["ObservationRegion"]], ListPlot[pts]]Scope (2)
Sample from any valid RegionQ whose RegionEmbeddingDimension is equal to its RegionDimension:
ℛ = ImplicitRegion[x ^ 2 - 2y ^ 2 <= 1, {{x, -3, 3}, {y, -4, 4}}];{RegionQ[ℛ], RegionEmbeddingDimension[ℛ] == RegionDimension[ℛ]}pts = RandomPointConfiguration[BinomialPointProcess[500, ℛ], ℛ]Show[RegionPlot[pts["ObservationRegion"]], ListPlot[pts]]Create a binomial point process on a geo region:
reg = GeoDisk[Entity["City", {"Champaign", "Illinois", "UnitedStates"}], Quantity[2, "Miles"]];proc = BinomialPointProcess [20, reg]Simulate points on the same region:
sample = RandomPointConfiguration[proc, reg]GeoListPlot[sample]Applications (1)
A shooter at a range shoots 12 bullets at random at a round target of diameter 1 meter. Simulate possible bullet patterns:
reg = Disk[];
proc = BinomialPointProcess[12, reg];simulations = RandomPointConfiguration[proc, reg, 4]Show[Region[reg], ListPlot[#, PlotStyle -> PointSize[0.03]]]& /@ simulations["PointsList"]Properties & Relations (4)
The number of points in a BinomialPointProcess is defined by n:
PointCountDistribution[BinomialPointProcess[n, Disk[{0, 0}, r]]]Simulate BinomialPointProcess over a unit disk:
reg = Disk[];
proc = BinomialPointProcess[n = 100, reg];sample = RandomPointConfiguration[proc, reg, 500]The corresponding PointCountDistribution over a bounded subset:
reg1 = Disk[{0, 0}, 1 / 3];
dist = PointCountDistribution[proc, reg1]Compare the histogram of point counts in the subset with the PDF:
subdata = SpatialPointData[sample, reg1]ns = subdata["PointCountList"];Show[Histogram[ns, {1}, PDF], DiscretePlot[PDF[dist, x], {x, 0, 100}, PlotStyle -> PointSize[Medium]]]Fit a BinomialDistribution to the point counts:
edist = EstimatedDistribution[ns, BinomialDistribution[n, a]]DistributionFitTest[ns, edist, "TestConclusion"]Test against theoretical distribution:
DistributionFitTest[ns, dist, "TestConclusion"]PointCountDistribution over region covering:
reg = Rectangle[];
proc = BinomialPointProcess[100, reg];r1 = Rectangle[{0, 1 / 2}, {1 / 3, 1}];
r2 = RegionDifference[Disk[{0, 0}, 2 / 3, {0, π / 2}], r1];covering = {r1, r2, RegionDifference[reg, RegionUnion[r1, r2]]};Show[Table[Region[Style[covering[[i]], ColorData[97, i]]], {i, 3}]]Point count distribution for the covering:
PointCountDistribution[proc, covering]Compute void probabilities for a binomial point process:
proc = BinomialPointProcess[100, Rectangle[{-1, -1}, {1, 1}]];reg1 = Disk[{0, 0}, 1 / 10];PDF[PointCountDistribution[proc, reg1], 0]//Nreg2 = Rectangle[{0, 0}, {.1, .1}];PDF[PointCountDistribution[proc, reg2], 0]//NBinomial point process is stationary—the intensity is translation invariant:
proc = BinomialPointProcess[n, Disk[{0, 0}, 100]];Point count distribution in a subregion:
subreg1 = Disk[{0, 0}, 50];dist1 = PointCountDistribution[proc, subreg1]Point count distribution in the translated subregion:
subreg2 = TransformedRegion[subreg1, TranslationTransform[{RandomInteger[50], RandomInteger[50]}]]dist2 = PointCountDistribution[proc, subreg2]dist1 === dist2Related Guides
History
Text
Wolfram Research (2020), BinomialPointProcess, Wolfram Language function, https://reference.wolfram.com/language/ref/BinomialPointProcess.html.
CMS
Wolfram Language. 2020. "BinomialPointProcess." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/BinomialPointProcess.html.
APA
Wolfram Language. (2020). BinomialPointProcess. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/BinomialPointProcess.html
BibTeX
@misc{reference.wolfram_2026_binomialpointprocess, author="Wolfram Research", title="{BinomialPointProcess}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/BinomialPointProcess.html}", note=[Accessed: 12-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_binomialpointprocess, organization={Wolfram Research}, title={BinomialPointProcess}, year={2020}, url={https://reference.wolfram.com/language/ref/BinomialPointProcess.html}, note=[Accessed: 12-June-2026]}