/* -*-ePiX-*- */ #include "epix.h" using namespace ePiX; void displ(const P& tail, const P& dir, const std::string& msgt = "", const std::string& msgh = "") { P mid(tail + 0.5*dir); arrow(tail, mid); line(mid, tail + dir); if (msgt != "") label(tail, -2*dir, msgt, l); if (msgh != "") label(tail + dir, 2*dir, msgh, r); } int main() { picture(P(-0.5, 0), P(1.5, 1), "2 x 1in"); begin(); arrow_inset(0.5); arrow_ratio(2); arrow_width(2); const P dir(1, 0.4); P pO(0,0), pX(1.25,0), pY(0,1.25); bold(); line(pO, pX); line(pO, pY); displ(pO, dir, "", "$A$"); displ(pO, -0.5*dir); displ(P(-0.25, 0.625), dir, "$P$", "$Q$"); displ(P(0.5, 0.5), dir, "$R$", "$S$"); label(-0.5*dir, P(2,-2), "$B$", br); label(pO, P(0,-4), "$O$", b); label(pX, P(0,-4), "$X$", b); label(pY, P(2, 0), "$Y$", r); tikz_format(); end(); }