Input T is a triangulation.
The purpose of this function is to query at once the cell array N of all vertex neighbor indices... of every vertices, nothing less (!)
Output N must be a cell array since of course each vertex may have a different number of neighbors.
For example, for an input filled octahedron whom triangulation is
T = [1, 2, 3;... 1, 3, 4;... 1, 4, 5;... 1, 2, 5;... 2, 3, 6;... 3, 4, 6;... 4, 5, 6;... 2, 5, 6;... 2, 3, 4;... 2, 4, 5;... 1, 2, 4;... 2, 4, 6],
then the output N is a 6x1 cell array of integers row vectors, such that :
N(1,1) = {[2, 3, 4, 5]}; N(2,1) = {[1, 3, 4, 5, 6]}; N(3,1) = {[1, 2, 4, 6]}; N(4,1) = {[1, 2, 3, 5, 6]}; N(5,1) = {[1, 2, 4, 6]}; N(6,1) = {[2, 3, 4, 5]};
Indeed vertex #2 is part of triangles [1, 2, 3], [1, 2, 5], [2, 3, 6], [2, 5, 6], [2, 3, 4], [2, 4, 5], [1, 2, 4], and [2, 4, 6], it then admit all the other vertices as neighbors ([1, 3, 4, 5, 6]).
Hypothesis / conditions :
Tip : solving my previous problems, and especially query_vertex_neighbors will help you to fully understand and solve this one.
NB : the question of unreferenced vertices is not tacled here. We just supposed there are not.
Good work Matlab-bro ! :)
Pedagogic solution is available in position 2 (commented, same as solution 1 but more explicit thus suboptimal).
Back to basics 22 - Rotate a matrix
692 Solvers
30 Solvers
19 Solvers
61 Solvers
4 Solvers