From d40b2486ba6be29e1e905d3b55dc7199af2abe8a Mon Sep 17 00:00:00 2001 From: "Maxime Chupin (escudo)" Date: Thu, 9 Feb 2017 00:54:38 +0100 Subject: [PATCH] =?utf8?q?Un=20peu=20de=20nettoyage=20et=20rajout=20de=20d?= =?utf8?q?=C3=A9claration=20local?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- luamesh-tex.lua | 92 +++++++------- luamesh.lua | 18 +-- test/delaunay.pdf | Bin 2486 -> 87907 bytes test/delaunay.tex | 308 +++++++++++++++++++++++----------------------- 4 files changed, 207 insertions(+), 211 deletions(-) diff --git a/luamesh-tex.lua b/luamesh-tex.lua index 1581638..56b635c 100644 --- a/luamesh-tex.lua +++ b/luamesh-tex.lua @@ -140,9 +140,9 @@ end -- buildVoronoi with MP function buildVoronoiMPBW(chaine,mode,points,bbox,scale,tri,styleD,styleV) - listPoints = buildList(chaine, mode) - triangulation = BowyerWatson(listPoints,bbox) - listVoronoi = buildVoronoi(listPoints, triangulation) + local listPoints = buildList(chaine, mode) + local triangulation = BowyerWatson(listPoints,bbox) + local listVoronoi = buildVoronoi(listPoints, triangulation) output = traceVoronoiMP(listPoints,triangulation,listVoronoi,points,tri,styleD,styleV) output = "\\leavevmode\\begin{mplibcode}beginfig(0);u:="..scale.. ";" .. output .."endfig;\\end{mplibcode}" tex.sprint(output) @@ -151,9 +151,9 @@ end -- buildVoronoi with TikZ function buildVoronoiTikZBW(chaine,mode,points,bbox,scale,tri,color,colorBbox,colorVoronoi,styleD,styleV) - listPoints = buildList(chaine, mode) - triangulation = BowyerWatson(listPoints,bbox) - listVoronoi = buildVoronoi(listPoints, triangulation) + local listPoints = buildList(chaine, mode) + local triangulation = BowyerWatson(listPoints,bbox) + local listVoronoi = buildVoronoi(listPoints, triangulation) output = traceVoronoiTikZ(listPoints,triangulation,listVoronoi,points,tri,color,colorBbox,colorVoronoi,styleD,styleV) output = "\\noindent\\begin{tikzpicture}[x=" .. scale .. ",y=" .. scale .."]" .. output .."\\end{tikzpicture}" tex.sprint(output) end @@ -161,9 +161,9 @@ end -- buildVoronoi with MP function buildVoronoiMPBWinc(chaine,beginning, ending,mode,points,bbox,scale,tri,styleD,styleV) - listPoints = buildList(chaine, mode) - triangulation = BowyerWatson(listPoints,bbox) - listVoronoi = buildVoronoi(listPoints, triangulation) + local listPoints = buildList(chaine, mode) + local triangulation = BowyerWatson(listPoints,bbox) + local listVoronoi = buildVoronoi(listPoints, triangulation) output = traceVoronoiMP(listPoints,triangulation,listVoronoi,points,tri,styleD,styleV) output = "\\leavevmode\\begin{mplibcode}u:="..scale..";"..beginning .. output .. ending .. "\\end{mplibcode}" tex.sprint(output) @@ -172,9 +172,9 @@ end -- buildVoronoi with TikZ function buildVoronoiTikZBWinc(chaine,beginning, ending,mode,points,bbox,scale,tri,color,colorBbox,colorVoronoi) - listPoints = buildList(chaine, mode,styleD,styleV) - triangulation = BowyerWatson(listPoints,bbox) - listVoronoi = buildVoronoi(listPoints, triangulation) + local listPoints = buildList(chaine, mode,styleD,styleV) + local triangulation = BowyerWatson(listPoints,bbox) + local listVoronoi = buildVoronoi(listPoints, triangulation) output = traceVoronoiTikZ(listPoints,triangulation,listVoronoi,points,tri,color,colorBbox,colorVoronoi,styleD,styleV) output = "\\noindent\\begin{tikzpicture}[x=" .. scale .. ",y=" .. scale .."]" ..beginning.. output..ending .."\\end{tikzpicture}" tex.sprint(output) @@ -258,8 +258,8 @@ end -- buildMesh with MP function buildMeshMPBW(chaine,mode,points,bbox,scale) - listPoints = buildList(chaine, mode) - triangulation = BowyerWatson(listPoints,bbox) + local listPoints = buildList(chaine, mode) + local triangulation = BowyerWatson(listPoints,bbox) output = traceMeshMP(listPoints, triangulation,points) output = "\\leavevmode\\begin{mplibcode}beginfig(0);u:="..scale.. ";" .. output .."endfig;\\end{mplibcode}" tex.sprint(output) @@ -267,8 +267,8 @@ end -- buildMesh with MP include code function buildMeshMPBWinc(chaine,beginning, ending,mode,points,bbox,scale) - listPoints = buildList(chaine, mode) - triangulation = BowyerWatson(listPoints,bbox) + local listPoints = buildList(chaine, mode) + local triangulation = BowyerWatson(listPoints,bbox) output = traceMeshMP(listPoints, triangulation,points) output = "\\leavevmode\\begin{mplibcode}u:="..scale..";"..beginning .. output .. ending .. "\\end{mplibcode}" tex.sprint(output) @@ -276,8 +276,8 @@ end -- buildMesh with TikZ function buildMeshTikZBW(chaine,mode,points,bbox,scale,color,colorBbox) - listPoints = buildList(chaine, mode) - triangulation = BowyerWatson(listPoints,bbox) + local listPoints = buildList(chaine, mode) + local triangulation = BowyerWatson(listPoints,bbox) output = traceMeshTikZ(listPoints, triangulation,points,color,colorBbox) output = "\\noindent\\begin{tikzpicture}[x=" .. scale .. ",y=" .. scale .."]" .. output .."\\end{tikzpicture}" tex.sprint(output) @@ -285,8 +285,8 @@ end -- buildMesh with TikZ function buildMeshTikZBWinc(chaine,beginning, ending,mode,points,bbox,scale,color,colorBbox) - listPoints = buildList(chaine, mode) - triangulation = BowyerWatson(listPoints,bbox) + local listPoints = buildList(chaine, mode) + local triangulation = BowyerWatson(listPoints,bbox) output = traceMeshTikZ(listPoints, triangulation,points,color,colorBbox) output = "\\noindent\\begin{tikzpicture}[x=" .. scale .. ",y=" .. scale .."]" ..beginning.. output..ending .."\\end{tikzpicture}" tex.sprint(output) @@ -352,7 +352,7 @@ end -- print points to mesh function printPointsMP(chaine,mode,points,bbox,scale) - listPoints = buildList(chaine, mode) + local listPoints = buildList(chaine, mode) if(bbox == "bbox" ) then listPoints = buildBoundingBox(listPoints) end @@ -364,7 +364,7 @@ end -- print points to mesh function printPointsMPinc(chaine,beginning, ending, mode,points,bbox,scale) - listPoints = buildList(chaine, mode) + local listPoints = buildList(chaine, mode) if(bbox == "bbox" ) then listPoints = buildBoundingBox(listPoints) end @@ -375,7 +375,7 @@ end -- print points to mesh function printPointsTikZ(chaine,mode,points,bbox,scale,color,colorBbox) - listPoints = buildList(chaine, mode) + local listPoints = buildList(chaine, mode) if(bbox == "bbox" ) then listPoints = buildBoundingBox(listPoints) end @@ -387,7 +387,7 @@ end -- print points to mesh function printPointsTikZinc(chaine,beginning, ending, mode,points,bbox,scale,color,colorBbox) - listPoints = buildList(chaine, mode) + local listPoints = buildList(chaine, mode) if(bbox == "bbox" ) then listPoints = buildBoundingBox(listPoints) end @@ -399,8 +399,8 @@ end -- buildMesh function buildRect(largeur,a,b,nbrA, nbrB) - listPoints = rectangleList(a,b,nbrA,nbrB) - triangulation = BowyerWatson(listPoints,"none") + local listPoints = rectangleList(a,b,nbrA,nbrB) + local triangulation = BowyerWatson(listPoints,"none") traceTikZ(listPoints, triangulation,largeur,"none") end @@ -409,8 +409,8 @@ end function TeXaddOnePointTikZ(listPoints,P,step,bbox,color,colorBack, colorNew, colorCircle,colorBbox) output = "" -- build the triangulation - triangulation = BowyerWatson(listPoints,bbox) - badTriangles = buildBadTriangles(P,triangulation) + local triangulation = BowyerWatson(listPoints,bbox) + local badTriangles = buildBadTriangles(P,triangulation,listPoints) for i=1,#listPoints do output = output .. "\\coordinate (MeshPoints".. i .. ") at (" .. listPoints[i].x .. "," .. listPoints[i].y .. ");" end @@ -541,8 +541,10 @@ function TeXaddOnePointMPBW(listPoints,P,step,bbox) output = ""; output = output .. "pair MeshPoints[];" -- build the triangulation + local triangulation = {} + local badTriangles = {} triangulation = BowyerWatson(listPoints,bbox) - badTriangles = buildBadTriangles(P,triangulation) + badTriangles = buildBadTriangles(P,triangulation,listPoints) for i=1,#listPoints do output = output .. "MeshPoints[".. i .. "] = (" .. listPoints[i].x .. "," .. listPoints[i].y .. ")*u;" end @@ -673,6 +675,7 @@ end function TeXOnePointTikZBW(chaine,point,step,scale,mode,bbox,color,colorBack,colorNew,colorCircle,colorBbox) + local listPoints = {} if(mode=="int") then Sx,Sy=string.match(point,"%((.+),(.+)%)") P = {x=Sx, y=Sy} @@ -687,6 +690,7 @@ function TeXOnePointTikZBW(chaine,point,step,scale,mode,bbox,color,colorBack,col end function TeXOnePointTikZBWinc(chaine,point,beginning, ending,step,scale,mode,bbox,color,colorBack,colorNew,colorCircle,colorBbox) + local listPoints = {} if(mode=="int") then Sx,Sy=string.match(point,"%((.+),(.+)%)") P = {x=Sx, y=Sy} @@ -701,6 +705,7 @@ function TeXOnePointTikZBWinc(chaine,point,beginning, ending,step,scale,mode,bbo end function TeXOnePointMPBW(chaine,point,step,scale,mode,bbox) + local listPoints = {} if(mode=="int") then Sx,Sy=string.match(point,"%((.+),(.+)%)") P = {x=Sx, y=Sy} @@ -715,6 +720,7 @@ function TeXOnePointMPBW(chaine,point,step,scale,mode,bbox) end function TeXOnePointMPBWinc(chaine,point,beginning,ending,step,scale,mode,bbox) + local listPoints = {} if(mode=="int") then Sx,Sy=string.match(point,"%((.+),(.+)%)") P = {x=Sx, y=Sy} @@ -730,14 +736,14 @@ end function drawGmshMP(file,points,scale) - listPoints,triangulation = readGmsh(file) + local listPoints,triangulation = readGmsh(file) output = traceMeshMP(listPoints,triangulation,points) output = "\\leavevmode\\begin{mplibcode}beginfig(0);u:="..scale.. ";" .. output .."endfig;\\end{mplibcode}" tex.sprint(output) end function drawGmshMPinc(file,beginning,ending,points,scale) - listPoints,triangulation = readGmsh(file) + local listPoints,triangulation = readGmsh(file) output = traceMeshMP(listPoints,triangulation,points) output = "\\leavevmode\\begin{mplibcode}u:="..scale..";"..beginning .. output .. ending .. "\\end{mplibcode}" tex.sprint(output) @@ -747,7 +753,7 @@ end -- function drawGmshTikZ(file,points,scale,color) - listPoints,triangulation = readGmsh(file) + local listPoints,triangulation = readGmsh(file) output = traceMeshTikZ(listPoints, triangulation,points,color,colorBbox) output = "\\noindent\\begin{tikzpicture}[x=" .. scale .. ",y=" .. scale .."]" .. output .."\\end{tikzpicture}" tex.sprint(output) @@ -755,7 +761,7 @@ end -- function drawGmshTikZinc(file,beginning, ending,points,scale,color) - listPoints,triangulation = readGmsh(file) + local listPoints,triangulation = readGmsh(file) output = traceMeshTikZ(listPoints, triangulation,points,color,colorBbox) output = "\\noindent\\begin{tikzpicture}[x=" .. scale .. ",y=" .. scale .."]" ..beginning.. output..ending .."\\end{tikzpicture}" tex.sprint(output) @@ -764,8 +770,8 @@ end -- buildVoronoi with MP function gmshVoronoiMP(file,points,scale,tri,styleD,styleV) - listPoints,triangulation = readGmsh(file) - listVoronoi = buildVoronoi(listPoints, triangulation) + local listPoints,triangulation = readGmsh(file) + local listVoronoi = buildVoronoi(listPoints, triangulation) output = traceVoronoiMP(listPoints,triangulation,listVoronoi,points,tri,styleD,styleV) output = "\\leavevmode\\begin{mplibcode}beginfig(0);u:="..scale.. ";" .. output .."endfig;\\end{mplibcode}" tex.sprint(output) @@ -774,8 +780,8 @@ end -- buildVoronoi with TikZ function gmshVoronoiTikZ(file,points,scale,tri,color,colorVoronoi,styleD,styleV) - listPoints,triangulation = readGmsh(file) - listVoronoi = buildVoronoi(listPoints, triangulation) + local listPoints,triangulation = readGmsh(file) + local listVoronoi = buildVoronoi(listPoints, triangulation) output = traceVoronoiTikZ(listPoints,triangulation,listVoronoi,points,tri,color,colorBbox,colorVoronoi,styleD,styleV) output = "\\noindent\\begin{tikzpicture}[x=" .. scale .. ",y=" .. scale .."]" .. output .."\\end{tikzpicture}" tex.sprint(output) end @@ -783,8 +789,8 @@ end -- buildVoronoi with MP function gmshVoronoiMPinc(file,beginning, ending,points,scale,tri,styleD,styleV) - listPoints,triangulation = readGmsh(file) - listVoronoi = buildVoronoi(listPoints, triangulation) + local listPoints,triangulation = readGmsh(file) + local listVoronoi = buildVoronoi(listPoints, triangulation) output = traceVoronoiMP(listPoints,triangulation,listVoronoi,points,tri,styleD,styleV) output = "\\leavevmode\\begin{mplibcode}u:="..scale..";"..beginning .. output .. ending .. "\\end{mplibcode}" tex.sprint(output) @@ -793,8 +799,8 @@ end -- buildVoronoi with TikZ function gmshVoronoiTikZinc(file,beginning, ending,points,scale,tri,color,colorVoronoi,styleD,styleV) - listPoints,triangulation = readGmsh(file) - listVoronoi = buildVoronoi(listPoints, triangulation) + local listPoints,triangulation = readGmsh(file) + local listVoronoi = buildVoronoi(listPoints, triangulation) output = traceVoronoiTikZ(listPoints,triangulation,listVoronoi,points,tri,color,colorBbox,colorVoronoi,styleD,styleV) output = "\\noindent\\begin{tikzpicture}[x=" .. scale .. ",y=" .. scale .."]" ..beginning.. output..ending .."\\end{tikzpicture}" tex.sprint(output) @@ -813,7 +819,6 @@ end function tracePolygonMP(polygon,points) output = ""; output = output .. "pair polygon[];" - print(#polygon) for i=1,#polygon do output = output .. "polygon[".. i .. "] = (" .. polygon[i].x .. "," .. polygon[i].y .. ")*u;" end @@ -841,11 +846,8 @@ function drawMeshPolygonMP(chaine,mode,h,step, points,scale) local polygon = buildList(chaine, mode) polygon = addPointsPolygon(polygon,h) - print(#polygon) local grid = buildGrid(polygon,h) - print(#polygon) local listPoints = addGridPoints(polygon,grid,h) - print(#polygon) if(step=="polygon") then -- the polygon output = tracePolygonMP(polygon,points) diff --git a/luamesh.lua b/luamesh.lua index 10a2084..833684e 100644 --- a/luamesh.lua +++ b/luamesh.lua @@ -13,7 +13,7 @@ end -- Delaunay meshing function BowyerWatson (listPoints,bbox) local triangulation = {} - local lgth = #listPoints + lgth = #listPoints -- add four points to listPoints to have a bounding box listPoints = buildBoundingBox(listPoints) -- the first triangle @@ -139,7 +139,6 @@ end function buildBadTriangles(point, triangulation,listPoints) local badTriangles = {} - print(#triangulation) for j=1,#triangulation do -- for all triangles A = listPoints[triangulation[j][1]] B = listPoints[triangulation[j][2]] @@ -365,14 +364,9 @@ function addPointsPolygon(polygon,h) -- if the distance between two ponits of the polygon is greater than 1.5*h if(dist>=2*h) then n = math.floor(dist/h) - print(polygon[i].x,polygon[i].y,polygon[ip].x,polygon[ip].y) step = dist/(n+1) - print("step="..step) - print("n="..n) for j=1,n do - print(j*step) a = {x=polygon[i].x+j*step*(polygon[ip].x-polygon[i].x)/dist,y=polygon[i].y+j*step*(polygon[ip].y-polygon[i].y)/dist} - print("new = "..a.x.." "..a.y) table.insert(newPolygon,k+j,a) end k=k+n @@ -427,8 +421,8 @@ end -- function give a real polygon without repeting points function cleanPoly(polygon) - polyNew = {} - polyCopy = shallowCopy(polygon) + local polyNew = {} + local polyCopy = shallowCopy(polygon) e1 = polyCopy[1][1] e2 = polyCopy[1][2] table.insert(polyNew, e1) @@ -464,7 +458,7 @@ end -- build the list of points extern and stop at nbr function buildListExt(chaine, stop) - listPoints = {} + local listPoints = {} io.input(chaine) -- open the file text=io.read("*all") lines=string.explode(text,"\n+") -- all the lines @@ -500,8 +494,8 @@ function readGmsh(file) io.input(file) -- open the file text=io.read("*all") local lines = split(text,"\n+") -- all the lines - listPoints={} - triangulation ={} + local listPoints={} + local triangulation ={} boolNodes = false Jnodes = 0 boolElements = false diff --git a/test/delaunay.pdf b/test/delaunay.pdf index 1ef9f3f2a128b69c42f47a2dc2d7c60932009570..c7e805115ffdfeffaedd66fa7fdfbe74c010a45d 100644 GIT binary patch literal 87907 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�x#68*n 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 PqR~i8FbwAC;ROB{d+W&4 diff --git a/test/delaunay.tex b/test/delaunay.tex index 83dcdfb..1837942 100644 --- a/test/delaunay.tex +++ b/test/delaunay.tex @@ -8,169 +8,169 @@ \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{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} -% \section{tikz} +\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} -% \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)} +\buildVoronoiBWinc[mode=ext]{mesh.txt}{beginfig(0);}{endfig;} +\buildVoronoiBWinc[tikz,mode=ext,print=points]{mesh.txt}{}{} -% \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); -% } +\buildVoronoiBWinc[tikz,mode=ext,print=points,delaunay=show,meshpoint=x,circumpoint=y]{mesh.txt}{}{\draw[color=blue,thick] (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") -% } +\def\MeshPoints{P} +\directlua{ + drawGmshMP("maillage.msh","points","8cm") +}\par +\directlua{ + gmshVoronoiMP("maillage.msh","none","8cm","none") +} -% \drawGmsh[tikz,scale=8cm]{maillage.msh} +\drawGmsh[tikz,scale=8cm]{maillage.msh} -% \gmshVoronoi[tikz,scale=8cm,print=points,delaunay=show]{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)} -- 2.20.1