\documentclass{article}
%% compiler avec lualatex
\usepackage[margin=2.5cm]{geometry}
\usepackage{luamesh}
\usepackage{fontspec}
\usepackage{multido}
\pagestyle{empty}
\begin{document}


% \section{MetaPost}

% \buildMeshBW[print=points,  meshpoint = I, color=red]{(0,0);(3.5,3);(7,0);(7.5,5);(1.61,3.14);(3,1);(6,1.5)}

% %\buildMeshBW[tikz, bbox = show]{(0,0);(3.5,3);(7,0);(7.5,5);(1.61,3.14);(3,1);(6,1.5)}

% \buildMeshBW[mode=ext,bbox = show, color=red,colorBbox = blue]{mesh.txt}

% \drawPointsMesh[mode=ext,bbox = show, color=red,print=points]{mesh.txt}

% \drawPointsMesh[mode=ext,bbox = show, color=red]{mesh.txt}


% \buildMeshBWinc[mode=ext,bbox = show, color=red,colorBbox = blue]{mesh.txt}{%
%   beginfig(0);
% }%
% {%
%   draw MeshPoints[3] -- MeshPoints[9];
%   endfig;
% }

% \meshAddPointBW[
% meshpoint = x,
% colorNew =green!20!red,
% colorBack=red!10,
% colorCircle = green!70,
% scale=0.6cm]
% {(0,0);(3.5,3);(7,0);(7.5,5);(1.61,3.14);(6,4)}{(3,1)}
% \meshAddPointBW[
%  color = green,
%  meshpoint = x,
%  colorBack=red!10,
%  colorNew = green!20!red,
%  scale=0.6cm,
%  step=cavity]
%  {(0,0);(3.5,3);(7,0);(7.5,5);(1.61,3.14);(6,4)}{(3,1)}
% \meshAddPointBW[
% meshpoint = x,
% colorBack=red!10,
% colorNew = green!20!red,
% scale=0.6cm,
% step=badtriangles,
% newpoint = y,
% bbox = show,
% colorBbox = black
% ]
% {(0,0);(3.5,3);(7,0);(7.5,5);(1.61,3.14);(6,4)}{(3,1)}

% \mplibcolor\myclr{red}

% \newcommand\test{draw (0,0) -- (2cm,0) withcolor \myclr;}

% \begin{mplibcode}
%   beginfig(0);
%   %\meshAddOnePoint[picture=embedded]{(0,0);(3.5,3);(7,0);(7.5,5);(1.61,3.14);(6,4)}{(3,1)}
%   \test
%   endfig;
% \end{mplibcode}

% \meshAddPointBWinc[
% meshpoint = x,
% colorBack=red!10,
% colorNew = green!20!red,
% scale=0.6cm,
% step=badtriangles,
% newpoint = y,
% bbox = show,
% colorBbox = blue!20,
% ]
% {(0,0);(3.5,3);(7,0);(7.5,5);(1.61,3.14);(6,4)}{(3,1)}{%
% beginfig(0);
% }%
% {%
%   draw (-1,-1)*u--(8.5,-1)*u--(8.5,6)*u--(-1,6)*u--cycle withcolor \mpcolor{red};
% endfig;
% }


% \section{tikz}

% \buildMeshBW[tikz,print=points,  meshpoint = I,
% color=red]{(0,0);(3.5,3);(7,0);(7.5,5);(1.61,3.14);(3,1);(6,1.5)}

% \buildMeshBW[tikz,mode=ext, color=red]{mesh.txt}

% \drawPointsMesh[tikz,mode=ext,bbox = show,
% color=red,print=points]{mesh.txt}
% \drawPointsMesh[tikz,mode=ext,bbox = show, color=red]{mesh.txt}

% \buildMeshBWinc[tikz,mode=ext,bbox = show, colorBbox = blue]{mesh.txt}{%
% }%
% {%
%   \draw[color = red] (0,0) -- (3,3);
% }

% \meshAddPointBW[
% tikz,
% color = green,
% meshpoint = x,
% colorBack=red!10,
% colorNew = green!20!red,
% scale=0.6cm,
% step=cavity]
% {(0,0);(3.5,3);(7,0);(7.5,5);(1.61,3.14);(6,4)}{(3,1)}

% \meshAddPointBWinc[
% tikz,
% meshpoint = x,
% colorBack=red!10,
% colorNew = green!20!red,
% scale=0.6cm,
% step=badtriangles,
% newpoint = y,
% bbox = show,
% colorBbox = blue!20,
% ]{(0,0);(3.5,3);(7,0);(7.5,5);(1.61,3.14);(6,4)}{(3,1)}
% {}{\draw[color=green] (0,0) -- (3,3);}

% \meshAddPointBW[
% tikz,
% meshpoint = x,
% colorBack=red!10,
% colorNew = green!20!red,
% scale=0.6cm,
% step=badtriangles,
% newpoint = y,
% bbox = show,
% colorBbox = black
% ]
% {(0,0);(3.5,3);(7,0);(7.5,5);(1.61,3.14);(6,4)}{(3,1)}


% % \def\CircumPoint{y}
% % \luampcolor
% % \directlua{
% %   buildVoronoiMP("mesh.txt","ext","points","","1cm","show")
% % }
% \buildVoronoiBW[mode=ext]{mesh.txt}
% \buildVoronoiBW[mode=ext,delaunay=show,colorVoronoi=green!60!blue]{mesh.txt}\par
% \buildVoronoiBW[mode=ext,print=points,delaunay=show,bbox=show,meshpoint=x,circumpoint=y]{mesh.txt}


% \buildVoronoiBW[tikz,mode=ext]{mesh.txt}
% \buildVoronoiBW[tikz,mode=ext,delaunay=show,colorVoronoi=green!60!blue]{mesh.txt}\par
% \buildVoronoiBW[tikz,mode=ext,print=points,delaunay=show,bbox=show,meshpoint=x,circumpoint=y]{mesh.txt}

% \buildVoronoiBWinc[mode=ext]{mesh.txt}{beginfig(0);}{endfig;}
% \buildVoronoiBWinc[tikz,mode=ext,print=points]{mesh.txt}{}{}


% \buildVoronoiBWinc[tikz,mode=ext,print=points,delaunay=show,meshpoint=x,circumpoint=y]{mesh.txt}{}{\draw[color=blue,thick] (0,0)--(3,3);}

% \def\MeshPoints{P}
% \directlua{
%   drawGmshMP("maillage.msh","points","8cm")
% }\par
% \directlua{
%   gmshVoronoiMP("maillage.msh","none","8cm","none")
% }

% \drawGmsh[tikz,scale=8cm]{maillage.msh}

% \gmshVoronoi[tikz,scale=8cm,print=points,delaunay=show]{maillage.msh}


\meshPolygon[step=polygon,scale=3cm]{(0,0);(1,0);(1,0.5);(0.5,1);(-0.3,0.3)}
\meshPolygon[step=grid,scale=3cm]{(0,0);(1,0);(1,0.5);(0.5,1);(-0.3,0.3)}
\meshPolygon[step=points,scale=3cm]{(0,0);(1,0);(1,0.5);(0.5,1);(-0.3,0.3)}
\meshPolygon[step=mesh,scale=3cm,print=dotpoints]{(0,0);(1,0);(1,0.5);(0.5,1);(-0.3,0.3)}
\end{document}
