Jump to content
  • Advertisement
Sign in to follow this  
mmakrzem

How to do 3D feature detection?

This topic is 1322 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 was wondering if anyone knows of any companies or products that can do 3D feature detection.  I’m looking for any 3rd party software that I could license to do the heavy lifting for me.

 

As an example of what I’m looking for see the image below.  The 3D shape is made up of triangles.  The information that I have about the shape includes the locations of all the vertices, the faces for each triangle and their normals. What I would like to be able to do is detect interesting features about this 3D shape such as:

·         Where is the center location of the circular hole on the top face

·         Where is the midpoint of any “straight” edge on this shape

 

shape.jpg

 

Do you know of any software tools that might be able to help me?

 

Share this post


Link to post
Share on other sites
Advertisement

I would venture most 3D modeling applications would do this. Blender, for example, if you select the vertices that make up the ring, then choose median point for the 3D cursor, will select your median point for all the vertices. You have access to pretty much any information you could want regarding the object. I don't have a ton of experience of Maya, but from what I've used, it has all the same features. It's just a matter of leaning how to access the features/information you want.

Share this post


Link to post
Share on other sites

Reading the post, I don't think that's what they want. The tools can start with a 3D model, and when you select points you can operate on them.

 

 

Some of it looks like he is looking for constructive geometry libraries: add a box, subtract a cylinder, and retain knowledge that the removed points come from a box object and a cylinderobject.

 

Other parts look like he wants object registration and object identification: observe the pattern of points is basically a circle and identify it, observe the pattern of straight edges and identify it, observe the pattern of a negative cylinder and identify it, observe the pattern of a box some internal modifications and identify it.

Share this post


Link to post
Share on other sites

frob is correct.  I am looking for a library/algorithm that I can use to do object identification based on patterns detectable from vertices in my geometry.  I do not have equations for boxes, cylinders etc that may or may not have been used to construct the final shape.  I only the the vertex positions and the connectivity graph telling me how the vertices are connected to one another to form the shape.

Share this post


Link to post
Share on other sites
Have a look at Seimen's Parasolid. it's an industry standard CAD kernel used in most of the 3D applications you've heard of.. its licensed by the company I work for, for example. You can do things like feature recognition, healing, simplification. have a Google for 'Parasolid Jumpstart Kit'. Bear in mind it probably costs a shitload..

Share this post


Link to post
Share on other sites

I work directly with Parasolid and if it has feature recognition capabilities, I've never seen them. I know that other CAD packages such as Solidworks have tools to do that, but those tools may only exist within the CAD program and not within the geometry kernel itself.

 

This is actually a big area of research in the CAD world because there are standards such as IGES and STEP that just give B-spline geometry but no "feature" information. We call them "dumb bodies" because they don't tell you anything about how they were created. However, B-spline geometry can give you clues as to what certain shapes are. For example, a NURBS curve might be a circular edge based on how the control points relate to each other. But in this case, you have a curve you can test and not a string of vertices.

 

I'm sure that simple features such as holes, bosses, etc. can be extracted from the point data but it would be somewhat more involved. For example, the triangle vertices on a circular edge will have some roundoff error so you'll have to tolerance that, etc. I don't know offhand of any software tools that do this kind of thing that don't cost an arm and a leg.

Share this post


Link to post
Share on other sites
Cadjunkie sounds knowledgeable.. Made me remember that the two guys behind me are the feature recognition guys.. I just paint and intersect triangles lol

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!