How to determine the boundary of a patch surface?

3 visualizzazioni (ultimi 30 giorni)
Niko
Niko il 5 Mar 2015
Modificato: Niko il 5 Mar 2015
For a 3D patch surface object,I want to find the edges of facets that lie on the boundary of the surface. For example, for
FV.vertices=[0,0,0;0,0,1;0,1,0;0,1,1]; FV.faces=[1,2,3;2,4,3];
I want to get an output like
[1,2;2,4;4,3;3,1]
i.e. the internal edge [2,3] is omitted. If the input patch is a closed surface (such as a convex hull), it should return an empty list.
I know I can simply loop through all edges (maybe using a hashtable) and see if they only appeared once, but it seems like it'll be very slow for larger patches. Is there a more efficient way to do this?
Thanks a lot!
Niko

Risposte (0)

Tag

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by