0

salam i have a delaunay triangulation from 30,000 points (x,y) using DelaunayTriangulation in MATLAB,now i have to add 100 more points(x,y) stored in h(i,j), Using these lines of code

for i=1:100
tri.Points(end+1,:)=h(i,:)
end

i have tried to figure out but i am not sure that the algorithm that runs behind the DelaunayTriangulation command in MATLAB inserts the new points by first removing the old connections and ensures that after addition of the new points the triangulation remains delaunay or i have to write the code my self for this

user1118321
  • 25,567
  • 4
  • 55
  • 86
Jav
  • 43
  • 8
  • Should you not add the points before the triangulation and then recompute the entire triangulation? – Dan Jan 23 '14 at 07:12
  • i want to kill time by doing incremental delaunay because in actual i have to add 10,000 points three times in a triangulation of 30,000 points – Jav Jan 23 '14 at 07:18
  • But does that make sense? Imagine you have 4 points making a square, that's two triangles. Now imagine adding a 5th point randomly inside the square, you'll now have 4 triangles but NONE of the originals remain. So I don't know if it really makes sense to add points to a pre-existing triangulation... – Dan Jan 23 '14 at 07:22
  • sir actually i have to do super resolution of images using delaunay, i make a triagulation from vertices of two images ,then add information from third image in triangulation and then do interpolation – Jav Jan 23 '14 at 07:24
  • for my particular case i will do surface approximation after triangulation so the more images i add , the better result i will have – Jav Jan 23 '14 at 07:25
  • But that doesn't mean you can just add points and expect all the original triangles to still remain... – Dan Jan 23 '14 at 07:25
  • no i am not expecting the triangulation to remain same what i want to know is that the steps i have mentioned below are being done by built in command or i have to write code – Jav Jan 23 '14 at 07:43
  • FOR EACH NEW VERTEX: % 1. Find which triangles' circumcircles enclose the new vertex (these triangles are now no longer Delaunay). % 2. Define an insertion polygon by finding the convex hull of the % vertices that make up all of the triangles from (1). % 3. Eliminate all edges from the original triangualation that lie % inside the insertion polygon. % 4. Connect each vertex of the insertion polygon to the inserted % vertex with a new edge to generate a new triangulation. % 5. Update the old triangulation to the new – Jav Jan 23 '14 at 07:45

1 Answers1

1

The 2D/3D Delaunay triangulations of Matlab use the CGAL libraries. In CGAL, the data structure of 2D and 3D triangulations are dynamic, and the insertion of new points in a Delaunay triangulation automatically updates the connectivity to ensure the Delaunay property of all simplexes (triangles and tetrahedra). I do not know the details of the implementation of Matlab, but it probably follows the same principles.

lrineau
  • 6,036
  • 3
  • 34
  • 47