Origine de ces figures?

Bonjour,

Est-ce que quelqu'un sait comment les superbes figures du document suivant ont été produites ?

fichier cours analyse complexe

Par exemple, les figures p133, 134.

Je ne sais pas comment contacter l'auteur donc je demande sur le forum à tout hasard.

Réponses

  • À mon avis, celle de la p. 134 est un "contour plot" exporté en png (code Sage ci-dessous) et étiré par l'outil « perspective » ou « cisaillement » de Gimp.
    var('y')
    contour_plot(cos(x+i*y).real(),(x,-2,5),(y,-3,3),contours=20,cmap='RdYlGn',fill=False).show(frame=False,axes=True)
    
    Pour celle de la p. 133, on obtient qq chose de semblable de la façon suivante.
    sage: def g(x,y): return cos(x+i*y).real()
    sage: def h(x,y): return float(arctan(g(x,y))/pi+.5)
    sage: cm = colormaps.hsv
    sage: (plot3d(g(x,y),(x,-3*pi,3*pi),(y,-4,4),mesh=True,color=(h,cm))).show(aspect_ratio=(1,1,.3))
    
    99252
    99254
  • Page 133, on voit les noms des axes avec la police latex du texte courant.

    C'est possible avec sage?
  • Oui, il y a des commandes "text" et "text3d" qui interprètent du $\rm\LaTeX$ de base.
  • d'accord, merci pour ces réponses!
  • En R, la deuxième :
    library(rgl)
    
    x <- seq(-3*pi, 3*pi, length.out = 30)
    y <- seq(-4, 4, length.out = 30)
    g <- function(x,y) Re(cos(complex(real = x, imaginary = y)))
    z <- outer(x, y, g)
    
    # solid surface
    persp3d(x, y, z, aspect = c(1, 1, 2), col = "lightblue",
            xlab = "X", ylab = "Y", zlab = "g(X,Y)", 
            polygon_offset = 1)
    # surface as grid
    persp3d(x, y, z, front = "lines", back = "lines", 
            lit = FALSE, add = TRUE)
    

    Je constate que les étiquettes "X" et "Y" sont mal placées... On peut aussi mettre des couleurs mais je ne maîtrise pas. La figure est interactive, on peut la tourner et la zoomer.

    Une autre possibilité est Asymptote. Voir des exemples ici.99470
  • Voilà une tentative avec Asymptote.
    settings.render = 4;
    settings.outformat = "pdf";
    
    import graph3;
    
    size(8cm,IgnoreAspect);
    
    currentprojection = orthographic((10,10,7));
    
    real f(pair z){
      return cos(z).x;
    }
    triple f0(real t){ return (0, t, cos((0,t)).x); }
    triple f1(real t){ return (t, 0, cos((t,0)).x); }
    
    surface s_solid = surface(f, (-3pi, -4), (3pi, 4), 150);
    surface s_mesh = surface(f, (-3pi, -4), (3pi, 4), 30);
    
    path3 p0 = graph(f0, -4, 4, operator ..), 
          p1 = graph(f1, -3pi, 3pi, operator ..);
    
    draw(s_mesh, white+opacity(0), meshpen = gray, nolight);
    draw(s_solid, yellow+opacity(.5));
    draw(p0, red+3bp);
    draw(p1, blue+3bp);
    
    limits((-14,-14,-32), (14,14,32));
    xaxis3("$\Re(z)$", Arrow3);
    yaxis3("$\Im(z)$", Arrow3);
    zaxis3("$\Re(cos(z))$", Arrow3);
    
    99476
  • Mieux avec Spline.
    settings.render = 4;
    settings.outformat = "pdf";
    
    import graph3;
    
    size(8cm,IgnoreAspect);
    
    currentprojection = orthographic((10,10,7));
    
    real f(pair z){
      return cos(z).x;
    }
    triple f0(real t){ return (0, t, cos((0,t)).x); }
    triple f1(real t){ return (t, 0, cos((t,0)).x); }
    
    surface s = surface(f, (-3pi, -4), (3pi, 4), 30, Spline);
    
    path3 p0 = graph(f0, -4, 4, operator ..), 
          p1 = graph(f1, -3pi, 3pi, operator ..);
    
    draw(s, orange+opacity(0.5), meshpen = gray, nolight);
    draw(p0, green+3bp);
    draw(p1, blue+3bp);
    
    limits((-14,-14,-32), (14,14,32));
    xaxis3("$\Re(z)$", Arrow3);
    yaxis3("$\Im(z)$", Arrow3);
    zaxis3("$\Re(\cos(z))$", Arrow3);
    
    99538
Connectez-vous ou Inscrivez-vous pour répondre.