Perpendiculaire commune

Utilisation de Xcas au lycée (sauf algorithmique), y compris projet d'epreuve pratique en Terminale S

Modérateur : xcasadmin

alb
Messages : 1320
Inscription : ven. août 28, 2009 3:34 pm

Perpendiculaire commune

Message par alb » sam. juil. 09, 2011 5:13 pm

Code : Tout sélectionner

PerpComm(A,B,C,D,c1n,c1b,c2n,c2b):={//les 4 derniers arguments donnent les angles droits, modifiables a posteriori 
//en fonction de l'orientation de la figure, par défaut 0.1
local Titre,D1,D2,Pc,H1,H2,P1,P2,leg,seg,par;
si type(c1n)!=DOM_FLOAT alors c1n:=0.1 fsi;
si type(c1b)!=DOM_FLOAT alors c1b:=0.1 fsi;
si type(c2n)!=DOM_FLOAT alors c2n:=0.1 fsi;
si type(c2b)!=DOM_FLOAT alors c2b:=0.1 fsi;
Titre:=titre="Perpendiculaire commune à deux droites";
D1:=droite(A,B,affichage=epaisseur_ligne_2);
D2:=droite(C,D,affichage=epaisseur_ligne_2);
Pc:=couleur(perpendiculaire_commune(D1,D2),rouge+epaisseur_ligne_2);
H1:=inter_unique(D1,Pc);
H2:=inter_unique(D2,Pc);
P1:=parallelogramme(H1+c1n*(A-H1),H1,H1+c1b*(H2-H1));
P2:=parallelogramme(H2+c2b*(H1-H2),H2,H2+c2n*(C-H2));
leg:=couleur(legende(milieu(H1,H2),"d="+simplifier(longueur(H1,H2))),bleu);
seg:=segment(H1,H2,couleur=bleu+epaisseur_ligne_6);
par:=parameq(Pc);
afficher("Une représentation paramétrique de la perpendiculaire commune aux deux droites est: ");
afficher("x="+par[0]);
afficher("y="+par[1]);
afficher("z="+par[2]);
retourne D1,D2,Pc,legende(H1,"H1"),legende(H2,"H2"),P1,P2,leg,seg;
}
J'ai essayé d'inclure Titre dans la séquence de retour. Echec !
Pourtant dans un écran de géométrie 3d on peut ajouter un titre.
Un exemple d'utilisation:
A:=point(-1,2,3);B:=point(-3,1,4);C:=point(0,2,-3);D:=point(-1,3,4);PerpComm(A,B,C,D,c1n,c1b,c2n,c2b)
On décoche Montrer les axes, on pivote/zoome, on ajuste éventuellement les derniers paramètres

Répondre