How can I pick certain element from each row of an array ?
1 view (last 30 days)
Show older comments
I already have an array CF [ 1 2 3; 2 3 4]
How can I create an for loop that give me an array CE [ 1 2; 2 3; 3 1; 3 4; 4 2] ?
Each row of CF represent a face of an triangle. Each row of CE represents the edges of the face.
Thank you
1 Comment
Accepted Answer
Fabio Freschi
on 9 Nov 2019
I see that the edges shared by two triangles are not duplicated. To check for this case I sorted the nodes and the edges. Let me know if it is ok:
CF = [ 1 2 3; 2 3 4];
% sorted nodes (always increasing node)
CFs = sort(CF,2);
% remove repetitions and get edges
CE = unique(reshape(CF(:,[1 2 2 3 1 3]).',2,3*size(CF,1)).','rows')
More Answers (0)
See Also
Categories
Find more on Geometric Transformation and Image Registration in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!