/* -*-ePiX-*- */
#include "epix.h"
using namespace ePiX;
void displ(const P& tail, const P& dir)
{
  P mid(tail + 0.5*dir);
  arrow(tail, mid);
  line(mid, tail + dir);
}

int main()
{
  picture(P(0, 0), P(2, 1.5), "4 x 3in");

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

  double thB(M_PI/12), thC(M_PI_4), radA(1), radB(1.6), radC(0.7);

  P pO(0,0), pA(radA, 0), pB(polar(radB, thB)), pC(polar(radC, thC)),
    pD(polar(radB*(radC/radA), thC + thB)),
    pD1(polar(radB*(radC/radA), thC - thB));

  bold();

  displ(pO, pA);
  displ(pO, pB);
  displ(pO, pC);
  displ(pO, pD);

  line(pA, pB);
  line(pC, pD);

  dashed();
  dash_size(6);
  line(pO, pD1);
  line(pC, pD1);

  label(pO, P(0,-4), "$O$", b);
  label(pA, P(0,-4), "$A$", b);

  label(pB, P(2, 0), "$B$", r);
  label(pC, P(2,-4), "$C$", b);

  label(pD1, P(2, 0), "$D'$", r);
  label(pD, P(0, 2), "$D$", t);

  tikz_format();
  end();
}
