File Exchange

image thumbnail

Random point inside a polygone

version 1.0.1 (65.8 KB) by Stephane Dauvillier
Create random point inside a polygone

2 Downloads

Updated 15 May 2019

View Version History

View License

If you have a 2D CONVEX polygone and you want to create uniform point indise it, you can use randPolygone. The function is based on another (provided) function randTriangle that work on triangle.

Uniform means each area of your polygone has the same chance to be taken.

Here are some examples:

triangle = [0,0;10,0;2,3];
losange = [0,0;2 ,1;0,2;-2,1];
carre = [0,0;2 ,0;2,2; 0,2];
hexagone = [0,0;1,0;10,1;30,8;20,8;0,5];
dodecagone = [cos(linspace(0,2*pi,13))',...
sin(linspace(0,2*pi,13))'];
dodecagone(end,:) = [] ;

rTriangle=randPolygone(triangle,1e4);
rLosange=randPolygone(losange,1e4);
rHexagone=randPolygone(hexagone,1e4);
rCarre=randPolygone(carre,1e4);
rDodecagone=randPolygone(dodecagone ,1e4);

figure
scatter(rTriangle(:,1),rTriangle(:,2),'.')

Cite As

Stephane Dauvillier (2021). Random point inside a polygone (https://www.mathworks.com/matlabcentral/fileexchange/71398-random-point-inside-a-polygone), MATLAB Central File Exchange. Retrieved .

Comments and Ratings (1)

Ilari Angervuori

Great!

MATLAB Release Compatibility
Created with R2016b
Compatible with R2016a and later releases
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!