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 :

nuage de points d'une sphere sur matlab


Sujet :

MATLAB

  1. #1
    Candidat au Club
    Inscrit en
    Août 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 7
    Points : 2
    Points
    2
    Par défaut nuage de points d'une sphere sur matlab
    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

  2. #2
    Membre éprouvé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2007
    Messages
    979
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 979
    Points : 1 256
    Points
    1 256
    Par défaut
    Salut,

    tu bloque sur un passage particulier ?
    t'as vu les fonctions SPHERE et CYLINDER ?

    ++
    AlloSchool, votre école sur internet.

  3. #3
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 52 884
    Points
    52 884
    Par défaut
    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)

  4. #4
    Candidat au Club
    Inscrit en
    Août 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    récipuration d'un fichier en format .txt ou .xyz et par la suite la recostruction
    de la forme CAO

  5. #5
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 52 884
    Points
    52 884
    Par défaut
    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)

  6. #6
    Candidat au Club
    Inscrit en
    Août 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    le probleme est dans le syntaxe du programme
    j'ai essayé mais ca marche pas

  7. #7
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 52 884
    Points
    52 884
    Par défaut
    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)

  8. #8
    Candidat au Club
    Inscrit en
    Août 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    voila par exemple le programme d'une sphere
    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
    mais quand je récupère le nuage de points je trouve que ça ne ressemble pas
    à une sphère

  9. #9
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    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.

    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 ?
    Règles du Forum

    Adepte de la maïeutique

  10. #10
    Membre éprouvé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2007
    Messages
    979
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 979
    Points : 1 256
    Points
    1 256
    Par défaut
    Salut,

    j'ai 3 remarques :

    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
    Essayes ceci :

    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.

  11. #11
    Candidat au Club
    Inscrit en
    Août 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par mr_samurai Voir le message
    Salut,

    j'ai 3 remarques :

    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
    Essayes ceci :

    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)
    ++

    mais mon frere votre programme donne un demi sphere

  12. #12
    Membre éprouvé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2007
    Messages
    979
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 979
    Points : 1 256
    Points
    1 256
    Par défaut
    Citation Envoyé par lion12 Voir le message
    mais mon frere votre programme donne un demi sphere et non complet
    Combine le code avec les remarques pour faire ton propre programme. Même si le code me parais assez explicite .

    Tu bloques sur un point particulier?

    ++
    AlloSchool, votre école sur internet.

  13. #13
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    Et puis modifies les limites des axes aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set(gca,'zlim',[-20,20])
    Ceci dit, elle a des trous cette sphère Mr Samurai

    Et donc sinon la fonction SPHERE ne te plait pas ?
    Parce qu'au moins elle elle fait des jolies sphères.
    Règles du Forum

    Adepte de la maïeutique

  14. #14
    Membre éprouvé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2007
    Messages
    979
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 979
    Points : 1 256
    Points
    1 256
    Par défaut
    Citation Envoyé par Caro-Line Voir le message
    Ceci dit, elle a des trous cette sphère Mr Samurai
    Tu as raison , mais si le but est de récupérer un nuage de point, cela devrait suffire.

    Sinon, SPHERE est bien la solution optimale .

    ++
    AlloSchool, votre école sur internet.

  15. #15
    Candidat au Club
    Inscrit en
    Août 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    MERCI POUR L'aide

  16. #16
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    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);
    Règles du Forum

    Adepte de la maïeutique

  17. #17
    Membre éprouvé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2007
    Messages
    979
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 979
    Points : 1 256
    Points
    1 256
    Par défaut
    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.

  18. #18
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    @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....
    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.
    Règles du Forum

    Adepte de la maïeutique

  19. #19
    Membre éprouvé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2007
    Messages
    979
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 979
    Points : 1 256
    Points
    1 256
    Par défaut
    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))
    chaque ligne de Sortie correspond à un point de la sphère.


    ++
    AlloSchool, votre école sur internet.

  20. #20
    Candidat au Club
    Inscrit en
    Août 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    MERCI POUR L'aide mes freres
    le probleme est resolu

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

Discussions similaires

  1. programmer une matrice sur matlab
    Par suzanne1307 dans le forum MATLAB
    Réponses: 1
    Dernier message: 26/12/2008, 18h12
  2. Réponses: 8
    Dernier message: 19/09/2008, 19h13
  3. recherche d'une fonction sur matlab
    Par omar.ayadi dans le forum MATLAB
    Réponses: 1
    Dernier message: 21/04/2008, 17h18
  4. Réponses: 4
    Dernier message: 22/05/2007, 17h08

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