En cliquant sur une imagette, vous accéderez au source et à l'image. En cliquant sur cette dernière, vous ouvrirez le fichier PDF associé.
/* -*-ePiX-*- */ // fake 3D by layering #include "epix.h" using namespace ePiX; // function to plot P F(double u, double v) { return P(u, v, 0.25*(u+v)*(u-v)); } int main() { bounding_box(P(-3,-2),P(3,2)); unitlength("1in"); picture(6,4); // solid black background (before we move the camera) begin(); fill(); gray(1); rect(P(-3,-2), P(3,2)); white(); label(P(0, y_max), P(0,-4), "\\textbf{A quadratic saddle $\\mathbf{z=k(x^2-y^2)}$ and tangent plane}", b); camera.at(P(6,12,7)); camera.look_at(P(0,0,-0.25)); domain R(P(-2,-2), P(2,2), mesh(24,24), mesh(48,48)); // clip to bottom half space clip(); clip_box(P(-2,-2,0), P(2,2,-2)); // draw bottom half of saddle, shaded fill(); surface(F, R); fill(false); // and re-draw the wiremesh in color bold(); green(); plot(F, R); label(F(0,2), P(0,-4), "$\\mathbf{z<0}$", b); // (x,y)-plane red(); grid(24,24); label(P(2,0,0), P(-4,0), "$\\mathbf{z=0}$", l); plain(); black(); // clip to top half space, draw top half of saddle clip_box(P(-2,-2,0), P(2,2,2)); fill(); surface(F, R); fill(false); // fake transparency: re-draw (x,y)-plane lightly red(); pen(0.2); grid(24,24); // and plot top half of wiremesh in color bold(); blue(); plot(F, R); rgb(0.5,0.5,1); label(F(-2,0), P(4,4), "$\\mathbf{z>0}$", tr); end(); }