You are now following this Submission
- You will see updates in your followed content feed
- You may receive emails, depending on your communication preferences
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 (2026). Random point inside a polygone (https://in.mathworks.com/matlabcentral/fileexchange/71398-random-point-inside-a-polygone), MATLAB Central File Exchange. Retrieved .
General Information
- Version 1.0.1 (65.8 KB)
MATLAB Release Compatibility
- Compatible with R2016a and later releases
Platform Compatibility
- Windows
- macOS
- Linux
