salut
mon probleme est comme suite:
je veut en premiere lieu programmé les equation des formes classique (sphere,cube ,parllelepede .....)
1- je veut recipuré les points x,y,z
2-tracé en 3d la forme souhité
merci infiniement
salut
mon probleme est comme suite:
je veut en premiere lieu programmé les equation des formes classique (sphere,cube ,parllelepede .....)
1- je veut recipuré les points x,y,z
2-tracé en 3d la forme souhité
merci infiniement
Salut,
tu bloque sur un passage particulier ?
t'as vu les fonctions SPHERE et CYLINDER ?
++
AlloSchool, votre école sur internet.
A quoi cela va-t-il servir ?
Quel est le contexte de l'étude ?
Ingénieur indépendant en mécatronique - Conseil, conception et formation
- Conception mécanique (Autodesk Fusion 360)
- Impression 3D (Ultimaker)
- Développement informatique (Python, MATLAB, C)
- Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)
« J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)
récipuration d'un fichier en format .txt ou .xyz et par la suite la recostruction
de la forme CAO
Et donc... c'est quoi le problème au juste ?
Ingénieur indépendant en mécatronique - Conseil, conception et formation
- Conception mécanique (Autodesk Fusion 360)
- Impression 3D (Ultimaker)
- Développement informatique (Python, MATLAB, C)
- Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)
« J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)
le probleme est dans le syntaxe du programme
j'ai essayé mais ca marche pas
Montre nous le code et dis nous clairement ce que tu cherches à faire
Ingénieur indépendant en mécatronique - Conseil, conception et formation
- Conception mécanique (Autodesk Fusion 360)
- Impression 3D (Ultimaker)
- Développement informatique (Python, MATLAB, C)
- Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)
« J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)
voila par exemple le programme d'une sphere
mais quand je récupère le nuage de points je trouve que ça ne ressemble pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 A=[]; for x=-20:1:20 for y=-20:1:20 z=sqrt(x.^2+y.^2).^0.5; A=[A;x,y,z]; end end
à une sphère
J'ai de gros doutes sur ton équation...
Même si mes souvenirs sont rouillés.
Déjà là :Tu appliques 2 fois la racine carrée : une fois avec sqrt et une fois avec .^0.5.
Code : Sélectionner tout - Visualiser dans une fenêtre à part sqrt(x.^2+y.^2).^0.5
De plus tu ne peux pas y arriver avec juste un vecteur x et un vecteur y, puisque pour une sphère, pour un couple (x,y) donné tu peux avoir 2 z différents.
Exemple : pour une sphère de rayon 1 centrée en (0,0,0), si x,y=0,0 on a z=-1 et z=1.
Et dans ton équation d'ailleurs il semblerait que le rayon ne soit pas pris en compte.
Mais bon tout ça est plus un problème de mathématiques au départ que de MATLAB.
As-tu regarder la fonction SPHERE ce serait plus simple ?
Salut,
j'ai 3 remarques :
Essayes ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 %-- 1 % ici tu fait (x^2 + y^2).^(1/4) sqrt(x.^2+y.^2).^0.5 %-- 2 % Pour un sphère : Z = sqrt( R^2 -X^2 - Y^2); %-- 2 % Il faut rajouter -Z sinon tu obtiens un hémisphère
++
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 clc xx = -20:0.5:20; yy = -20:0.5:20; R = 20; [X Y] = meshgrid(xx,yy); Z = sqrt(R^2 - X.^2 - Y.^2); Z(imag(Z)~= 0) = nan; surf(X,Y,Z) axis equal hold on surf(X,Y,-Z)
AlloSchool, votre école sur internet.
AlloSchool, votre école sur internet.
Et puis modifies les limites des axes aussi
Ceci dit, elle a des trous cette sphère Mr Samurai
Code : Sélectionner tout - Visualiser dans une fenêtre à part set(gca,'zlim',[-20,20])
Et donc sinon la fonction SPHERE ne te plait pas ?
Parce qu'au moins elle elle fait des jolies sphères.
AlloSchool, votre école sur internet.
MERCI POUR L'aide
Ce que tu veux n'est toujours pas clair...
Qu'est-ce qui ne te va pas dans ce que tu obtiens ?
A quoi veux-tu que tes données ressemblent ?
Je le redemande : pourquoi n'utilises-tu pas la fonction SPHERE puisque ce que tu veux c'est juste les points ?
Exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 [x,y,z]=sphere(40);%donne une sphere de rayon 1 centree en (0,0,0) %donc on multiplie par 20 pour avoir un rayon 20 x=20*x;y=20*y;z=20*z; surf(x,y,z);
Complément au code de Caroline :
++
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Sortie = [x(:) y(:) z(:)];
AlloSchool, votre école sur internet.
@samurai : hum, t'es sur ?
Parce que SPHERE retourne quand même 3 matrices et non pas des vecteurs, et si on fait comme tu dis,ne donne plus du tout la même chose....
Code : Sélectionner tout - Visualiser dans une fenêtre à part surf(Sortie)
Ou alors j'ai rien compris
Mais c'est vrai qu'il a l'air de vouloir une matrice N*3, donc SPHERE ne conviendrait pas.
chaque ligne de Sortie correspond à un point de la sphère.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 [x,y,z]=sphere(40); x=20*x; y=20*y; z=20*z; Sortie = [x(:) y(:) z(:)]; scatter3(Sortie(:,1), Sortie(:,2), Sortie(:,3))
++
AlloSchool, votre école sur internet.
MERCI POUR L'aide mes freres
le probleme est resolu
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager