/* -*-ePiX-*- */ #include "epix.h" using namespace ePiX; double f(double x) { double u(0.5*(x - 2.5)); return (1 - u)*(1 + u); } double xi(1.5), Y0(f(xi)), eps(0.2), delta(0.15), tmin(1), tmax(2); #ifdef MODERNIZE const std::string mydelta("\\epsilon"); const std::string myeps("\\delta"); #else const std::string mydelta("\\delta"); const std::string myeps("\\epsilon"); #endif int main() { picture(P(-0.5, 0), P(2, 1), "4.5 x 1.8in"); begin(); bold(); line(P(xmin(), 0), P(xmax(), 0)); line(P(0,0), P(0, ymax())); plot(f, tmin, tmax, 20); line(P(xi - eps, 0), P(xi - eps, ymax())); line(P(xi + eps, 0), P(xi + eps, ymax())); line(P(xmin(), Y0), P(xmax(), Y0)); dashed(); dash_size(6); line(P(xmin(), Y0 - delta), P(xmax(), Y0 - delta)); line(P(xmin(), Y0 + delta), P(xmax(), Y0 + delta)); label(P(xmax(), 0), P(0,-4), "$X$", b); label(P(0, ymax()), P(-4,0), "$Y$", l); label(P(0, 0), P(0, -4), "$0$", b); label(P(xi, Y0), P(0,-4), "$P$", b); label(P(xi - eps, 0), P(0, -4), "$\\xi - " + myeps + "$", b); label(P(xi + eps, 0), P(0, -4), "$\\xi + " + myeps + "$", b); label(P(xmax(), Y0-delta), P(4, 0), "$y = \\phi(\\xi) - " + mydelta + "$", r); label(P(xmax(), Y0+delta), P(4, 0), "$y = \\phi(\\xi) + " + mydelta + "$", r); tikz_format(); end(); }