[MDX] Point Cloud!!!! Reconstruct the object!

Started by
6 comments, last by yapposai 18 years, 1 month ago
Hi, I'm on something really hard... I want to send a Point Cloud (Many Vectors3) at my object and reconstruct the object... After many reading, now I know that it's a really hard process and I would like to know if there is existing library for that.. there is some thesis on the subject and I don't have 3-4 years for that lol
Advertisement
I don't think that it is possible to do what you are talking about...

Think about it... say you receive the 8 corners of a cube. Without prior konwledge that it is a cube (which would defeat the purpose, it seems) you would have no idea if it was 2 parallel quads, a cube with a side missing, any combination of quads (sides), or even any combination of triangles comprised of the 8 points.

Get friendly with the SIGGRAPH and related conference proceedings. I can't think of any specific references off the top of my head, but there are a lot of algorithms that have been published on this topic.

It shouldn't be too hard to write up one of these algorithms in your language of choice. It's little more than glorified copy-n-paste [wink]

You need to define your problem more specically though - does the point cloud represent (roughly) a surface, or is it representing a volume?

I've seen algorithms that start with a large sphere/box that surround all points and slowly contract to fit the outer surface, and I've also seen the opposite that start as an infinitely small sphere/box in the middle and expand outwards filling the inner area defined by the points. Both have their pro's and con's depending on what your particular dataset represents.

hth
Jack

<hr align="left" width="25%" />
Jack Hoxley <small>[</small><small> Forum FAQ | Revised FAQ | MVP Profile | Developer Journal ]</small>

Thanks a lot jollyjeffers !! I already want to write my own algrithm and now i know a little bit more where i go!
Yes, it would work if you have some knowledge of the surface, and only under extrememly controlled circumstances. If you know that it is a surface, with severe restrictions of convex sections, you can construct a volume/surface from those points.

I didn't realize you were working under such restrictive assumptions.
Check out Hugues Hoppe's work, scroll down to "Surface reconstruction from unorganized points."
You could certainly begin by finding the convex hull of all the points; that should be easy.

Beyond that... I dunno, only allow an edge to be created between two vertices if the edge is under a certain length? That would stop two seperate clouds from getting surfaces stretching between them.

Richard "Superpig" Fine - saving pigs from untimely fates - Microsoft DirectX MVP 2006/2007/2008/2009
"Shaders are not meant to do everything. Of course you can try to use it for everything, but it's like playing football using cabbage." - MickeyMouse

I believe Delaunay Triangulation can be used to convert a point cloud
into a representative 3d model.

here is a link which may be helpful:

http://www.ics.uci.edu/~eppstein/gina/delaunay.html

---------------Magic is real, unless declared integer.- the collected sayings of Wiz Zumwalt

This topic is closed to new replies.

Advertisement