Bonjour,
j ai un objet volumetrique (c est l'aorte d un coeur ici).
Le fichier test.m
lit les 'vertices' et 'edges' du fichier Ao.geom (ci-joint), via la fonction ReadGeom.m:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 %Changer le repertoire du fichier ici file = 'E:\Data\HeartIn3D\data00\Ao\Ao.txt'; [vertices,faces] = ReadGeom(file); figure(); subplot(1,2,1) % Plot avec les edges axis equal p1 =patch('Faces',faces,'Vertices',vertices,'FaceColor','r','EdgeColor','k'); campos([0,0,0]) subplot(1,2,2) % Plot sans les edges axis equal daspect([1 1 1]); camlight; campos([0,0,0]) p2 =patch('Faces',faces,'Vertices',vertices,'FaceColor','r','EdgeColor','none');
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 function [vertices,faces] = ReadGeomFile(file); %% Processing fid = fopen(file,'rt'); %Skip first line 'OFF' fgetl(fid); % Get the number of vertices, faces and edges N = fscanf(fid,'%d%d%d',[1,3]); % fscanf(fid,format,taille du vecteur vertices) vertices = fscanf(fid,'%f',[3,N(1)]).'; % fscanf(fid,format,taille du vecteur faces) faces = fscanf(fid,'%f',[4,inf]).'; % Remove the first column faces(:,1)=[]; faces = 1+faces; fclose(fid);
Mon probleme est le suivant:
je ne souhaite pas afficher les 'edges' comme sur le subplot(1,2,1), je voudraits obtenir une surface "lisse".
Si j'assigne la propriete 'edgecolor' a 'none', alors je ne distingue plus l aspect volumetrique de mon aorte.
Par ajout de la commande camlight, je peux alors palier a ce probleme, mais je ne suis pas satisfaite du rendu visuel : on distingue les triangles.
Certainement, une solution serait de definir mon aorte avec un plus grand nombre de triangles. Mais je souhaiterais eviter cette solution.
J ai aussi essayer en ajoutant les options
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2lighting gouraud
mais le rendu lisse n est toujours pas la.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2lighting phong
Quelqu'un aurait-il une idee de pourquoi ca ne marche pas, ou de comment je pourrais faire?
Merci!
Partager