Perturbation aléatoire des points de la grille rectangulaire pour meshPolygon, option...
[delaunay.git] / doc / luamesh-doc.tex
index 75a1251..e2e2bdf 100644 (file)
@@ -34,7 +34,7 @@
 \newcommand*\optstar{% % optional star
   \meta{\ensuremath{*}}\xspace}
 \DefineShortVerb{\|}
-
+\newcommand\R{\mathbf{R}}
 \setlength{\fboxsep}{2pt}
 \fvset{%
   codes={\catcode`\«\active \catcode`\×\active },
@@ -67,8 +67,9 @@
   breaklines=true,
   breakindent=30pt,
   defaultdialect=[LaTeX]TeX,
-  morekeywords={buildMeshBW,buildMeshBWinc,drawPointsMesh,
-    drawPointsMeshinc, meshAddPointBW, meshAddPointBWinc}% frame=tb
+  morekeywords={buildMeshBW,buildMeshBWinc,drawPointsMesh,buildVoronoiBW,buildVoronoiBWinc,
+    drawPointsMeshinc, meshAddPointBW,
+    meshAddPointBWinc,drawGmsh,drawGmshinc,gmshVoronoi,gmshVoronoiinc}% frame=tb
 }
 
 \lstdefinelanguage{lua}
 }
 \vfill
 \begin{center}
