Apprendre Maple Index du Forum Apprendre Maple
Site dédié au logiciel de calcul formel Maple
 
  Page d'accueilPage d'accueil   FAQFAQ    RechercherRechercher    Liste des MembresListe des Membres    Groupes d'utilisateursGroupes d'utilisateurs 
S'enregistrerS'enregistrer    ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

comment construire une courbe tranformée d'une autre courbe

 
Poster un nouveau sujet   Répondre au sujet    Apprendre Maple Index du Forum -> Graphisme avec Maple
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
michel



Inscrit le: 23 Juin 2006
Messages: 72

MessagePosté le: 23 Juil 2007 13:49    Sujet du message: comment construire une courbe tranformée d'une autre courbe Répondre en citant

Bonjour je souhaite faire la translation et/ou la rotation d'une courbe implicite. Par exemple la boucle y^2=x^4*(4+x), la déplacer en translation du vecteur (3,-2) puis lui faire subir une rotation de +Pi/5. Je sais que cette courbe n'est pas considérée comme un objet, je ne peux donc pas utiliser les instructions : rotation ni translation.
De même avec la courbe paramétrée x=theta-sin(theta), y=1-cos(theta).
Je pense qu'il faut utiliser une matrice de rotation amis comment s'y prendre ? Merci.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ALS



Inscrit le: 11 Sep 2006
Messages: 647

MessagePosté le: 23 Juil 2007 17:11    Sujet du message: Répondre en citant

Bonjour, voici 4 procédures qui devraient faire l'affaire:


Code:

> translation_cartesienne:=proc(f::operator,x::name,v::vector)
>    unapply(subs(x=x-v[1],f(x))+v[2],x)
> end proc:


> f:=x->x^2: v:=vector([4,2]): g:=translation_cartesienne(f,x,v);

                                         2
                        g := x -> (x - 4)  + 2

> plot({f(x),g(x)},x=-3..8,y=-3..4);

> translation_parametree:=proc(x::operator,y::operator,t::name,v::vector)
>   unapply(x(t)+v[1],t),unapply(y(t)+v[2],t)
> end proc:

> x:=t->2*cos(t): y:=t->sin(t): z:=translation_parametree(x,y,t,v);

               z := t -> 2 cos(t) + 4, t -> sin(t) + 2

> with(plots):
> c:=plot([x(t),y(t),t=0..2*Pi],scaling=constrained): tc:=plot([z[1](t),z[2](t),t=0..2*Pi],color=green):
> display([c,tc]);
 

> rotation_cartesienne:=proc(f::operator,x::name,alpha)
> local R,v;
>   with(linalg): R:=matrix([[cos(alpha),-sin(alpha)],[sin(alpha),cos(alpha)]]);
>   v:=evalm(R&*vector([x,f(x)]));
>   unapply(v[1],x),unapply(v[2],x)
> end proc:

 
> cf:=plot(f(x),x=-10..8,y=0..10): h:=rotation_cartesienne(f,x,Pi/6);

                      1/2          2                    1/2  2
       h := x -> 1/2 3    x - 1/2 x , x -> 1/2 x + 1/2 3    x

> rf:=plot([h(x),x=-10..8],y=-2..10,color=blue): display([cf,rf]);

> rotation_parametree:=proc(x::operator,y::operator,t::name,alpha)
> local R,v;
>   with(linalg): R:=matrix([[cos(alpha),-sin(alpha)],[sin(alpha),cos(alpha)]]);
>   v:=evalm(R&*vector([x(t),y(t)]));
>   unapply(v[1],t),unapply(v[2],t)
> end proc:

 
> z:=rotation_parametree(x,y,t,Pi/6);


                            [ 1/2        ]
                            [3           ]
                            [----    -1/2]
                            [ 2          ]
                            [            ]
                            [         1/2]
                            [        3   ]
                            [1/2     ----]
                            [         2  ]


             1/2                                         1/2
  z := t -> 3    cos(t) - 1/2 sin(t), t -> cos(t) + 1/2 3    sin(t)

