/* -*-ePiX-*- */
#include "epix.h"
using namespace ePiX;

void dir(const P& loc, double th)
{
  arrow(loc, loc + polar(0.01, th));
}

int main()
{
  picture(P(-1.25, -1.5), P(2.75, 1.5), "3 x 2.25in");

  begin();
  P pO(0,0), pX(xmax(), 0), pY(0, ymax()),
    off(0.025, 0.1), // fine-tune illo-p400a's origin
    p1(1,0), zeta(1.86, 1.25),
    pP(-1.0625, -1.375), pQ(1.6125, 0);

  arrow_inset(0.5);
  arrow_ratio(2);
  arrow_width(2);

  label(P(0.5*(xmin() + xmax()), 0.5*(ymin() + ymax())) + off,
	"\\includegraphics[width=3in]{illo-p400a.eps}"); // N.B. width

  ddot(p1, P(-2,2), "$1$", t);
  ddot(zeta, P(4,0), "$\\zeta$", r);

  bold();
  line(P(xmin(), 0), P(xmax(), 0));
  line(P(0, ymin()), P(0, ymax()));

  line(p1, zeta);
  line(pO, pP);

  degrees();
  // lower path
  dir(P(0.25, -0.75), 200);
  dir(P(1.75, 0.375), 75);

  // upper path
  dir(P(-0.6, 0.5), 130);
  dir(P(0.75, 1.325), 5);

  label(pO, P(2,-4), "$O$", br);
  label(pX, P(0,-4), "$X$", b);
  label(pY, P(2, 0), "$Y$", r);

  label(pP, P(-2,0), "$P$", l);
  label(pQ, P(0,-4), "$Q$", br);

  tikz_format();
  end();
}
