/* -*-ePiX-*- */ #include "epix.h" using namespace ePiX; double f(double x) { return 0.2*exp(x); } Deriv df(f); int main() { picture(P(0, 0), P(2, 1), "3 x 1.5in"); begin(); double X0(1), delta(0.55); P pP(X0, f(X0)), pNl(X0 - delta, 0), pNr(X0 + delta, 0), pM(X0, 0), pQl(X0 - delta, f(X0 - delta)), pRl(X0 - delta, pP.x2()), pQr(X0 + delta, f(X0 + delta)), pRr(X0 + delta, pP.x2()), pO(0,0), pX(xmax(), 0), pY(0, ymax()), tgt(1, df.eval(X0)), pTl(pP - 1.05*delta*tgt), pTr(pP + 2*delta*tgt); bold(); line(pO, pX); line(pO, pY); line(pTl, pTr); line(pP, pQl); line(pP, pQr); line(pM, pP); line(pRr, pQr); rect(pNl, pRr); plot(f, -0.05, 1.7, 40); label(pP, P(2,-2), "$P$", br); label(pQl, P(-2,2), "$Q$", tl); label(pQr, P( 0,4), "$Q$", t); label(pRl, P(-2,0), "$R$", l); label(pRr, P( 2,0), "$R$", r); label(pTr, P(2,-2), "$T$", br); label(pO, P(0, -4), "$O$", b); label(pX, P(0, -4), "$X$", b); label(pY, P(-2, 0), "$Y$", l); label(pNl, P(0, -4), "$N$", b); label(pNr, P(0, -4), "$N$", b); label(pM, P(0, -4), "$M$", b); arc_measure(pP, E_1, tgt, P(2,2), "$\\psi$", r, 24); tikz_format(); end(); }