Problem 45220. Find triangles from edge
First input is T, a Triplet list of indices -whom each row actually contains the three indices of a triangle vertices-. size(T) = [nb_triangles, 3]. Second input is e = [e1, e2], a row vector, couple of indices. Output S is the triplet list of indices which Share the edge e. For instance, if
e = [2, 4]
and T a tetrahedron
T = [1, 2, 3;... 1, 3, 4;... 1, 2, 4;... 2, 3, 4]
then the output of the function is
S = [1, 2, 4;... 2, 3, 4]
since both triangles [1, 2, 4] and [2, 3, 4] contain the edge [2, 4].
Conditions :
- If the edge is not part of any triangle in the list, the function must of course return the empty set, [].
- Edges are symmetric : [e1, e2] is the same edge as [e2, e1]
- Order of rows / edges in the output doesn't matter.
- Triangle indices are assumed always to be sorted in ascending order, T = [t1, t2, t3] with t1 < t2 < t3.
- Every indices are positive, distinct integers.
Solution Stats
Problem Comments
-
2 Comments
Info : T is actually a triangulation -list of triangles-, in which each index corresponding to the row index of a vertex in another list -a vertices list-, it is a widely used technique used to store and write triangular meshes in mesh processing. Here below the example is a tetrahedron -4 facets-.
I actually realize this problem looks like a lot to my second problem, "Find a common edge" ( https://fr.mathworks.com/matlabcentral/cody/problems/45218-find-a-common-edge ) ...
Solution Comments
Show commentsProblem Recent Solvers24
Suggested Problems
-
The Hitchhiker's Guide to MATLAB
3320 Solvers
-
988 Solvers
-
488 Solvers
-
656 Solvers
-
64 Solvers
More from this Author9
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!