Eric a écrit:C'est bien cet exemple que j'avais en tête mais en fait il est plus compliqué que ce que je veux faire. J'y reviendrai lorsque j'aurai fini mes problèmes d'intégrales de Cauchy.
[view(-1,8,-1,8),a:=1, b:=7, liste:=Nil, last:=a,
L:=[2, 3, 4, 5, 6, 7], {valeurs x1, ...,x5}
L':=[1.5, 2.8, 3.5, 4.25, 5.2, 6.5], {valeurs x'1, ..., x'6}
Y:=[3, 2, 7, 5, 2, 4], {images aux points x'i}
Width:=6, Arrows:=1, Axes(0,0), Arrows:=0, k:=0,
Ligne([a,
for x in L do
Inc(k,1), x':=L'[k],
y':=Y[k], A:=x'+i*y', Insert(liste,A),
last+i*y',x+i*y',
LineStyle:=dashed,Ligne([last,last+i*y'],0),
LineStyle:=dotted,Ligne([x',A],0),
LineStyle:=solid, last:=x,
LabelDot(x',["$x'_",k,"$"],"NE",1,0.125),
if k<6 then LabelDot(last,["$x_",k,"$"],"S",1) fi
od,b],0),
Point(liste), LabelDot(a,"$a$","S",1), LabelDot(b,"$b$","S",1),
Width:=8,
Spline(5*i,a+i,liste,b+i,-5*i), {courbe}
LabelAxe(x,7.9,"$x$"),LabelAxe(y,i*7.9,"$f$")
]
[view(-1,8,-1,8), size(8), Pa:=1+i, Pb:=7+3.5*i, {extrêmités}
{valeurs de f}
L:=[Pa,2+1.25*i,3+3*i, 4+7*i, 5+5*i, 6+2*i, Pb],
{valeurs y0, ..., }
L1:=Get(Spline(0,L,0)),
Min:= min (for z in L1 do Im(z) od), Max:= max (for z in L1 do Im(z) od),
Y:=[Min-0.25, 1.5, 2.5, 3, 4, 5.25, 6, 6.8, Max+0.25],
{Calcul et trie des points d'intersection suivant x croissants}
intersec:=L1 InterL (for y in Y do i*y, i*y+Xmax,jump od), Sort(intersec),
k:=0, Width:=6,
{segments y=yi}
Ligne(for y in Y do
i*y,i*y+Xmax,jump,
LabelDot(i*y,["$y_",k,"$"], "O",1), Inc(k,1)
od,0),
FillStyle:=full, k:=0, LineStyle:=noline,
{remplissages des diférents domaines}
for A in [intersec,Pb] do
L':= L1 CutA A, L1:=L1 CutB A,
if mod(k,2)=0 then FillColor:=white else FillColor:=lightgray fi,
Ligne([Re(L'[1]),L',Re(L'[0])], 0), Inc(k,1)
od,
{traits verticaux}
FillStyle:=none, Width:=4, LineStyle:=dashed,
Ligne( for z in [Pa,intersec,Pb] do z, Re(z), jump od, 0),
{courbe}
Width:=8, LineStyle:=solid, Spline(0,L,0),
{axes}
Width:=4, Arrows:=1, Axes(0,0), Arrows:=0,
LabelDot(1,"$a$","S",1), LabelDot(7,"$b$","S",1),
LabelAxe(x,7.9,"$x$"),LabelAxe(y,i*7.9,"$f$")
]
[view(-1,8,-1,8), size(8), Pa:=1+i, Pb:=7+3.5*i,
{valeurs de f}
L:=[Pa,2+1.25*i,3+3*i, 4+7*i, 5+5*i, 6+2*i, Pb],
{valeurs y0, ..., }
L1:=Get(Spline(0,L,0)),
Min:= min (for z in L1 do Im(z) od), Max:= max (for z in L1 do Im(z) od),
Y:=[Min-0.25, 1.5, 2.5, 3, 4, 5.25, 6, 6.8, Max+0.25], k:=0,
{segments y=yi}
Ligne(for y in Y do
i*y,i*y+Xmax,jump,
LabelDot(i*y,["$y_",k,"$"], "O",1), Inc(k,1)
od,0),
{Calcul et trie des points d'intersection suivant x croissants}
liste:=Nil, intersec:=Nil, last:=Nil,z':=Nil, FillStyle:=full,LineStyle:=noline,
for z in L1 do
k:=0, y2:=Im(z),
while Y[k+1]<=y2 do Inc(k,1) od,
if liste=Nil then liste:=z, Crt_k:=k, last:=z, y1:=y2,
elif k=Crt_k then Insert(liste,z), last:=z, y1:=y2
else FillColor:=Hsb(270*(16-2*Crt_k)/16,1,1),
if k>Crt_k then y:=Y[k] else y:=Y[k+1] fi, Crt_k:=k,
t:=(y-y2)/(y1-y2), z':=t*last+(1-t)*z, last:=z, y1:=y2 ,
Insert(intersec,z'), Ligne([Re(liste[1]),liste,z',Re(z')],0),
liste:=[z',z]
fi
od,
{dernière tranche}
FillColor:=Hsb(270*(8-k)/8,1,1),
Ligne([Re(liste[1]),liste,Re(liste[0])],0),
{traits verticaux}
FillStyle:=none, Width:=4, LineStyle:=dashed,
Ligne( for z in [Pa,intersec,Pb] do z, Re(z), jump od, 0),
{courbe}
Width:=8, LineStyle:=solid, Spline(0,L,0),
{axes}
Width:=4, Arrows:=1, Axes(0,0), Arrows:=0,
LabelDot(1,"$a$","S",1), LabelDot(7,"$b$","S",1),
LabelAxe(x,7.9,"$x$"),LabelAxe(y,i*7.9,"$f$")
]
Eric a écrit:Le problème de couleurs/gris est réglé avec la version de TexGraph que j'ai installée ce matin.
P.Fradin a écrit:Eric a écrit:Le problème de couleurs/gris est réglé avec la version de TexGraph que j'ai installée ce matin.
Parfait. Si tu vois des trucs à corriger avec cette version n'hésite pas, je vais bientôt la mettre en "version officielle".
Eric a écrit:J'ai l'impression (à confirmer) que la fonction Réouvrir un fichier ne fonctionne pas très bien ...
Edit : J'ai eu un problème tout à l'heure mais je n'arrive plus à le reproduire.
Alphonse Capriani a écrit:RAS à part lorsque je charge un fichier utilisant la version 0.5 de POVray (tous les éléments ne sont pas affichés). Ya eu beaucoup de changements entre les versions 0.5 et 0.6?
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités