-- 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)
-- 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
-- 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)
-- 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)
-- 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)
-- 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)
-- 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)
-- 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)
-- 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
-- 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
-- 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
-- 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
-- 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
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
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
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}
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}
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}
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}
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)
--
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)
--
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)
-- 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)
-- 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
-- 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)
-- 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)
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
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)