Visualisation 3d sur matlab
Résolu/Fermé
A voir également:
- Visualisation 3d sur matlab
- Google maps satellite 3d - Guide
- Volet de visualisation - Guide
- Paint 3d mac - Télécharger - Dessin & Illustration
- Smartshow 3d - Télécharger - Visionnage & Diaporama
- Logiciel 3d architecture gratuit - Télécharger - Architecture & Déco
5 réponses
Fee Fay
Messages postés
635
Date d'inscription
vendredi 17 octobre 2008
Statut
Membre
Dernière intervention
31 mai 2009
377
3 févr. 2009 à 14:21
3 févr. 2009 à 14:21
Bonjour à tous les deux encore ;-)
Effectivement, il n'y a pas de souci pour donner des matrices à Matlab pour le plot3.
En reprenant ce qu'a écrit BELTIDOWN :
s1 liée à s5
s1 liée à s4
s1 liée à s3
s3 liée à s5
s3 liée à s2
s5 liée à s2
Cela donnerait quelque chose du genre :
Quelque chose du genre devait convenir :
Effectivement, il n'y a pas de souci pour donner des matrices à Matlab pour le plot3.
En reprenant ce qu'a écrit BELTIDOWN :
s1 liée à s5
s1 liée à s4
s1 liée à s3
s3 liée à s5
s3 liée à s2
s5 liée à s2
Cela donnerait quelque chose du genre :
P = [s1;s5;s1;s4;s1;s3;s3;s5;s3;s2;s5;s2]; plot3(reshape(P(:,1),[2 6]),reshape(P(:,2),[2 6]),reshape(P(:,3),[2 6]));Il n'en est pas question dans le message 4, mais s'il s'agit de tracer tous les segments possibles reliant les 5 points, ils ne sont pas tous tracés ici (il y en a 10 normalement). De plus, si c'est effectivement le but recherché, pour un nombre de points un peu plus important, cela risque d'être quelque peu laborieux à taper. Dans ce cas, ce ne serait pas mal d'utiliser la fonction nchoosek de Matlab pour avoir toutes les combinaisons possibles de 2 points.
Quelque chose du genre devait convenir :
%% Supposons qu'il y ait 10 points n = 10; %% Juste pour l'exemple, on choisit 10 points au hasard s = rand(n,3); s1=s(1,:);s2=s(2,:);s3=s(3,:);s4=s(4,:);s5=s(5,:);s6=s(6,:);s7=s(7,:);s8=s(8,:);s9=s(9,:);s10=s(10,:); %% Toutes les combinaisons possibles de 2 entiers choisis parmi %% 1,2,3,4,5,6,7,8,9,10 C = nchoosek((1:n),2).'; nc = nchoosek(n,2); %% On construit la chaîne de caractères à évaluer %% pour la passer en argument à plot3 C = strtrim(cellstr([num2str(reshape(C,[2*nc 1])) repmat(';',[2*nc 1])])); P = strvcat(strcat(cellstr(repmat('s',[2*nc 1])),C)).'; P = reshape(P,1,numel(P)); P = ['[' P(1:end-1) '];']; %% On évalue P P = eval(P); %% On trace plot3(reshape(P(:,1),[2 nc]),reshape(P(:,2),[2 nc]),reshape(P(:,3),[2 nc]));Bonne journée
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
2 févr. 2009 à 08:57
2 févr. 2009 à 08:57
plot3(X,Y,Z)
met X=[x1,x2,x3,x1] si tu veux fermé le triangle (pareil pour Y et Z)
met X=[x1,x2,x3,x1] si tu veux fermé le triangle (pareil pour Y et Z)
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
2 févr. 2009 à 13:57
2 févr. 2009 à 13:57
help plot3 !
plot3(x,y,z,'-')
plot3(x,y,z,'-')
merci
mais désolé je croix que tu n'a pas bien compris ma problématique
supposons que j'ai 5 sommets [ s1,s2,s3,s4,s5]
s1=[x1,y1,z1]
s2=[x2,y2,z2]
s3=[x3,y3,z3]
s4=[x4,y4,z4]
s5=[x5,y5,z5]
les liaisons ou les arrêtes entre les sommets sont:
s1 liée à s5
s1 liée à s4
s1 liée à s3
s3 liée à s5
s3 liée à s2
s5 liée à s2
danc comment on peut faire figuré ou visualisé touts les sommets et les arrêts ( visualisation des arrêts = visualisation d'un graphes ou une squelette 3D)
merci une autre fois cher monsieur
mais désolé je croix que tu n'a pas bien compris ma problématique
supposons que j'ai 5 sommets [ s1,s2,s3,s4,s5]
s1=[x1,y1,z1]
s2=[x2,y2,z2]
s3=[x3,y3,z3]
s4=[x4,y4,z4]
s5=[x5,y5,z5]
les liaisons ou les arrêtes entre les sommets sont:
s1 liée à s5
s1 liée à s4
s1 liée à s3
s3 liée à s5
s3 liée à s2
s5 liée à s2
danc comment on peut faire figuré ou visualisé touts les sommets et les arrêts ( visualisation des arrêts = visualisation d'un graphes ou une squelette 3D)
merci une autre fois cher monsieur
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
3 févr. 2009 à 08:42
3 févr. 2009 à 08:42
Ce n'est pas que je n'ai pas bien compris, c'est que tu t'es très mal expliqué.
Tu parles d'un triangle, donc trois arrêtes, et là pas de souci.
Si tu as plus de sommets, c'est plus compliqué, à ma connaissance il n'y a pas de fonction pour le faire directement.
Je pense qu'il faut alors se taper l'algorithme pour tracer toutes les arrêtes.
toujours avec plot3, tu lui donne chaque arrete à tracer. Peut être qu'en lui fournissant 3 matrices il comprendra, regarde l'aide (help plot3)
Tu parles d'un triangle, donc trois arrêtes, et là pas de souci.
Si tu as plus de sommets, c'est plus compliqué, à ma connaissance il n'y a pas de fonction pour le faire directement.
Je pense qu'il faut alors se taper l'algorithme pour tracer toutes les arrêtes.
toujours avec plot3, tu lui donne chaque arrete à tracer. Peut être qu'en lui fournissant 3 matrices il comprendra, regarde l'aide (help plot3)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question