TeXgraph# {version 2.0} Cmd Window(-5+5*i, 5-5*i, 0.9+0.9*i); Margin(0, 0, 0, 0); Border(0); [OriginalCoord(1), IdMatrix()]; [theta:=0.5236, phi:=1.0472, IdMatrix3D(), ModelView(ortho)]; [GrayScale(0), ComptGraph:=2]; Var longueur = 0.5 {long. des vecteurs}; deltaX = 0.5 {valeur du pas sur X}; deltaY = 0.5 {valeur du pas sur Y}; f_expr = "x^2+y^2"; h = 1E-6; Mac f = %1^2+%2^2; Init = [Bouton(RefPoint, "Modifier", "Modifier()"), Modifier() ]; Champ = [Arrows:= 1, if longueur<=0 then $facteur:=1 else facteur:= longueur fi, draw("line",[ for $y from Ymin to Ymax step deltaY do for $x from Xmin to Xmax step deltaX do $v := (f(x+h,y)-f(x,y) +i*(f(x,y+h)-f(x,y)))/h, v:=v/abs(v)*facteur, x+i*y, x+i*y+v,jump od od]) ]; Modifier = if Input("f(x,y)= ","Champ de gradient de f(x,y)",f_expr) then f_expr := chaine(), NewMac("f", f_expr,x,y), ReCalc(champ) fi; Cmd [Width:=6,Arrows:=1,tMin:=-6.655,tMax:=6.655,DotScale:=1+i]; Graph axes = [ view(-5,5,-5,5), Margin(0,0,0,0), size(9), Axes(0,0,2+2*i) ]; Cmd [Width:=4,Color:=16711680,Arrows:=0,NbPoints:=100]; Graph champ = [ Width:=8, CurrentArrowScale:=0.5, Champ() ];