Jump to content
  • Advertisement
Sign in to follow this  
rajesh_nest

Signed distance function

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

If you intended to correct an error in the post then please contact us.

Recommended Posts

I have been reading papers on reconstruction of surface from Point clouds.

So, far my progress is not satisfactory. The concepts are not very trivial. So need help in understanding the fundamental concepts.

Almost all Surface reconstruction algorithms start with a plane creation and goes on to compute signed distance.

Though I understood, basic definition of signed distance, I am still not able figure how it can be helpful in determine the surfaces


Can anyone throw some light on it.





Thanks in advance.





Share this post


Link to post
Share on other sites
Advertisement
Well signed distance also says which "side" of the plane the point lies. "Side" is defined in relation to the plane's normal. Meshes' surface(s) have a clear definition of "inside" and "outside", so the "side" of the triangles are important: the sides/normals (which is related to "triangle winding") have to be consistent through the mesh, I guess the signed distance has to do something with that.

I have no idea how the algorithm works, so I can't tell any specific things. Perhaps if you'd tell which parts of the algorithm(s) you have problem with, you would get more help. I only know how to determine the convex 3D hull of a point cloud, but I guess that's not what you are after.

Share this post


Link to post
Share on other sites
The idea, as far as I can tell, is to represent a surface as the zero level set of a function.

Signed distance is useful for going in the other direction -- for, given a surface, producing a function that has that surface as its zero level set. It's also used in some algorithms that represent a surface by a zero-level-set and which evolve the function. Every once in a while, these algorithms will extract the surface, and replace the function by the signed distance function to the level set. This leaves the level set unchanged, but ensures that various "weird" things do not happen to the function, like it getting too flat.

Share this post


Link to post
Share on other sites

Well signed distance also says which "side" of the plane the point lies. "Side" is defined in relation to the plane's normal. Meshes' surface(s) have a clear definition of "inside" and "outside", so the "side" of the triangles are important: the sides/normals (which is related to "triangle winding") have to be consistent through the mesh, I guess the signed distance has to do something with that.

I have no idea how the algorithm works, so I can't tell any specific things. Perhaps if you'd tell which parts of the algorithm(s) you have problem with, you would get more help. I only know how to determine the convex 3D hull of a point cloud, but I guess that's not what you are after.

[font="arial, helvetica, clean, sans-serif"]
[/font][font="arial, helvetica, clean, sans-serif"]I am specifically focusing on algorithm defined research.microsoft.com/en-us/um/people/hoppe/recon.pdf [/font][font="arial, helvetica, clean, sans-serif"]This algorithm is not trivial to understand. It does the following steps[/font]


[font="arial, helvetica, clean, sans-serif"]1. Construct a Tangent plane (using normal and centroid of a neigbourhood of a point) for each point[/font]

[font="arial, helvetica, clean, sans-serif"]2. Orient Tangent plane to a consistent direction.[/font]

[font="arial, helvetica, clean, sans-serif"]3. Compute signed from tangent plane to a aribitarty point[/font]

[font="arial, helvetica, clean, sans-serif"]4. Finally to generate surface, contour the zero set of the signed distance function[/font]

[font="arial, helvetica, clean, sans-serif"][/font]

[font="arial, helvetica, clean, sans-serif"]Even after several readings of the paper, steps are not easy to digest. [/font]


What do you mean by zero level set? Could you please explain in layman's language.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!