%-------------------------- % @Author: Jingqiao Hu % @Date: 2021-12-03 19:58:59 % @LastEditTime: 2021-12-06 16:53:59 %-------------------------- function [valid_faces] = checkValid_trimesh(nodes, faces, delta) x = nodes(:, 1); % [n, 1] x = x(faces); % [m, 3] y = nodes(:, 2); % [n, 1] y = y(faces); % [m, 3] area = 0.5 * ((x(:,1).* y(:,2) - x(:,2).*y(:,1)) + ... (x(:,2).* y(:,3) - x(:,3).*y(:,2)) + ... (x(:,3).* y(:,1) - x(:,1).*y(:,3))); [idx, ~] = find(abs(area) < delta); nfaces = size(faces, 1); vaild_idx = setdiff(1:nfaces, idx); valid_faces = faces(vaild_idx, :); % nonvalid_faces = faces(idx, :); % valid_nodes = nodes; % test = unique(valid_faces(:)); % figure; trimesh(valid_faces,nodes(:,1),nodes(:,2)); end