> rc:=plot([z[1](t),z[2](t),t=0..2*Pi],color=green):
> display([c,rc]);
 
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
michel



Inscrit le: 23 Juin 2006
Messages: 72

MessagePosté le: 24 Juil 2007 8:01    Sujet du message: equation d'une ellipse Répondre en citant

Merci beaucoup ALS.
En fait, je cherche une solution à la question suivante :
Déterminer l'équation d'une ellipse dont un foyer est F(0,3), une directrice d : x+y=1 et l'excentricité vaut 1/2.
Par des considérations geométriques on trouve a=4/3*2^1/2,
b= 2/3*2^1/2, angle Pi/4 et centre de la conique (10/3, 2/3).
L'équation réduite est donc x^2/a^2+y^2/b^2=1. Comment passer de cette équation à une équation dans le repère xOy sans utiliser les commandes Maple : ellipse, rotation, translation, Equation... Merci.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ALS



Inscrit le: 11 Sep 2006
Messages: 647

MessagePosté le: 24 Juil 2007 13:14    Sujet du message: Répondre en citant

Bonjour Michel,
L'ellipse cherchée est l'ensemble des points M(x,y) tels que le rapport des distances de M à F et à d est égal à e=1/2.


Code:

> with(geometry):
> point(M,x,y): point(F,0,3): e:=1/2: line(d,x+y=1):
> d1:=distance(M,F); d2:=distance(M,d);

                               2          2 1/2
                       d1 := (x  + (y - 3) )


                                              1/2
                     d2 := 1/2 | x + y - 1 | 2

> ellipse:=d1^2-e^2*d2^2=0;

                      2          2                    2
          ellipse := x  + (y - 3)  - 1/8 | x + y - 1 |  = 0

> ellipse:=simplify(lhs(ellipse));

                      2    2                              2
          ellipse := x  + y  - 6 y + 9 - 1/8 | x + y - 1 |

> with(plots): implicitplot(ellipse,x=-10..10,y=-10..10,numpoints=20000,scaling=constrained);
 
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
michel



Inscrit le: 23 Juin 2006
Messages: 72

MessagePosté le: 24 Juil 2007 15:25    Sujet du message: courbe reduite convertie en courbe générale Répondre en citant

Merci Als pour cette manière de procéder directe et élégante.
Ne pourrait-on pas à partir de l'équation réduite, les coordonnées du centre et l'angle de rotation trouver directement l'équation dans le repère xOy ? Merci.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ALS



Inscrit le: 11 Sep 2006
Messages: 647

MessagePosté le: 24 Juil 2007 21:31    Sujet du message: Répondre en citant

Je ne suis pas d'accord avec vos résultats. Voici ce que j'obtiens:

Code:


                  2    2
            f := x  + y  - 46/7 y + 71/7 - 2/7 x y + 2/7 x


                                                      2    2
         Forme quadratique associée:  q = -2/7 x y + y  + x


              Matrice de la forme quadratique associée:


                              [ 1      -1/7]
                         A  = [            ]
                              [-1/7     1  ]


                  Valeur propres de A  = [6/7, 8/7]


                                                [6/7     0 ]
         Matrice diagonale semblable à A:   D = [          ]
                                                [ 0     8/7]


                                              [ 1/2      1/2 ]
                                              [2        2    ]
                                              [----     ---- ]
                                              [ 2        2   ]
        Matrice de passage orthogonale:   P = [              ]
                                              [ 1/2       1/2]
                                              [2         2   ]
                                              [----    - ----]
                                              [ 2         2  ]


                Directions principales de la conique:


                    [ 1/2   1/2]        [ 1/2     1/2]
                    [2     2   ]        [2       2   ]
               I  = [----, ----],  J  = [----, - ----]
                    [ 2     2  ]        [ 2       2  ]


                 Conique à centre:   c = [1/3, 10/3]


                       Equation dans (c,I,J):


                            2      2
                         6 X    8 Y    16
                         ---- + ---- - -- = 0
                          7      7     21


                              2      2
                           9 X    3 Y
                           ---- + ---- = 1
                            8      2


                         Ellipse de centre c


               Elements caractéristiques dans (c,I,J):


                          1/2        1/2        1/2
                       2 2          6          2
                   a = ------,  b = ----,  c = ----
                         3           3          3


                 grand axe (ou axe focal):  = (c, I)


                    excentricité (0<e<1)  e = 1/2


                               sommets:


              1/2            1/2               1/2          1/2
           2 2            2 2                 6            6
      A1(- ------, 0), A2(------, 0), B1(0, - ----), B2(0, ----)
             3              3                  3            3


                               foyers:


                            1/2          1/2
                           2            2
                      F1(- ----, 0), F2(----, 0)
                            3            3


                             directrices:


                                1/2         1/2
                             4 2         4 2
                       X = - ------, X = ------
                               3           3

Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
michel



