RANDOMPOINTINPOLYGON Generate random point(s) in a polygon.
POINT = randomPointInPolygon(POLY)
POINTS = randomPointInPolygon(POLY, NPTS)
Generate random point(s) within the specified polygon. If the number of
points is not specified, only one point is generated.
POINT = randomPointInPolygon(POLY, NPTS, QRS)
Specifies a Quasi-random number generator QRS used to generate point.
coordinates (requires the statistics toolbox).
Example
% generate an ellipse-like polygon, and fill it with points
elli = [50 50 50 30 30];
poly = ellipseToPolygon(elli, 200);
pts = randomPointInPolygon(poly, 500);
figure; hold on;
drawPolygon(poly, 'k');
drawPoint(pts, 'b.');
axis equal; axis([0 100 0 100]);
% use halton sequence to distribute points within the polygon
qrs = haltonset(2, 'Skip', 1e3, 'Leap', 1e2);
pts = randomPointInPolygon(poly, 500, qrs);
figure; hold on;
drawPolygon(poly, 'k');
drawPoint(pts, 'b.');
axis equal; axis([0 100 0 100]);
See also
polygons2d, randomPointInBox, drawPolygon
Package: matgeom