Jump to content

  • Log In with Google      Sign In   
  • Create Account

Polygonizing a grid after subtracting an irregular portion


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
12 replies to this topic

#1 jenny_wui   Members   -  Reputation: 196

Like
0Likes
Like

Posted 13 February 2013 - 12:01 PM

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?

Attached Thumbnails

  • image.png


Sponsor:

#2 return0   Members   -  Reputation: 444

Like
0Likes
Like

Posted 13 February 2013 - 04:47 PM

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?

#3 jenny_wui   Members   -  Reputation: 196

Like
0Likes
Like

Posted 13 February 2013 - 05:02 PM

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?



#4 amrazek111   Members   -  Reputation: 692

Like
0Likes
Like

Posted 14 February 2013 - 07:13 AM

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


Edited by amrazek111, 14 February 2013 - 07:16 AM.


#5 jenny_wui   Members   -  Reputation: 196

Like
0Likes
Like

Posted 14 February 2013 - 09:39 AM

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



#6 return0   Members   -  Reputation: 444

Like
0Likes
Like

Posted 14 February 2013 - 12:26 PM

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.

#7 amrazek111   Members   -  Reputation: 692

Like
0Likes
Like

Posted 14 February 2013 - 06:50 PM

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.



#8 jenny_wui   Members   -  Reputation: 196

Like
0Likes
Like

Posted 15 February 2013 - 12:34 PM

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.



#9 amrazek111   Members   -  Reputation: 692

Like
0Likes
Like

Posted 15 February 2013 - 02:19 PM

Well, for triangulation Triangle (2D) or QHull (2D, 3D) 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.



#10 jenny_wui   Members   -  Reputation: 196

Like
0Likes
Like

Posted 15 February 2013 - 06:20 PM

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.



#11 amrazek111   Members   -  Reputation: 692

Like
0Likes
Like

Posted 15 February 2013 - 09:28 PM

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, 15 February 2013 - 09:31 PM.


#12 jenny_wui   Members   -  Reputation: 196

Like
0Likes
Like

Posted 18 February 2013 - 12:25 PM

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.



#13 amrazek111   Members   -  Reputation: 692

Like
0Likes
Like

Posted 18 February 2013 - 03:43 PM

If you triangulate your polygons, you'll have a set of vertices and triangles you can use for a triangle mesh.






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS