Random point inside a polygone

Create random point inside a polygone
84 descargas
Actualizado 15 May 2019

Ver licencia

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

Citar como

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

Compatibilidad con la versión de MATLAB
Se creó con R2016b
Compatible con cualquier versión desde R2016a
Compatibilidad con las plataformas
Windows macOS Linux
Categorías
Más información sobre Elementary Polygons en Help Center y MATLAB Answers.

Community Treasure Hunt

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

Start Hunting!
Versión Publicado Notas de la versión
1.0.1

include the live function randTriangle

1.0.0