IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

Rendu visuel d un volume


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Novembre 2009
    Messages : 19
    Par défaut Rendu visuel d un volume
    Bonjour,

    j ai un objet volumetrique (c est l'aorte d un coeur ici).

    Le fichier test.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');
    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
    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

    mais le rendu lisse n est toujours pas la.

    Quelqu'un aurait-il une idee de pourquoi ca ne marche pas, ou de comment je pourrais faire?

    Merci!
    Fichiers attachés Fichiers attachés
    • Type de fichier : txt Ao.txt (57,7 Ko, 330 affichages)

  2. #2
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Novembre 2009
    Messages : 19
    Par défaut
    Ok, bon, en fait c etait tres simple, suffisait juste que je mette les choses au bon endroit...

    Au lieu de mettre
    il faut ajouter l option 'facelighting' directement dans patch, comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    p2 =patch('Faces',faces,'Vertices',vertices,'FaceColor','r','EdgeColor','none','FaceLighting', 'gouraud');
    Et ca marche

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [HTML 4.0] Lenteur rendu visuel d'un tableau sous IE
    Par DaYonyon dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 13/09/2010, 11h53
  2. [Question débutant] Comment obtenir le rendu visuel de plant vs zombie ou castle crashers
    Par Brotherarmy dans le forum Développement 2D, 3D et Jeux
    Réponses: 4
    Dernier message: 08/05/2010, 09h09
  3. Réponses: 6
    Dernier message: 25/03/2008, 16h47
  4. Rendu de surfaces et Volumes
    Par f56bre dans le forum Développement 2D, 3D et Jeux
    Réponses: 3
    Dernier message: 22/03/2007, 20h06
  5. [visuel]ScrollBar et StatusBar
    Par psl dans le forum Composants VCL
    Réponses: 2
    Dernier message: 24/08/2002, 21h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo