Tracer des intervalles

Pour proposer des idées, ou simplement discuter

Tracer des intervalles

Messagepar projetmbc » 14 Fév 2010 23:17

Bonsoir,
dans cette page se trouvent des tracés d'intervalles fait avec Asymptote. Peut-on faire de même avec TeXGraph ? J'imagine que oui.

Dans le même esprit, il y a aussi ceci.

Toute info. est la bienvenue y compris juste de petites indications.
projetmbc
 
Messages: 398
Inscription: 26 Déc 2009 18:01

Re: Tracer des intervalles

Messagepar P.Fradin » 15 Fév 2010 00:52

Bonsoir,

Sur l'ancien forum Joffrey avait proposé une macro pour un certain type d'intervalle, voici la macro:

Code: Tout sélectionner
{Interval( A, B, crochet gauche fermé (0/1), crochet droit fermé (0/1) [, hachures (0/1)] ) }

[ $h:=0.45, {hauteur des crochets}
  $L:=0.125, {longueur du retour des crochets}
  $A:=%1,$B:=%2, $u:=%2-%1,
  u:=u/Abs(u), $v:=ScrCoordV(i*RealCoordV(u))*h,
  u:=L*u,
  $long:= Abs(B-A), $n:=Ent(2*long/h),
  markseg(A,B,n, long/n, h*sqrt(2)/2,if %5 then -45 else 45 fi),
  Ligne(
      [ if %3=0 then A+v/2-u, A+v/2, A-v/2, A-v/2-u, jump
        else A+v/2+u, A+v/2, A-v/2, A-v/2+u, jump
        fi,
        A, B, jump,
        if %4=1 then B+v/2-u, B+v/2, B-v/2, B-v/2-u, jump
        else B+v/2+u, B+v/2, B-v/2, B-v/2+u, jump
        fi], 0)
]


Un exemple d'utilisation:

Code: Tout sélectionner
[Interval(-2-2*i,2-2*i,1,1,1),
Interval(-2,2+3*i,0,1,1),
Interval(i/2,4.5-i,0,0,1)]


intervalle.png
intervalle.png (6.77 Kio) Consulté 4162 fois


Pour l'autre problème avec la courbe, je propose cet élément graphique (il utilise la macro Interval):

Code: Tout sélectionner
[
NewMac("f", "0.5*(x-1)*(x-3)*(x-5)+2",x),
a:=2.5, b:=5, ya:=f(a), yb:=f(b),
{on cherche min et max sur [a;b]}
tMin:=a, tMax:=b, L':=Get(Cartesienne(f(x)),0), L:=-i*L', Sort(L),
Min:=L[1], Max:=L[-1], x1:=-Im(Min), y1:=Re(Min), x2:=-Im(Max), y2:=Re(Max),
{on cherche une pseudo-réciproque à f: g(y)=max(x tq f(x)=y) }
L'':= for y from y1 to y2 step (y2-y1)/200 do I:=[a+i*y,b+i*y] InterL L', I[-1] od,
{on peint le côté gauche}
FillStyle:=full, FillColor:=brown, LineStyle:=noline,
Ligne([i*y1,x1+i*y1,L'',x2+i*y2,i*y2],1),
{on peint sous la courbe}
domaine2(f(x),if y1<0 then y1 else 0 fi,a,b),
{on place les axes et la courbe}
FillStyle:=none, LineStyle:=solid,
Axes(0,1+i), Width:=8, Color:=blue, ForMinToMax:=1, Cartesienne(f(x)),
Width:=6, Color:=black, Interval(a,b,1,1,1), Interval(i*y1,i*y2,1,1,1),
{les limites}
LineStyle:=dotted, Ligne([i*y2,i*y2+x2,jump,i*y1,i*y1+x1,jump,a,a+i*ya,jump,b,b+i*yb],0)
]


intervalle2.png
intervalle2.png (14.4 Kio) Consulté 4162 fois


Cet élément est modifiable, on peut changer la fonction et l'intervalle [a,b] sans avoir à modifier le reste (c'est à tester!) ce qui fait que cela peut devenir une macro.

Le source:
intervalles.teg
(2.27 Kio) Téléchargé 508 fois
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1837
Inscription: 29 Oct 2008 15:04

Re: Tracer des intervalles

Messagepar projetmbc » 15 Fév 2010 09:18

Merci.

Je vais utiliser cela et voir s'il y a ou non des soucis.
projetmbc
 
Messages: 398
Inscription: 26 Déc 2009 18:01


Revenir vers Propositions - Discussions

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité

cron