Inscrit le: 23 Juin 2006
Messages: 72

MessagePosté le: 25 Juil 2007 8:02    Sujet du message: equation d'une ellipse Répondre en citant

Merci pour votre réponse.
J'ai commis une erreur dans la transcription des données, il s'agit de F(3,0) et non F(0,3). Ma question reste la même : peut-on passer facilement et directement de l'équation réduite de la conique à son équation dans le repère xOy en sachant l'angle de rotation et la position du centre ? Merci.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ALS



Inscrit le: 11 Sep 2006
Messages: 647

MessagePosté le: 25 Juil 2007 8:04    Sujet du message: Répondre en citant

Bonjour, voici comment passer de l'équation résuite eq à l'équation dans (0i,j) notée eq2:

Code:

> eq:=9/8*X^2+3/2*Y^2-1;

                                 2      2
                              9 X    3 Y
                        eq := ---- + ---- - 1
                               8      2

> with(linalg):
> R:=matrix([[sqrt(2)/2,sqrt(2)/2],[-sqrt(2)/2,sqrt(2)/2]]);

                             [  1/2      1/2]
                             [ 2        2   ]
                             [ ----     ----]
                             [  2        2  ]
                        R := [              ]
                             [   1/2     1/2]
                             [  2       2   ]
                             [- ----    ----]
                             [   2       2  ]

> v:=evalm(R &* vector([x-1/3,y-10/3]));

       [ 1/2              1/2
       [2    (x - 1/3)   2    (y - 10/3)
  v := [-------------- + ---------------,
       [      2                 2

           1/2              1/2           ]
          2    (x - 1/3)   2    (y - 10/3)]
        - -------------- + ---------------]
                2                 2       ]

> eq2:=subs(X=v[1],Y=v[2],eq);

           / 1/2              1/2           \2
           |2    (x - 1/3)   2    (y - 10/3)|
         9 |-------------- + ---------------|
           \      2                 2       /
  eq2 := -------------------------------------
                           8

             /   1/2              1/2           \2
             |  2    (x - 1/3)   2    (y - 10/3)|
           3 |- -------------- + ---------------|
             \        2                 2       /
         + --------------------------------------- - 1
                              2

> simplify(eq2);

            21  2                     213            21  2
            -- x  + 3/8 x - 3/8 x y + --- - 69/8 y + -- y
            16                        16             16

> expand(16/21*%,x);

               2                                      2
              x  + 2/7 x - 2/7 x y + 71/7 - 46/7 y + y
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
michel



Inscrit le: 23 Juin 2006
Messages: 72

MessagePosté le: 25 Juil 2007 10:06    Sujet du message: courbe Répondre en citant

ça marche, merci beaucoup. A+
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Apprendre Maple Index du Forum -> Graphisme avec Maple Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


phpBB

Développé par phpBB © 2001, 2006 phpBB Group
Traduction par : phpBB-fr.com


Apprendre Maple - ©  - Alain Le Stang - Navigation optimisée pour une résolution 1024 x 768.