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 

distance entre deux droites

 
Poster un nouveau sujet   Répondre au sujet    Apprendre Maple Index du Forum -> Maple en géométrie
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
leyrassl



Inscrit le: 13 Jan 2007
Messages: 27

MessagePosté le: 16 Jan 2007 13:44    Sujet du message: distance entre deux droites Répondre en citant

bonjour,

dans le cas où deux droites ne sont pas sécantes,
je voudrai trouver la distance minimale entre celles-ci.

pour l'intersection j'ai voulu faire comme suit,
avec f(x) et g(x) les équations de droites mais apparement,
cette notation ne plaît pas :S
merci.

Code:
inter:=proc(f(x),g(x))

if f(x)=g(x) then

print(x);

print(f(x));

end if;

end proc;
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: 16 Jan 2007 14:29    Sujet du message: Répondre en citant

Bonjour, passer par les coefficients a,b,c et a1,b1,c1 des équations des deux droites D et D1 pour envisager les 3 cas: D=D1, D et D1 strictement parallèles et D et D1 sécantes.
Ceci se fait classiquement en discutant sur la nullité de certains déterminants.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
leyrassl



Inscrit le: 13 Jan 2007
Messages: 27

MessagePosté le: 16 Jan 2007 15:00    Sujet du message: Répondre en citant

bonjour, j'ai modifié mon code en conséquence,
mais il ne semble pas marcher


Code:
inter:=proc(a,b,c,a1,b1,c1)
local i,j;

f(x):=a*x^2+b*x+c;
g(x):=a1*x^2+b1*x+c1;

for i from -20 to 20 do
if f(x)=g(x) then
print(x,f(x));

else print(`non sécantes`);
end if;

end do;
end proc;


[/code]
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: 16 Jan 2007 16:53    Sujet du message: Répondre en citant

L'équation d'une droite est de la forme a*x+b*y+c=0 ici vous avez écrit celle d'une parabole... Oups!!!
Utiliser les déterminants du style
a b
a1 b1
qui vaut d1:=a*b1-a1*b.
Si d1=0, droites parallèles, sinon droites sécantes.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
leyrassl



Inscrit le: 13 Jan 2007
Messages: 27

MessagePosté le: 16 Jan 2007 17:59    Sujet du message: Répondre en citant

alors j'ai modifié mais je vois aps trop ce qu'on peut faire..
merci.


Code:
inter:=proc(a,b,c,a1,b1,c1)
local i,j;

f(x):=a*x+b*y+c;
g(x):=a1*x+b1*y+c1;

d1:=a*b1-a1*b.
# si d1=0, droites parallèles, sinon droites sécantes.

for i from -20 to 20 do
if f(x)=g(x) then
print(x,f(x));
else print(`non sécantes`);
end if;

end do;
end proc:
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
leyrassl



Inscrit le: 13 Jan 2007
Messages: 27

MessagePosté le: 16 Jan 2007 23:32    Sujet du message: intersection ou distance minimale entre droites Répondre en citant

bonsoir,
alors j'ai encore modifié,
mais je ne sais pas quoi faire de d1,
en fait je ne comprends pas vraiment
la démarche à effectuer.
merci.



Code:
inter:=proc(a,b,c,a1,b1,c1)
local i,j,S,d1,x,y;

f(x):=a*x+b*y+c;
g(x):=a1*x+b1*y+c1;


d1:=a*b1-a1*b;
# si d1=0, droites parallèles, sinon droites sécantes.

S:=solve(f(x)=g(x),{x,y});
x:=subs(S,x);
y:=subs(S,y);
print(x,y);

end proc:

# envisager les 3 cas: D=D1, D et D1 strictement parallèles et D et D1 sécantes.

# Ceci se fait classiquement en discutant sur la nullité de certains déterminants.

inter(0,2,3,0,7,-5);
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
leyrassl



Inscrit le: 13 Jan 2007
Messages: 27

MessagePosté le: 17 Jan 2007 11:29    Sujet du message: distance minimale Répondre en citant

bonjour,
je suis un peu plus réveillée ce matin,
donc j'ai fait le cas où c'est parallèle
mais si deux droites sont tangentes en plus l'infini ou quelquechose comme ça, ça ne me calculera pas de distance?
ça marche comme ça ?
merci.



Code:
> # exercice n°4

> inter:=proc(a,b,c,a1,b1,c1)

> local i,j,S,d1,x,y,D;

> f(x,y):=a*x+b*y+c;

> g(x,y):=a1*x+b1*y+c1;

> d1:=a*b1-a1*b;

>

> S:=solve({f(x,y)=g(x,y),f(x,y)=0,g(x,y)=0},{x,y});

> x:=subs(S,x);

> y:=subs(S,y);

> if solve({a*i=a1,b*i=b1},i)=NULL then print(x,y);

> elif d1=0 then

> point(A,3,f(3));

> point(B,3,g(3));

> D:=distance(A,B);

> print(`distance entre les droites`,D);

> else print(`droites non sécantes et non parallèles`);

> end if;

> end proc:

> inter(3,5,1,6,4,2,7);
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
leyrassl



Inscrit le: 13 Jan 2007
Messages: 27

MessagePosté le: 17 Jan 2007 11:38    Sujet du message: Répondre en citant

bonjour, j'ai modifié mon programme,
mais il subsiste un petit problème dans le cas où c'est parallèle:

Code:
> [color=red]inter(2,4,6,1,2,3);[/color]

Error, (in inter) wrong number (or type) of parameters in function subs



merci.

Code:
> # exercice n°4

[color=red]> inter:=proc(a,b,c,a1,b1,c1)

> local i,j,S,d1,x,y,D,s,f,g,z,y1,y2;

> f(x,y):=a*x+b*y+c;

> g(x,y):=a1*x+b1*y+c1;

> d1:=a*b1-a1*b;

>

> with(geometry):

> S:=solve({f(x,y)=g(x,y),f(x,y)=0,g(x,y)=0},{x,y});

> x:=subs(S,x);

> y:=subs(S,y);

> if solve({a*i=a1,b*i=b1},i)=NULL then print(x,y);

> elif d1=0 then

> s:=solve(f(3,y1)=0,y1);

> y1:=subs(s,y);

> z:=solve(g(3,y2)=0,y2);

> y2:=subs(z,y2);

> point(A,3,y1);

> point(B,3,y2);

> D:=distance(A,B);

> print(`distance entre les droites`,D);

> else print(`droites non sécantes et non parallèles`);

> end if;

> end proc:

> inter(3,5,1,6,4,2,7);[/color]
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 -> Maple en géométrie 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.