-  Version 0.1, 25 novembre 2016\\
+  Version 0.5, 2017, February, 9th \\
   \url{http://melusine.eu.org/syracuse/G/delaunay/}
 \end{center}
 %% == Page de garde ====================================================
@@ -199,7 +200,7 @@ I would also like to thank the first user, an intensive
 
 
 Of course, you can just put the two files \Verb+luamesh.lua+ and
-\Verb+luamesh.sty+ in the working directory, but this is not
+\Verb+luamesh.sty+ in the working directory but this is not
 recommended.
 
 
@@ -212,12 +213,13 @@ To install \luamesh with \TeX live, you have to create the local
 mkdir ~/texmf
 \end{commandshell}
 
-Then place the files in the correct directories. First, the
-\Verb+luamesh.sty+ file must be in the directory:
+Then place the files in the correct directories. The
+\Verb+luamesh.sty+ file must be in directory:
 \begin{center}
   \Verb+~/texmf/tex/latex/luamesh/+
 \end{center}
-and secondly, the \Verb+luamesh.lua+ must be in the directory:
+and the \Verb+luamesh.lua+, the \Verb+luamesh-tex.lua+ and the
+\Verb-luamesh-polygon.lua+ files must be in directory:
 \begin{center}
   \Verb+~/texmf/scripts/luamesh/+
 \end{center}
@@ -230,7 +232,7 @@ with
 
 \subsection{With Mik\TeX{} and Windows}
 
-We do not know these two systems, so we refer to the
+As these two systems are unknown to the contributor, we refer to the
 documentation for integrating local additions to Mik\TeX:
 \begin{center}
   \url{http://docs.miktex.org/manual/localadditions.html}
@@ -249,26 +251,26 @@ If you want to use this package, you must compile your document with
 
 \subsection{Dependencies}
 
-This package is built upon two main existing packages to draw the
+This package is built upon two main existing packages that one used to
+draw the
 triangulations :
 \begin{enumerate}
 \item \Verb+luamplib+ to use MetaPost via the \luatex library
   \Verb+mplib+;
-\item and \Verb+tikz+.
+\item \Verb+tikz+.
 \end{enumerate}
 We will see how to choose between these two \emph{drawing engines}.
-
 Moreover, the following packages are necessary:
 \begin{enumerate}
 \item \Verb+xkeyval+ to manage the optional arguments;
-\item \Verb+xcolor+ to use colors (needed by \Verb+luamplib+);
-\item \Verb+ifthen+ to help the programming with \TeX.
+\item \Verb+xcolor+ to use colors (required by \Verb+luamplib+);
+\item \Verb+ifthen+ to help programming with \TeX.
 \end{enumerate}
 
 
 \section{The Basic Macros}
 
-Let us recall that this package provides macros to draw two
+This package provides macros to draw two
 dimensional triangulations (or meshes).
 
 \subsection{Draw a Complete Mesh}\label{sec:buildMesh}
@@ -292,7 +294,7 @@ There are several options to customize the drawing.
 \begin{optionsenum}
 \item[mode = int (default) \textme{or} ext:] this option allows to
   use either the previously described set of points in the argument, or
-  a file, containing, line by line (2 columns), the points. Such a
+  a file containing the points line by line (in 2 columns). Such a
   file looks like :
 \begin{verbatim}
 x1  y1
@@ -302,20 +304,22 @@ x3  y3
 xn yn
 \end{verbatim}
 \item[bbox = none (default) \textme{or} show:] this option allows to draw the
-  added points to form a \emph{bounding box}\footnote{The bounding
+  points  added to form the \emph{bounding box}\footnote{The bounding
     box is defined by four points place at 15\% around the box
     defined by $(x_{\min},y_{\min})$, $(x_{\min},y_{\max})$,
     $(x_{\max},y_{\max})$, and $(x_{\min},y_{\max})$. It is used by
-    the algorithm and will be computed in any case.} and the corresponding
-  triangulation. By default, these triangles are removed at the end of
+    the algorithm and will be computed in any case.} and the
+  triangles attached. By default, these triangles are removed at the end of
   the algorithm.
 \item[color = \meta{value} (default: black):] The color of the
   drawing.
 \item[colorBbox = \meta{value} (default: black):] The color of the
   drawing for the elements (points and triangles) belonging to the
   bounding box.
-\item[print = none (default) \textme{or} points:] To label the vertices of the
-  triangulation. This also adds a \emph{dot} at each vertex.
+\item[print = none (default) \textme{or} points \textme{or}
+  dotpoints:] The \Verb+point+ value allows to label the vertices of the
+  triangulation. This also adds a \emph{dot} at each vertex. The
+  \Verb+dotpoints+ value only add a dot without the labeling.
 \item[meshpoint = \meta{value} (default: P):] The letter(s) used to
   label the vertices of the triangulation. It is included in the math
   mode delimiters \Verb+$...$+. The bounding box points are labeled
@@ -355,10 +359,10 @@ file \Verb+mesh.txt+:
 \end{Exemple}
 
 \begin{warning}
-The drawing engine is not very relevant here, but it is useful to
-understand how the drawing is made. However, the engine will be
+The drawing engine is not very relevant here, although it is useful to
+understand how the drawing is produced. However, the engine will be
 relevant to
-the so called \emph{inc} macros (section~\ref{sec:inc}), for adding
+the so called \emph{inc} macros (section~\ref{sec:inc}) for adding
 code before and after the one generated by
 \luamesh.
 \end{warning}
@@ -384,7 +388,7 @@ There are several options (exactly the same as for the
 \begin{optionsenum}
 \item[mode = int (default) \textme{or} ext:] this option allows to
   use either the previously described set of points as the argument, or
-  a file, containing, line by line (2 columns), the points. Such a
+  a file containing the points line by line (in 2 columns). Such a
   file looks like :
 \begin{verbatim}
 x1  y1
@@ -394,8 +398,12 @@ x3  y3
 xn yn
 \end{verbatim}
 \item[bbox = none (default) \textme{or} show:] this option allows to draw the
-  added points to form a \emph{bounding box} and the corresponding
-  triangulation. By default, these triangles are removed at the end of
+  points  added to form the \emph{bounding box}\footnote{The bounding
+    box is defined by four points place at 15\% around the box
+    defined by $(x_{\min},y_{\min})$, $(x_{\min},y_{\max})$,
+    $(x_{\max},y_{\max})$, and $(x_{\min},y_{\max})$. It is used by
+    the algorithm and will be computed in any case.} and the
+  triangles attached. By default, these triangles are removed at the end of
   the algorithm. \emph{Here, because we plot only the vertices of the
     mesh, there are no triangles, only dots.}
 \item[color = \meta{value} (default: black):] The color of the
@@ -404,10 +412,10 @@ xn yn
   drawing for the elements (points and triangles) belonging to the
   bounding box.
 \item[print = none (default) \textme{or} points:] To label the vertices of the
-  triangulation. This also adds a \emph{dot} at each vertex. Without
-  label, there is still the dot.
+  triangulation. This also adds a \emph{dot} at each vertex. With no
+  label, the dot remains.
 \item[meshpoint = \meta{value} (default: P):] The letter(s) used to
-  label the vertices of the triangulation. It is included in the math
+  label the vertices of the triangulation. This is included in the math
   mode delimiters \Verb+$...$+. The bounding box points are labeled
   with numbers 1 to 4 and with a star exponent.
 \item[tikz (boolean, default:false):] By default, this boolean is set
@@ -441,7 +449,7 @@ section~\ref{sec:buildMesh}, we illustrate the different options.
 \commande|\meshAddPointBW[«options»]{«list of points» or «file name»}{«point» or «number of line»}|\medskip
 
 This command allows to plot the steps within the addition of a
-point in a Delaunay triangulation, by the Bowyer and Watson
+point in a Delaunay triangulation by the Bowyer and Watson
 algorithm.
 
 This macro produces the Delaunay triangulation (using the Bowyer and
@@ -455,7 +463,7 @@ and the point is of the form \verb+(x,y)+. The \meta{file name}
 and \meta{number of line}  will be explained in the option
 description.
 
-One can use the macro as fallows:
+One can use the macro as follows:
 \begin{Exemple}
   \meshAddPointBW[step=badtriangles]{(1.5,1);(4,0);(4.5,2.5);(1.81,2.14);(2.5,0.5);(2.8,1.5)}{(2.2,1.8)}
   \meshAddPointBW[step=cavity]{(1.5,1);(4,0);(4.5,2.5);(1.81,2.14);(2.5,0.5);(2.8,1.5)}{(2.2,1.8)}
@@ -474,9 +482,8 @@ There are several options (some of them are the same as for
 \Verb+\buildMeshBW+) to customize the drawing.
 \begin{optionsenum}
 \item[mode = int (default) \textme{or} ext:] this option allows to
-  use either the previously described set of point in the first
-  argument, or
-  a file containing, line by line (2 columns), the points. Such a
+  use either the previously described set of points as the argument, or
+  a file containing the points line by line (in 2 columns). Such a
   file looks like :
 \begin{verbatim}
 x1  y1
@@ -485,15 +492,17 @@ x3  y3
 ...
 xn yn
 \end{verbatim}
-For the second argument of the macro, if we are in the
+For the second argument of the macro, if we are in
 \Verb+mode = ext+, the argument must be the \emph{line number} of the file
-corresponding to the point we want to add. The algorithm will stop the
-line before to build the initial triangulation for which it will add
-the point corresponding to the line. The subsequent lines in the file are
+corresponding to the point we want to add. The algorithm will stop at the
+previous line to build the initial triangulation and proceed to add
+the point corresponding to the line requested. The subsequent lines in
+the file are
 ignored.
 \item[bbox = none (default) \textme{or} show:] this option allows to draw the
-  added points to form a \emph{bounding box} and the corresponding
-  triangulation. By default, these triangles are removed at the end of
+  added points that form the \emph{bounding box} and the triangles
+  attached. Although they are always computed, by default, these
+  triangles are removed at the end of
   the algorithm.
 \item[color = \meta{value} (default: black):] The color of the
   drawing.
@@ -502,7 +511,7 @@ ignored.
   bounding box.
 \item[colorNew = \meta{value} (default: red):] The color of the
   drawing of the ``new'' elements which are the point to add, the
-  polygon of the cavity, and the new triangles.
+  polygon delimiting the cavity, and the new triangles.
 \item[colorBack = \meta{value} (default: black!20):] The color for the
   filling of the region concerned by the addition of the new point.
 \item[colorCircle = \meta{value} (default: green):] The color for
@@ -522,7 +531,7 @@ ignored.
   the picture. With this option, \Verb+tikz+  is the \textit{drawing
     engine}.
 \item[scale = \meta{value} (default: 1cm):] The scale option defines
-  the scale at which the picture is draw (the same for the two
+  the scale at which the picture is drawn (the same for both
   axis). It must contain the unit of length (cm,
   pt, etc.).
 \end{optionsenum}
@@ -556,6 +565,105 @@ We draw the addition of the 6th point. The 7th line will be ignored.
   {mesh.txt}{6}
 \end{Exemple}
 
+\subsection{Mesh a Polygon}
+
+\commande|\meshPolygon[«options»]{«list of points» or «file name»}|\medskip
+
+
+With \luamesh, it is possible to mesh an object giving the
+\emph{border}, \emph{i.e.}, one closed polygon. The polygon is given
+as a list of points as above:
+\begin{center}
+  \verb+(x1,y1);(x2,y2);(x3,y3);...;(xn,yn)+
+\end{center}
+Once again we can also give a file of points using the \Verb+mode+
+option.
+
+This command allows to plot the steps within the building of a complete
+mesh. The followed method is, given a parameter $h$:
+\begin{itemize}
+\item to build a squared grid of points with a unit distance equal to
+  $h$;
+\item to keep the grid points inside the polygon;
+\item if necessary to add points along the polygon to respect the
+  distance parameter;
+\item to mesh the complete set of points (using the Bowyer and Watson
+  algorithm).
+\end{itemize}
+
+One can use the macro as follows:
+\begin{Exemple}
+  \meshPolygon[step=polygon,scale=2cm]{(0,0);(1,0);(1,0.5);(0,0.5);(-0.20,0.35);(-0.25,0.25);(-0.20,0.15)}
+  \meshPolygon[step=grid,scale=2cm]{(0,0);(1,0);(1,0.5);(0,0.5);(-0.20,0.35);(-0.25,0.25);(-0.20,0.15)}
+  \meshPolygon[step=points,scale=2cm]{(0,0);(1,0);(1,0.5);(0,0.5);(-0.20,0.35);(-0.25,0.25);(-0.20,0.15)}
+  \meshPolygon[step=mesh,scale=2cm]{(0,0);(1,0);(1,0.5);(0,0.5);(-0.20,0.35);(-0.25,0.25);(-0.20,0.15)}
+\end{Exemple}
+
+Note that if the points of the grid are too closed to the points of
+the refined boundary, they are ejected.
+
+\subsubsection{The Options}
+
+There are several options (some of them are the same as for
+\Verb+\buildMeshBW+) to customize the drawing.
+\begin{optionsenum}
+\item[mode = int (default) \textme{or} ext:] this option allows to
+  use either the previously described set of points as the argument, or
+  a file containing the points line by line (in 2 columns). Such a
+  file looks like :
+\begin{verbatim}
+x1  y1
+x2  y2
+x3  y3
+...
+xn yn
+\end{verbatim}
+\item[h = \meta{value} (default: 0.2):] The mesh parameter, it is the
+  unit distance for the grid. If necessary, the boundary is refined to
+  get points which respect the distance constrain.
+\item[color = \meta{value} (default: black):] The color of the
+  drawing (the grid point and the mesh).
+\item[colorPolygon = \meta{value} (default: red):] The color of the
+  drawing for the boundary polygon.
+\item[print = none (default) \textme{or} points \textme{or}
+  dotpoints:] The \Verb+point+ value allows to label the vertices of the
+  triangulation. This also adds a \emph{dot} at each vertex. The
+  \Verb+dotpoints+ value only add a dot without the labeling.
+\item[meshpoint = \meta{value} (default: P):] The letter(s) used to
+  label the vertices of the triangulation. It is included in the math
+  mode delimiters \Verb+$...$+.
+\item[step = polygon  \textme{or} grid \textme{or}
+  points \textme{or} mesh (default):] To choose the step we want to draw,
+  see the description above.
+\item[tikz (boolean, default:false):] By default, this boolean is set
+  to \Verb+false+, and MetaPost (with \Verb+luamplib+) is used to draw
+  the picture. With this option, \Verb+tikz+  is the \textit{drawing
+    engine}.
+\item[scale = \meta{value} (default: 1cm):] The scale option defines
+  the scale at which the picture is drawn (the same for both
+  axis). It must contain the unit of length (cm,
+  pt, etc.).
+\item[gridpoints = rect (default)  \textme{or} perturb:] This option
+  allows to specify the mode of generation of the grid points. The
+  value \Verb+rect+ produces a simple rectangular grid, and the value
+  \Verb+pertub+ randomly perturbs the rectangular grid.
+\end{optionsenum}
+
+Here is an example of customizing the drawing.
+\begin{Exemple}
+  \meshPolygon[
+  tikz,
+  color = blue!70,
+  meshpoint = \alpha,
+  colorPolygon=red!120,
+  scale=4cm,
+  step=mesh,
+  print=points,
+  gridpoints=perturb]
+  {(0,0);(1,0);(1,0.5);(0,0.5);(-0.20,0.35);(-0.25,0.25);(-0.20,0.15)}
+\end{Exemple}
+
+
 \section{The \emph{inc} Macros}\label{sec:inc}
 
 The three macros presented in the above sections have complementary
@@ -579,11 +687,11 @@ The three macros are:\medskip
 We consider the case where the drawing engine is MetaPost (through the
 \Verb+luamplib+ package).
 
-We describe the feature taking one macro in example but the mechanism
-and the possibilities are exactly the same for all the macros.
+The feature is described for the \Verb+\buildMeshBWinc+ but the mechanism
+and possibilities are exactly the same for all three macros.
 
 When we use the MetaPost drawing engine, the macros previously
-described produced a code of the form
+described produce a code of the form
 \begin{latexcode}
 \begin{luamplib}
   u:=<scale>;
@@ -613,24 +721,31 @@ to use the \Verb+\everymplib+ command from the \Verb+\luamplib+ package.
 
 The configurable colors
 of the \LaTeX{} macro are accessible inside the MetaPost code. For
-\Verb+\buildMeshBWinc+ and \Verb+\drawPointsMeshinc+, we have
+\Verb+\buildMeshBWinc+ and \Verb+\drawPointsMeshinc+,
 \Verb+\luameshmpcolor+,
-and \Verb+\luameshmpcolorBbox+.
-For the macro \Verb+\meshAddPointBWinc+ we have three additional
-colors : \Verb+\luameshmpcolorBack+, \Verb+\luameshmpcolorNew+, and
-\Verb+\luameshmpcolorCircle+. Of course, we can define MetoPost
-colors as well. Finally, the \Verb+luamplib+ mechanism of
+and \Verb+\luameshmpcolorBbox+ have been defined.
+For the macro \Verb+\meshAddPointBWinc+ three additional
+colors are present: \Verb+\luameshmpcolorBack+,
+\Verb+\luameshmpcolorNew+, and
+\Verb+\luameshmpcolorCircle+. For the macro \Verb+\meshPolygon+, the
+color \Verb+\luameshmpcolorPoly+ is defined. Of course, MetaPost
+colors can be defined as well. Finally, the \Verb+luamplib+ mechanism
 \Verb+\mpcolor+ is also available.
 
 \subsubsection{The Mesh Points}
 
 At the beginning of the automatically generated code, a list of
-MetaPost \Verb+pair+s are defined corresponding to all the vertices of
+MetaPost \Verb+pair+s are defined corresponding to all the vertices in
 the mesh (when the option \Verb+bbox=show+, the last 4 points are the
 \emph{bounding box points}). The points are available with the
-\Verb+MeshPoints[]+ table of variables. The \Verb+MeshPoints[i]+ are
+\Verb+MeshPoints[]+ table of variables. The \Verb+pair+s ($\R^{2}$ points)
+\Verb+MeshPoints[i]+ are
 defined using the unit length \Verb+u+.
 
+With the \Verb+\meshPolygon+ macro, we have the points of the polygon
+(refined) that are available with the
+\Verb+polygon[]+ table of variables.
+
 \subsubsection{Examples}
 
 Here is three examples for the different macros.
@@ -689,7 +804,7 @@ step=badtriangles]
 \end{Exemple}
 \begin{warning}
   The variables \Verb+MeshPoints[]+ are not defined for the argument
-  corresponding to the code to place before the code generated by
+  corresponding to the code placed \textbf{before} the code generated by
   \luamesh. Hence, to use such variables, we have to define a
   \Verb+picture+ as shown in the third example above.
 \end{warning}
@@ -697,7 +812,7 @@ step=badtriangles]
 
 \subsection{With TikZ}
 
-If we have chosen \Verb+tikz+ as the engine drawing, the added code
+If we have chosen \Verb+tikz+ as the drawing engine, the added code
 will be written in \Verb+tikz+. In that case, the two arguments
 \meta{code before} and \meta{code after} will be inserted as follows:
 \begin{latexcode}
@@ -710,12 +825,12 @@ will be written in \Verb+tikz+. In that case, the two arguments
 \end{latexcode}
 
 Because the engine is \Verb+tikz+ their is no issue with colors, the
-\LaTeX{} colors (e.g.: \Verb+xcolor+) can be directly used.
+\LaTeX{} colors (e.g.: \Verb+xcolor+) can be used directly.
 
 \subsubsection{The Mesh Points}
 
-The points of the mesh are defined here as \Verb+tikz+
-\Verb+\coordinate+ named as follows
+The mesh points  are defined here as \Verb+tikz+
+\Verb+\coordinate+ and named as follows
 \begin{latexcode}
 \coordinate (MeshPoints1) at (...,...);
 \coordinate (MeshPoints2) at (...,...);
@@ -723,7 +838,14 @@ The points of the mesh are defined here as \Verb+tikz+
 %etc.
 \end{latexcode}
 
-Once again these coordinates are not yet defined for the \meta{code
+With the \Verb+\meshPolygon+ we have also the polygon points coordinates:
+\begin{latexcode}
+\coordinate (polygon1) at (...,...);
+%etc.
+\end{latexcode}
+
+Once again these coordinates are not yet defined to be used in the
+code given by \meta{code
   before} argument.
 
 \subsubsection{Examples}
@@ -757,22 +879,22 @@ Once again these coordinates are not yet defined for the \meta{code
   }
 \end{Exemple}
 
-\section{Voronio Diagrams}
+\section{Voron Diagrams}
 
-Another interesting concept of Delaunay triangulation is that it is
-\emph{dual} to it so-called Voronio diagram. For a finite set of
-points $\{p_{1},\ldots, p_{n}\}$ in the Euclidean plane, for all
-$p_{k}$, it corresponds a Voronoi cell $R_{k}$ consisting of
-every point in the Euclidean plane whose distance to $p_{k}$ is less
+Another interesting feature of b Delaunay triangulation is that its
+\emph{dual} is the so-called Voronoï diagram. More precisely, for a
+finite set of
+points $\{p_{1},\ldots, p_{n}\}$ in the Euclidean plane, the Voronoï
+cell $R_{k}$ corresponding to $p_{k}$ is the set of
+all points in the Euclidean plane $\R^{2}$ whose distance to $p_{k}$ is less
 than
 or equal to its distance to any other $p_{k'}$.\bigskip
 
 
 \commande|\buildVoronoiBW[«options»]{«list of points» or «file  name»}|\medskip
 
-This macro produce the Voronio diagram dual to the Delaunay
-triangulation (computed by the Bowyer and Watson
-algorithm) of the given \meta{list of points}. Once again, the
+This macro produce the Voronoï diagram  of the given \meta{list of
+  points}. Once again, the
 list of
 points must be given in the following way :
 \begin{center}
@@ -790,7 +912,7 @@ There are several options to customize the drawing.
 \begin{optionsenum}
 \item[mode = int (default) \textme{or} ext:] this option allows to
   use either the previously described set of points in the argument, or
-  a file, containing, line by line (2 columns), the points. Such a
+  a file containing the points line by line (in 2 columns). Such a
   file looks like :
 \begin{verbatim}
 x1  y1
@@ -814,18 +936,19 @@ xn yn
   bounding box.
 \item[colorVoronoi = \meta{value} (default: black):] The color of the
   drawing for the elements (points and polygons) belonging to the
-  Voronoi diagram.
-\item[print = none (default) \textme{or} points:] To label the vertices of the
+  Voronoï diagram.
+\item[print = none (default) \textme{or} points:] To label the
+  vertices in the
   triangulation. Contrary to the previous macros, where
-  \Verb+print=none+,  a \emph{dot} is produced at each vertex (of the
-  set of points and on the circumcircle center which are the nodes of
-  the Voronoi diagram).
+  \Verb+print=none+,  a \emph{dot} is produced at each vertex of the
+  set of points and at the circumcircle centers which are the nodes of
+  the Voronoï diagram.
 \item[meshpoint = \meta{value} (default: P):] The letter(s) used to
-  label the vertices of the triangulation. It is included in the math
-  mode delimiters \Verb+$...$+. The bounding box points are labeled
+  label the vertices of the triangulation. This is included in the math
+  mode delimiters \Verb+$...$+. The bounding box points are labelled
   with numbers 1 to 4 and with a star exponent.
 \item[circumpoint = \meta{value} (default: P):] The letter(s) used to
-  label the vertices of the Voronoi diagram. It is included in the math
+  label the vertices of the Voronoï diagram. This is included in the math
   mode delimiters \Verb+$...$+.
 \item[tikz (boolean, default:false):] By default, this boolean is set
   to \Verb+false+, and MetaPost (with \Verb+luamplib+) is used to draw
@@ -835,19 +958,29 @@ xn yn
   the scale at which the picture is drawn (the same for both
   axes). It must contain the unit of length (cm,
   pt, etc.).
+\item[delaunay = none (default) \textme{or} show:] This option
+  allows to draw the Delaunay triangulation under the Voronoï diagram.
+\item[styleDelaunay = none (default) \textme{or} dashed:] This option
+  allows to draw the Delaunay triangulation in dashed lines.
+\item[styleVoronoi = none (default) \textme{or} dashed:] This option
+  allows to draw the Voronoï edges in dashed lines.
 \end{optionsenum}
 
+\begin{Exemple}
+  \buildVoronoiBW[tikz,delaunay=show,styleDelaunay=dashed]
+  {(0.3,0.3);(1.5,1);(4,0);(4.5,2.5);(1.81,2.14);(2.5,0.5);(2.8,1.5);(0.1,2);(1.5,-0.3)}
+\end{Exemple}
 
 \subsection{The \emph{inc} variant}
 
 Once again, a variant of the macros is available allowing the user to
 add code before and after the code produced by \luamesh. We refer to
-the section~\ref{sec:inc} because it works the same way.
+section~\ref{sec:inc} because it works the same way.
 
 Let us note that:
 \begin{itemize}
 \item with MetaPost, the circumcenters are defined using
-  \Verb+pair CircumPoints[];+, and so, are accessible.
+  \Verb+pair CircumPoints[];+ and so they are accessible.
 \item With \Verb+tikz+, there are new coordinates defined as follows
   \begin{latexcode}
     \coordinate (CircumPoints1) at (...,...);
@@ -857,21 +990,20 @@ Let us note that:
   \end{latexcode}
 \end{itemize}
 
-Finally, when the MetaPost drawing engine is used, another color is
+Finally, when the MetaPost drawing engine is used another color is
 available (see~\ref{sec:mpcolor}): \Verb+\luameshmpcolorVoronoi+.
 
-
 \section{With Gmsh}
 
-Gmsh is a open source efficient software that produces meshes. The
+Gmsh is an open source efficient software that produces meshes. The
 exporting format is the \emph{MSH ASCII file format} and can be easily
 read by a Lua program. \luamesh provides the user with dedicated
 macros to read and draw meshes coming from a Gmsh exportation.\bigskip
 
 \commande|\drawGmsh[«options»]{«file  name»}|\medskip
 
-This macro draw the triangulation produced by Gmsh and exported in the
-\Verb+msh+ format. The argument is the name of the file to read
+This macro draws the triangulation produced by Gmsh and exported in the
+\Verb+msh+ format. The argument is the name of the file to be read
 (e.g.: \Verb+maillage.msh+).
 
 \begin{Exemple}
@@ -883,12 +1015,12 @@ There are several options to customize the drawing.
 \item[color = \meta{value} (default: black):] The color of the
   drawing.
 \item[print = none (default) \textme{or} points:] To label the vertices of the
-  triangulation. Contrary to the previous macros, where
-  \Verb+print=none+,  a \emph{dot} is produced at each vertex (of the
-  set of points and on the circumcircle center which are the nodes of
-  the Voronoi diagram).
+  triangulation. Contrary to some previous macros, when
+  \Verb+print=none+  a \emph{dot} is produced at each vertex of the
+  set of points and at the circumcircle centers (these are the nodes of
+  the Voronoï diagram).
 \item[meshpoint = \meta{value} (default: P):] The letter(s) used to
-  label the vertices of the triangulation. It is included in the math
+  label the vertices of the triangulation. This is included in the math
   mode delimiters \Verb+$...$+. The bounding box points are labeled
   with numbers 1 to 4 and with a star exponent.
 \item[tikz (boolean, default:false):] By default, this boolean is set
@@ -905,10 +1037,10 @@ Here is an example:
   \drawGmsh[scale=2cm,print=points, color=blue!30]{maillage.msh}
 \end{Exemple}
 
-\subsection{Gmsh and Voronoi Diagrams}
+\subsection{Gmsh and Voronoï Diagrams}
 
-Because Gmsh generates Delaunay triangulations, we can plot the
-Voronoi diagram associated. This is done by the following macro:\bigskip
+Because Gmsh generates Delaunay triangulations, we can plot the associated
+Voronoï diagram. This is done by the following macro:\bigskip
 
 \commande|\gmshVoronoi[«options»]{«file name»}|\medskip
 
@@ -916,11 +1048,54 @@ Voronoi diagram associated. This is done by the following macro:\bigskip
   \gmshVoronoi{maillage.msh}
 \end{Exemple}
 
-We refer to the section~\ref{sec:voronoiOptions} for the list of the options.
+
+\subsection{The Options}\label{sec:voronoiOptions}
+
+
+There are several options to customize the drawing.
+\begin{optionsenum}
+\item[color = \meta{value} (default: black):] The color of the
+  drawing.
+\item[colorVoronoi = \meta{value} (default: black):] The color of the
+  drawing for the elements (points and polygons) belonging to the
+  Voronoï diagram.
+\item[print = none (default) \textme{or} points:] To label the vertices of the
+  triangulation. Contrary to some previous macros, when
+  \Verb+print=none+,  a \emph{dot} is produced at each vertex of the
+  set of points and at the circumcircle centers (these are the nodes of
+  the Voronoï diagram).
+\item[meshpoint = \meta{value} (default: P):] The letter(s) used to
+  label the vertices of the triangulation. It is included in the math
+  mode delimiters \Verb+$...$+. The bounding box points are labeled
+  with numbers 1 to 4 and with a star exponent.
+\item[circumpoint = \meta{value} (default: P):] The letter(s) used to
+  label the vertices of the Voronoï diagram. This is included in the math
+  mode delimiters \Verb+$...$+.
+\item[tikz (boolean, default:false):] By default, this boolean is set
+  to \Verb+false+, and MetaPost (with \Verb+luamplib+) is used to draw
+  the picture. With this option, \Verb+tikz+ becomes the \textit{drawing
+    engine}.
+\item[scale = \meta{value} (default: 1cm):] The scale option defines
+  the scale at which the picture is drawn (the same for both
+  axes). It must contain the unit of length (cm,
+  pt, etc.).
+\item[delaunay = none (default) \textme{or} show] This option
+  allows to draw the Delaunay triangulation overlapped with the
+  Voronoï diagram.
+\item[styleDelaunay = none (default) \textme{or} dashed] This option
+  allows to draw the Delaunay triangulation in dashed lines.
+\item[styleVoronoi = none (default) \textme{or} dashed] This option
+  allows to draw the Voronoï edges in dashed lines.
+\end{optionsenum}
+
+\begin{Exemple}
+  \gmshVoronoi[tikz,scale=1.5cm, delaunay=show,styleVoronoi=dashed]{maillage.msh}
+\end{Exemple}
+
 
 \subsection{The \emph{inc} variants}
 
-Once again, there exists \emph{inc} variant macros:\bigskip
+Once again, there exist \emph{inc} variant macros:\bigskip
 
 \commande|\drawGmshinc[«options»]{«file name»}{«code before»}{«code after»}|\medskip
 
@@ -928,10 +1103,12 @@ Once again, there exists \emph{inc} variant macros:\bigskip
 
 We refer to the previous sections for explanations.
 
+
+
 \section{Gallery}
 \subsection{With Animate}
 
-If you use \emph{adobe acrobat reader}, you can easily produce an
+If you use \emph{Adobe Acrobat reader}, you can easily produce an
 animation of the Bowyer and Watson algorithm with the package
 \Verb+animate+.
 
@@ -944,19 +1121,10 @@ For example, the following code (in a file name \Verb+animation.tex+):
   \usepackage{fontspec}
   \usepackage{multido}
   \pagestyle{empty}
-
   \def\drawPath{draw (-2,-2)*u--(8,-2)*u--(8,6)*u--(-2,6)*u--cycle  withcolor 0.99white;}
   \def\clipPath{clip currentpicture to (-2,-2)*u--(8,-2)*u--(8,6)*u--(-2,6)*u--cycle;}
-
   \begin{document}
-
-  \drawPointsMeshinc[
-  mode=ext,
-  bbox = show,
-  colorBbox = blue!20,
-  print=points
-  ]
-  {mesh.txt}%
+  \drawPointsMeshinc[mode=ext, bbox = show,colorBbox = blue!20,print=points]{mesh.txt}%
   {%
     beginfig(0);
     \drawPath
@@ -965,14 +1133,7 @@ For example, the following code (in a file name \Verb+animation.tex+):
     \clipPath
     endfig;
   }
-  \newpage
-  \buildMeshBWinc[
-  mode=ext,
-  bbox = show,
-  colorBbox = blue!20,
-  print=points
-  ]
-  {meshInit.txt}%
+  \newpage\buildMeshBWinc[mode=ext,bbox = show,colorBbox = blue!20,print=points]{meshInit.txt}%
   {%
     beginfig(0);
     \drawPath
@@ -982,16 +1143,9 @@ For example, the following code (in a file name \Verb+animation.tex+):
     endfig;
   }
   \multido{\ii=5+1}{4}{%
-    \newpage
-    \meshAddPointBWinc[
-    mode=ext,step=badtriangles,
-    colorNew =green!20!red,
-    colorBack=red!10,
-    colorCircle = blue,
-    bbox = show,
-    colorBbox = blue!20
-    ]
-    {mesh.txt}{\ii}%
+    \newpage\meshAddPointBWinc[mode=ext,step=badtriangles,colorNew
+    =green!20!red,colorBack=red!10,colorCircle = blue,bbox =
+    show,colorBbox = blue!20]{mesh.txt}{\ii}%
     {%
       beginfig(0);
       \drawPath
@@ -1000,15 +1154,9 @@ For example, the following code (in a file name \Verb+animation.tex+):
       \clipPath
       endfig;
     }   \newpage
-    \meshAddPointBWinc[
-    mode=ext,step=cavity,
-    colorNew =green!20!red,
-    colorBack=red!10,
-    colorCircle = blue,
-    bbox = show,
-    colorBbox = blue!20
-    ]
-    {mesh.txt}{\ii}%
+    \meshAddPointBWinc[mode=ext,step=cavity,colorNew
+    =green!20!red,colorBack=red!10,colorCircle = blue,bbox =
+    show,colorBbox = blue!20]{mesh.txt}{\ii}%
     {%
       beginfig(0);
       \drawPath
@@ -1017,14 +1165,9 @@ For example, the following code (in a file name \Verb+animation.tex+):
       \clipPath
       endfig;
     }  \newpage
-    \meshAddPointBWinc[
-    mode=ext,step=newtriangles,
-    colorNew =green!20!red,
-    colorBack=red!10,
-    colorCircle = blue,
-    bbox = show,
-    colorBbox = blue!20]
-    {mesh.txt}{\ii}%
+    \meshAddPointBWinc[mode=ext,step=newtriangles,colorNew
+    =green!20!red,colorBack=red!10,colorCircle = blue,bbox =
+    show,colorBbox = blue!20]{mesh.txt}{\ii}%
     {%
       beginfig(0);
       \drawPath
@@ -1035,13 +1178,7 @@ For example, the following code (in a file name \Verb+animation.tex+):
     }
   }
   \newpage
-  \buildMeshBWinc[
-  mode=ext,
-  bbox = show,
-  colorBbox = blue!20,
-  print=points
-  ]
-  {mesh.txt}%
+  \buildMeshBWinc[mode=ext,bbox = show,colorBbox = blue!20,print=points]{mesh.txt}%
   {%
     beginfig(0);
     \drawPath
@@ -1051,11 +1188,7 @@ For example, the following code (in a file name \Verb+animation.tex+):
     endfig;
   }
   \newpage
-  \buildMeshBWinc[
-  mode=ext,
-  print=points
-  ]
-  {mesh.txt}%
+  \buildMeshBWinc[mode=ext,print=points]{mesh.txt}%
   {%
     beginfig(0);
     \drawPath

Licence Creative Commons Les fichiers de Syracuse sont mis à disposition (sauf mention contraire) selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International.