# Polygonizing a grid after subtracting an irregular portion

This topic is 1794 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

I have a regular grid. I need to subtract some irregular part from it as shown in the figure. I know the coordinates of the portion to be subtracted. How can I polygonize the rest of the grid after subtracting that irregular portion?  There may be a number of ways. Could any one give me some suggestions?

##### Share on other sites

I have a regular grid. I need to subtract some irregular part from it as shown in the figure. I know the coordinates of the portion to be subtracted. How can I polygonize the rest of the grid after subtracting that irregular portion? There may be a number of ways. Could any one give me some suggestions?

Construct a Delaunay triangulation from the vertices?

##### Share on other sites

Here I only know the grid points And the boundary points to be subtracted.  Boundary points may not fall within the grid points. Then with which coordintes I need to construct the delaunay triangulation? Could you explain?

##### Share on other sites

With what language?  Boost::Polygon could do what you want (C++, possibly Python)

Edited by amrazek111

##### Share on other sites

I am working on C++. Could you tell a bit more about Boost:Polygon? I have no idea about it.

##### Share on other sites

Here I only know the grid points And the boundary points to be subtracted. Boundary points may not fall within the grid points. Then with which coordintes I need to construct the delaunay triangulation? Could you explain?

Well, you could triangulate the boundary, do an intersection test of all the grid points against the triangles, remove those which intersect then retriangulate with all remaining points?

Wouldn't be particularly efficient but should work I guess...

If using python, Shapely is a nice library for stuff like this.

##### Share on other sites

When you say polygonize, what do you mean?  Triangulate?  Otherwise it's just a 4 segment polygon with a hole in it, or a many-segment polygon which will have a shared edge running from the outside to the inside hole.

##### Share on other sites

Yes, I am looking for some triangulation method suitable for my work and which will also be efficient.

I have some question. When boundaries are extracted from images, I need to know how surface or 3D model are usually reconstructed from edges. As i am doing something similar, a similar kind of aproach may helpful to me.

Here I also need to interpolate color values. That's why I preferred about constructing  a grid so that color values can be extractd at close intervals.   Please suggest me about any better or convenient approach.

##### Share on other sites

Well, for triangulation [url="http://www.cs.cmu.edu/~quake/triangle.html"]Triangle (2D)[/url] or [url="http://www.qhull.org/"]QHull (2D, 3D)[/url] might work for you.  I've only worked with Triangle, but found it easy to work with and it supports holes.

If you're trying to create a polygon mesh out of the results, it should be pretty trivial once you have your delaunay triangulation done.  As easy as creating a triangle list out of the results.

##### Share on other sites

Thank you. I am looking for some code for delaunay triangulation which takes as input as a set of points and perform triangulation. The inside whole should be reflected in the output. I know MATLAB can perform this. But I am looking for C++ code.

##### Share on other sites

Triangle does that (assuming 2D based on OP).  Nothing forces you to use it as a command line interface.

http://www.cs.cmu.edu/~quake/triangle.delaunay.html

(edit)

It comes with the source code as a zip or shar.  If your project is for commercial purposes you may have to contact them to find out how you might get a license, though.

Edited by amrazek111

##### Share on other sites

Just one question, I would like to know when boundaries are extracted from images, what is the usual way to construct surface from images, is it delaunay triangulation? Or is  there any other approach? My requirement is that I need to extract 3D geometry from the images and at the same time, it is supposed to preserve color.