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 :

Dessiner une ellipse [Débutant]


Sujet :

MATLAB

  1. #1
    Membre régulier Avatar de miss_angel
    Inscrit en
    Février 2008
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 210
    Points : 111
    Points
    111
    Par défaut Dessiner une ellipse


    si je dispose du centre de mon ellipse, de son axe majeur et mineur ainsi que de son orientation comment pourrai-je dessiner mon ellipse?

    Merci d'avance

  2. #2
    Membre extrêmement actif
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Points : 858
    Points
    858
    Par défaut
    Salut!

    Une solution:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    >>[x, y]=meshgrid(-20:20, -20:20);
    elipsa = x.^2+y.^2-1;
    contour(x,y,elipsa ,[0 0]);
    figure,contour(x,y,elipsa ,[0 0]);

  3. #3
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Pour l'orientation, il suffit de faire subir une rotation (selon la valeur de ton orientation) aux valeurs de x et y et de calculer elipsa sur ces nouvelles coordonnées; puis dans la fonction contour, tu rentres les coordonnées de x et y initiales.

    Enfin en tous cas, c'est comme cela que je faisais, je ne sais pas si il existe une méthode plus simple

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 308
    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 308
    Points : 52 892
    Points
    52 892
    Par défaut
    Il y a cette contribution du FEX : geom2d (voir précisément la fonction DRAWELLIPSE)

    L'avantage est que l'auteur passe régulièrement ici... donc si tu as des questions précises, n'hésite pas

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 62
    Points : 73
    Points
    73
    Par défaut
    Une autre contribution à tester au cas où ... :

    http://www.mathworks.com/matlabcentr...exchange/17536

  6. #6
    Membre régulier Avatar de miss_angel
    Inscrit en
    Février 2008
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 210
    Points : 111
    Points
    111
    Par défaut
    Oh merci beaucoup ...Je vais voir tous vos réponses
    (Un merci à Dut pour le bon placement de ma question )

  7. #7
    Membre éclairé
    Avatar de Kangourou
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 859
    Points
    859
    Par défaut
    hum, je suis démasqué...

    voila un bout de code extrait et adapté de geom2d pour dessiner une ellipse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    t = linspace(0, 2*pi, 100);
    theta = pi/6; x0 = 20; y0 = 30; a = 10; b = 5;
    xt = x0 + a*cos(t)*cos(theta) - b*sin(t)*sin(theta);
    yt = y0 + a*cos(t)*sin(theta) + b*sin(t)*cos(theta);
    plot(xt, yt, 'r');
    ou sinon avec geom2d:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    drawEllipse([x0 y0 a b theta], 'r');
    A+

  8. #8
    Membre régulier Avatar de miss_angel
    Inscrit en
    Février 2008
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 210
    Points : 111
    Points
    111
    Par défaut
    Bonjour Kangourou
    petite question à propos le t = linspace(0, 2*pi, 100);
    j'ai pas compris ça sert à quoi?(générer un espace de vecteur pour quoi faire?)
    aussi je veux vérifier les variables a=AxeMajeur, b=AxeMineur,thata=Angle de rotation d'ellipse,x0 et y0 sont les coordonnées du centre de l'ellipse...est ce c'est ça?
    Merrrrci d'avance

  9. #9
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 308
    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 308
    Points : 52 892
    Points
    52 892
    Par défaut
    Citation Envoyé par miss_angel Voir le message
    t = linspace(0, 2*pi, 100);
    Les formes sont définies selon leur équation paramétrique.

    Ici, la variable t est le paramètre theta de l'équation paramétrique de l'ellipse qu'il faut faire varier ici de 0 à 2*pi. LINSPACE permet de générer rapidement des valeurs uniformément réparties dans l'intervalle [0 2*pi]

  10. #10
    Membre régulier Avatar de miss_angel
    Inscrit en
    Février 2008
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 210
    Points : 111
    Points
    111
    Par défaut

    c'est clair Dut...merci c'est gentil de ta part
    ANGEL

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

Discussions similaires

  1. dessiner un arc dans une ellipse
    Par Golzinne dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 06/04/2011, 23h27
  2. Dessiner une ellipse en JS
    Par akrogames dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 16/10/2009, 11h54
  3. Dessiner une ellipse et une fléche
    Par Viscapon dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 17/06/2008, 22h55
  4. Réponses: 3
    Dernier message: 29/06/2005, 14h29
  5. Créer une ellipse
    Par alexthomas dans le forum C++Builder
    Réponses: 9
    Dernier message: 21/04/2004, 09h49

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