/* -*-ePiX-*- */ #include "epix.h" using namespace ePiX; double L(3), delta(0.25); #ifdef MODERNIZE const std::string mydelta("\\epsilon"); #else const std::string mydelta("\\delta"); #endif P phi(int i) { if (i <= 5) return P(i, L + 3*pow(-1, i)/(2 + i)); else if (6 < i) return P(i, L + pow(-1, i)/(1 + i)); else return P(6, L - 0.5*delta); } int main() { picture(P(0, 0), P(10, 4), "4 x 2in"); begin(); bold(); line(P(0,0), P(xmax(),0)); line(P(0,0), P(0,ymax())); line(P(0,L), P(xmax(),L)); line(P(6,0), P(6,ymax())); for (int i=1; i<10; ++i) { dot(phi(i)); if (i <= 5) marker(P(i, 0), HTICK); } dashed(); dash_size(6); line(P(0, L-delta), P(xmax(), L-delta)); line(P(0, L+delta), P(xmax(), L+delta)); h_axis_labels(P(1,0), P(3,0), 2, P(0,-6), b); label(P(0,0), P(0, -6), "$O$", b); label(P(xmax(),0), P(0, -4), "$X$", b); label(P(0,ymax()), P(-2, 0), "$Y$", l); label(P(6,0), P(0, -6), "$n_{0}$", b); label(P(xmax(), L - delta), P(4,0), "$y = l - " + mydelta + "$", r); label(P(xmax(), L + delta), P(4,0), "$y = l + " + mydelta + "$", r); tikz_format(); end(); }