fix: surface
This commit is contained in:
parent
ac8b9c337b
commit
8cb615031e
|
@ -254,6 +254,7 @@ for i = 1:size(pts, 1)
|
||||||
end;
|
end;
|
||||||
|
|
||||||
fprintf('Calcul des points 3D termine : %d points trouves. \n', size(X, 2));
|
fprintf('Calcul des points 3D termine : %d points trouves. \n', size(X, 2));
|
||||||
|
view(80, -10);
|
||||||
|
|
||||||
%affichage du nuage de points 3D
|
%affichage du nuage de points 3D
|
||||||
figure;
|
figure;
|
||||||
|
@ -339,6 +340,7 @@ nb_barycentres = length(to_save);
|
||||||
fprintf('Retrait des tetraedres exterieurs a la forme 3D termine : %d tetraedres restants. \n',size(T,1));
|
fprintf('Retrait des tetraedres exterieurs a la forme 3D termine : %d tetraedres restants. \n',size(T,1));
|
||||||
figure;
|
figure;
|
||||||
tetramesh(triBis, T.Points);
|
tetramesh(triBis, T.Points);
|
||||||
|
view(80, -10);
|
||||||
|
|
||||||
% Sauvegarde des donnees
|
% Sauvegarde des donnees
|
||||||
save donnees;
|
save donnees;
|
|
@ -1,37 +0,0 @@
|
||||||
load donnees;
|
|
||||||
|
|
||||||
% Calcul des faces du maillage à garder
|
|
||||||
% nope = [];
|
|
||||||
% for i = 1:nb_barycentres
|
|
||||||
% tetra_i = T.Points(triBis(i, :), :);
|
|
||||||
% for j = i+1:nb_barycentres
|
|
||||||
% tetra_j = T.Points(triBis(j, :), :);
|
|
||||||
% if size(unique([tetra_i; tetra_j], 'rows'), 1) < 6
|
|
||||||
% for ki = 1:4
|
|
||||||
% tri_ki = sort(triBis(i,[1:ki - 1 ki + 1:4]));
|
|
||||||
% for kj = 1:4
|
|
||||||
% tri_kj = sort(triBis(j,[1:kj - 1 kj + 1:4]));
|
|
||||||
% if tri_ki == tri_kj
|
|
||||||
% nope = [nope; i ki; j kj];
|
|
||||||
% end
|
|
||||||
% end
|
|
||||||
% end
|
|
||||||
% end
|
|
||||||
% end
|
|
||||||
% i
|
|
||||||
% size(nope)
|
|
||||||
% end
|
|
||||||
FACES = [triBis(:, [2 3 4]); triBis(:, [1 3 4]); triBis(:, [1 2 4]); triBis(:, [1 2 3])];
|
|
||||||
FACES = sortrows(FACES);
|
|
||||||
FACESFACES(1:end-1, :) == FACES(2:end, :)
|
|
||||||
|
|
||||||
fprintf('Calcul du maillage final termine : %d faces. \n',size(FACES,1));
|
|
||||||
|
|
||||||
% Affichage du maillage final
|
|
||||||
figure;
|
|
||||||
hold on
|
|
||||||
for i = 1:size(FACES,1)
|
|
||||||
plot3([X(1,FACES(i,1)) X(1,FACES(i,2))],[X(2,FACES(i,1)) X(2,FACES(i,2))],[X(3,FACES(i,1)) X(3,FACES(i,2))],'r');
|
|
||||||
plot3([X(1,FACES(i,1)) X(1,FACES(i,3))],[X(2,FACES(i,1)) X(2,FACES(i,3))],[X(3,FACES(i,1)) X(3,FACES(i,3))],'r');
|
|
||||||
plot3([X(1,FACES(i,3)) X(1,FACES(i,2))],[X(2,FACES(i,3)) X(2,FACES(i,2))],[X(3,FACES(i,3)) X(3,FACES(i,2))],'r');
|
|
||||||
end;
|
|
|
@ -1,12 +1,10 @@
|
||||||
load donnees;
|
load donnees;
|
||||||
|
|
||||||
size(triBis)
|
|
||||||
% Calcul des faces du maillage à garder
|
% Calcul des faces du maillage à garder
|
||||||
FACES = [triBis(:, [2 3 4]); triBis(:, [1 3 4]); triBis(:, [1 2 4]); triBis(:, [1 2 3])];
|
FACES = [sort(triBis(:, [2 3 4]), 2); sort(triBis(:, [1 3 4]), 2); sort(triBis(:, [1 2 4]), 2); sort(triBis(:, [1 2 3]), 2)];
|
||||||
size(FACES)
|
|
||||||
FACES = sortrows(FACES);
|
FACES = sortrows(FACES);
|
||||||
rep = sum(FACES(1:end-1, :) == FACES(2:end, :), 2) < 3;
|
rep = sum(FACES(1:end-1, :) == FACES(2:end, :), 2) == 3;
|
||||||
FACES([0; rep] & [rep; 0], :) = [];
|
FACES([0; rep] | [rep; 0], :) = [];
|
||||||
|
|
||||||
fprintf('Calcul du maillage final termine : %d faces. \n',size(FACES,1));
|
fprintf('Calcul du maillage final termine : %d faces. \n',size(FACES,1));
|
||||||
|
|
||||||
|
@ -18,3 +16,4 @@ for i = 1:size(FACES,1)
|
||||||
plot3([X(1,FACES(i,1)) X(1,FACES(i,3))],[X(2,FACES(i,1)) X(2,FACES(i,3))],[X(3,FACES(i,1)) X(3,FACES(i,3))],'r');
|
plot3([X(1,FACES(i,1)) X(1,FACES(i,3))],[X(2,FACES(i,1)) X(2,FACES(i,3))],[X(3,FACES(i,1)) X(3,FACES(i,3))],'r');
|
||||||
plot3([X(1,FACES(i,3)) X(1,FACES(i,2))],[X(2,FACES(i,3)) X(2,FACES(i,2))],[X(3,FACES(i,3)) X(3,FACES(i,2))],'r');
|
plot3([X(1,FACES(i,3)) X(1,FACES(i,2))],[X(2,FACES(i,3)) X(2,FACES(i,2))],[X(3,FACES(i,3)) X(3,FACES(i,2))],'r');
|
||||||
end;
|
end;
|
||||||
|
view(80, -10);
|
BIN
donnees.mat
BIN
donnees.mat
Binary file not shown.
Loading…
Reference in a new issue