Problem 45262. Remove duplicated vertices
First input V_in is a vertices list (X Y Z coordinates) which may contain duplicata (identical rows).
Second input T_in is the corresponding triangulation , in which each integer represents the row index of the vertex in the list V_in.
First output V_out -the easiest to compute- is the list of vertices without duplicata.
Second output T_out is a bit more tricky to compute : once you get rid of duplicated vertices, you of course have to update their corresponding indices in the triangulation array. The resulting table is T_out which admit no duplicated triangle.
NB : triangle orientations in T_out doesn't matter : [i1 i2 i3] is the same as [i3 i2 i1] for instance
Example on a regular octahedron included in the unit sphere :
V_in = [0 0 1;... sqrt(2) sqrt(2) 0;... -sqrt(2) sqrt(2) 0;... 0 0 1;... -sqrt(2) -sqrt(2) 0;... sqrt(2) sqrt(2) 0;... sqrt(2) -sqrt(2) 0;... 0 0 -1];
T_in = [1, 2, 3;... 1, 3, 5;... 4, 5, 7;... 2, 4, 7;... 2, 3, 8;... 3, 5, 8;... 5, 7, 8;... 2, 7, 8];
V_out = [0 0 1;... sqrt(2) sqrt(2) 0;... -sqrt(2) sqrt(2) 0;... -sqrt(2) -sqrt(2) 0;... sqrt(2) -sqrt(2) 0;... 0 0 -1];
T_out = [1, 2, 3;... 1, 2, 5;... 1, 3, 4;... 1, 4, 5;... 2, 3, 6;... 2, 5, 6;... 3, 4, 6;... 4, 5, 6];
That's all folks ! (for today at least)
Good work Matlab bro ! :)
Solution Stats
Problem Comments
-
1 Comment
This function is actually one basics of any mesh processing librairy / software.
Solution Comments
Show commentsProblem Recent Solvers20
Suggested Problems
-
"Low : High - Low : High - Turn around " -- Create a subindices vector
540 Solvers
-
Make a vector of prime numbers
643 Solvers
-
Back to basics - mean of corner elements of a matrix
416 Solvers
-
Rule of mixtures (composites) - lower and upper bounds
69 Solvers
-
Convert decimal to binary and then generate the minimum binary it can with jumbling
86 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!