Problème avec "lieu"

Utilisation de Xcas

Modérateur : xcasadmin

slejoly
Messages : 194
Inscription : sam. oct. 14, 2006 10:17 am
Localisation : Lorient

Problème avec "lieu"

Message par slejoly » sam. juin 02, 2007 3:20 pm

Bonjour
je construis la figure relative à l'épreuve pratique 12 du bac S :

Je vous donne les commandes :

OY:=droite(x=0):;


t:=element((-10) .. 10,-5.6)

A:=element(OY,t)

OX:=droite(y=0):;

Cercle1:=cercle(A,6):;

C:=inter(Cercle1,OX)[0]

segment(A,C)

I:=milieu(A,C)

D:=mediatrice(A,I):;

Cercle2:=cercle(A,3):;

B:=inter(D,Cercle2)[1];

triangle(A,B,C)

L1:=lieu(I,A)

{\em // Warning: y OX Cercle1 declared as global variable(s)\\
\/} \\
{\em "inter Unable to check sign: (1*abs(` t`)){\tt\symbol{62}}6"\/} \\

L2:=lieu(B,A)

{\em // Warning: y OX Cercle1 D Cercle2 declared as global variable(s)\\
\/} \\
{\em "inter Unable to check sign: (1*abs(` t`)){\tt\symbol{62}}6"\/} \\
{\tt } \\




Je ne comprends où est le problème avec ces lieux.


Merci d'avance.

Stéphane Lejoly

PS : c'est peut être plus rapide pour vérifier de copier directement le fichier Xcas :


