-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcalc_surface_connectivity.m
More file actions
30 lines (23 loc) · 912 Bytes
/
calc_surface_connectivity.m
File metadata and controls
30 lines (23 loc) · 912 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
function surface_connectivity = calc_surface_connectivity(surface)
% calc_surface_connectivity.m
%
% Calculate surface-based connectivity matrix
%
% Input: surface : surface structure with fields
% vertices and faces
%
% Output: surface_connectivity : surface connectivity matrix [NxN]
%
% Original: James Pang, Monash University, 2021
%%
num_vertices = size(surface.vertices, 1);
num_faces = size(surface.faces, 1);
surface_connectivity = zeros(num_vertices);
for face_ind = 1:num_faces
face_interest = surface.faces(face_ind,:);
surface_connectivity(face_interest(1), face_interest(2)) = 1;
surface_connectivity(face_interest(1), face_interest(3)) = 1;
surface_connectivity(face_interest(2), face_interest(3)) = 1;
end
surface_connectivity = surface_connectivity + surface_connectivity';
surface_connectivity(surface_connectivity>0) = 1;