Reputation: 168
I did a fast research on this topic and found nothing relevant so im asking here. I have a 3D model in form of mesh(trianguled) from Kinect or some other 3D scanner. What i want to do is identify homogenous plane surface such as doors,floor,tables etc in any given model
Do you know any algorithms to achieve it ? or what should i look for ? thx in advance
Upvotes: 1
Views: 1781
Reputation: 24557
What you need to look for is groups of connected facets whose normal vectors are oriented in the same direction (within some margin of error).
Connected facets are easy enough to find — they are the ones that share edges in common.
You can obtain their normal vectors by calculating the cross product of two edges, being sure to choose these edges in a consistent way (e.g., by travelling clockwise around the outside of the facet). The size of the cross product is a function of the facet's area, but can be normalized to unit length to make comparisons simpler.
Upvotes: 1