// xcas version=0.6.3 fontsize=20
// fltk 7Fl_Tile 28 52 1185 517 20
[
// fltk N4xcas6FigureE 28 52 1185 516 20
// fltk N4xcas12History_PackE 30 78 595 962 20
[
// fltk 7Fl_Tile 54 78 571 79 20
[
// fltk N4xcas19Multiline_Input_tabE 54 78 571 51 20
OY:=droite(x=0):;£
,
// fltk N4xcas10Log_OutputE 54 129 571 1 20

,
// fltk N4xcas10Gen_OutputE 54 130 571 27 20
"Done"
]
,
// fltk 7Fl_Tile 54 159 571 58 20
[
// fltk N4xcas19Multiline_Input_tabE 54 159 571 30 20
t:=element((-10) .. 10,-5.6)
,
// fltk N4xcas10Log_OutputE 54 189 571 1 20

,
// fltk N4xcas10Gen_OutputE 54 190 571 27 20
parameter(t,-10,10,-5.6)
]
,
// fltk 7Fl_Tile 54 219 571 58 20
[
// fltk N4xcas19Multiline_Input_tabE 54 219 571 30 20
A:=element(OY,t)
,
// fltk N4xcas10Log_OutputE 54 249 571 1 20

,
// fltk N4xcas10Gen_OutputE 54 250 571 27 20
point(0.0,5.6)
]
,
// fltk 7Fl_Tile 54 279 571 58 20
[
// fltk N4xcas19Multiline_Input_tabE 54 279 571 30 20
OX:=droite(y=0):;
,
// fltk N4xcas10Log_OutputE 54 309 571 1 20

,
// fltk N4xcas10Gen_OutputE 54 310 571 27 20
"Done"
]
,
// fltk 7Fl_Tile 54 339 571 58 20
[
// fltk N4xcas19Multiline_Input_tabE 54 339 571 30 20
Cercle1:=cercle(A,6):;
,
// fltk N4xcas10Log_OutputE 54 369 571 1 20

,
// fltk N4xcas10Gen_OutputE 54 370 571 27 20
"Done"
]
,
// fltk 7Fl_Tile 54 399 571 58 20
[
// fltk N4xcas19Multiline_Input_tabE 54 399 571 30 20
C:=inter(Cercle1,OX)[0]
,
// fltk N4xcas10Log_OutputE 54 429 571 1 20

,
// fltk N4xcas10Gen_OutputE 54 430 571 27 20
point(2.15406592285,0)
]
,
// fltk 7Fl_Tile 54 459 571 58 20
[
// fltk N4xcas19Multiline_Input_tabE 54 459 571 30 20
segment(A,C)
,
// fltk N4xcas10Log_OutputE 54 489 571 1 20

,
// fltk N4xcas10Gen_OutputE 54 490 571 27 20
segment(point(0.0,5.6),point(2.15406592285,0))
]
,
// fltk 7Fl_Tile 54 519 571 58 20
[
// fltk N4xcas19Multiline_Input_tabE 54 519 571 30 20
I:=milieu(A,C)
,
// fltk N4xcas10Log_OutputE 54 549 571 1 20

,
// fltk N4xcas10Gen_OutputE 54 550 571 27 20
point(1.07703296143,2.8)
]
,
// fltk 7Fl_Tile 54 579 571 58 20
[
// fltk N4xcas19Multiline_Input_tabE 54 579 571 30 20
D:=mediatrice(A,I):;
,
// fltk N4xcas10Log_OutputE 54 609 571 1 20

,
// fltk N4xcas10Gen_OutputE 54 610 571 27 20
"Done"
]
,
// fltk 7Fl_Tile 54 639 571 58 20
[
// fltk N4xcas19Multiline_Input_tabE 54 639 571 30 20
Cercle2:=cercle(A,3):;
,
// fltk N4xcas10Log_OutputE 54 669 571 1 20

,
// fltk N4xcas10Gen_OutputE 54 670 571 27 20
"Done"
]
,
// fltk 7Fl_Tile 54 699 571 58 20
[
// fltk N4xcas19Multiline_Input_tabE 54 699 571 30 20
B:=inter(D,Cercle2)[1];
,
// fltk N4xcas10Log_OutputE 54 729 571 1 20

,
// fltk N4xcas10Gen_OutputE 54 730 571 27 20
point(2.96338761131,5.13273790531)
]
,
// fltk 7Fl_Tile 54 759 571 80 20
[
// fltk N4xcas19Multiline_Input_tabE 54 759 571 30 20
triangle(A,B,C)
,
// fltk N4xcas10Log_OutputE 54 789 571 1 20

,
// fltk 9Fl_Scroll 54 790 571 49 20
[
// fltk N4xcas10Gen_OutputE 54 790 905 27 20
polygone(point(0.0,5.6),point(2.96338761131,5.13273790531),point(2.15406592285,0),point(0.0,5.6))
,
// fltk 12Fl_Scrollbar 54 590 571 20 20
[]
,
// fltk 12Fl_Scrollbar 625 561 16 29 20
[]
]
]
,
// fltk 7Fl_Tile 54 841 571 81 20
[
// fltk N4xcas19Multiline_Input_tabE 54 841 571 30 20
L1:=lieu(I,A)
,
// fltk N4xcas10Log_OutputE 54 871 571 24 20
// Warning: y OX Cercle1 declared as global variable(s)£
,
// fltk N4xcas10Gen_OutputE 54 895 571 27 20
"inter Unable to check sign: (1*abs(` t`))>6"
]
,
// fltk 7Fl_Tile 54 924 571 81 20
[
// fltk N4xcas19Multiline_Input_tabE 54 924 571 30 20
L2:=lieu(B,A)
,
// fltk N4xcas10Log_OutputE 54 954 571 24 20
// Warning: y OX Cercle1 D Cercle2 declared as global variable(s)£
,
// fltk N4xcas10Gen_OutputE 54 978 571 27 20
"inter Unable to check sign: (1*abs(` t`))>6"
]
,
// fltk 7Fl_Tile 54 1007 571 31 20
[
// fltk N4xcas19Multiline_Input_tabE 54 1007 571 30 20

,
// fltk N4xcas10Log_OutputE 54 1037 571 1 20

]
]
// fltk N4xcas5Geo2dE 643 78 450 490 20
-7.7642,7.7642,-7.07,7.07,["Done",parameter(t,-10,10,0),pnt(pnt[5.6*i,[0,[pnt(pnt[line[0,-i],0]),-5.6]],"A"]),"Done","Done",pnt(pnt[2.15406592285,0,"C"]),pnt(pnt[group[5.6*i,2.15406592285],0]),pnt(pnt[1.07703296143+2.8*i,0,"I"]),"Done","Done",pnt(pnt[2.96338761131+5.13273790531*i,0,"B"]),pnt(pnt[group[5.6*i,2.96338761131+5.13273790531*i,2.15406592285,5.6*i],0]),"inter Unable to check sign: (1*abs(` t`))>6","inter Unable to check sign: (1*abs(` t`))>6"],-7.07,7.07,1,0,0,0,0.5,0.5,1,0,1,1.15,0,1,1

,
// fltk N4xcas10Log_OutputE 28 568 1185 1 20

]
,
// fltk 7Fl_Tile 28 571 1185 31 20
[
// fltk N4xcas19Multiline_Input_tabE 28 571 1185 30 20

,
// fltk N4xcas10Log_OutputE 28 601 1185 1 20

]

parisse
Messages : 5740
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Message par parisse » lun. juin 04, 2007 8:57 am

en effet, le probleme c'est l'intersection entre la droite et le cercle qui peut donner 0 (1) ou 2 points. Or pour calculer un lieu, Xcas va utiliser un parametrage rationnel de la courbe a laquelle A appartient (la droite Oy ici) et calculer I en fonction de ce parametre (nomme ` t`). Sans information sur ` t`, il n'est pas possible de determiner si l'intersection a 0 ou 2 intersections. C'est la raison du message
Unable to check sign: (1*abs(` t`))>6
Je viens de modifier lieu pour qu'il accepte un parametre supplementaire de la forme t=a..b, afin de specifier que le parametrage de la courbe du point independant se fasse dans un intervalle donne, par exemple
L1:=lieu(I,A,t=0..6)
dans votre cas. On obtient alors le morceau de courbe parametrique correspondant. De meme sur -6..0 (curieusement, j'obtiens encore l'erreur sur -6..6, peut-etre un autre bug...).
Pour comprendre le parametrage choisi, vous pouvez taper parameq(courbe_A) ou courbe_A designe la courbe a laquelle A appartient (ici OY).
Je pense faire une version mac avec toutes ces corrections d'ici la fin de la semaine.

Répondre