Random point inside a polygone

Create random point inside a polygone

Vous suivez désormais cette soumission

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),'.')

Citation pour cette source

Stephane Dauvillier (2026). Random point inside a polygone (https://fr.mathworks.com/matlabcentral/fileexchange/71398-random-point-inside-a-polygone), MATLAB Central File Exchange. Extrait(e) le .

Informations générales

Compatibilité avec les versions de MATLAB

  • Compatible avec les versions R2016a et ultérieures

Plateformes compatibles

  • Windows
  • macOS
  • Linux
Version Publié le Notes de version Action
1.0.1

include the live function randTriangle

1.0.0