/* -*-ePiX-*- */ #include "epix.h" using namespace ePiX; void dir(const P& tail, const P& head) { P mid(0.5*(tail + head)); arrow(tail, mid); line(mid, head); } void left_arrows(const P& tail, const P& head, double t = 0.3) { P dir(head - tail), perp(J(dir)); perp *= pt_to_screen(8)/norm(perp); arrow(tail + t*dir + perp, head - t*dir + perp); arrow(head - t*dir - perp, tail + t*dir - perp); } int main() { picture(P(0, 0), P(3, 3), "2.4 x 2.4in"); begin(); arrow_inset(0.5); arrow_ratio(2); arrow_width(4); bold(); P p11(0, 0), p12(3, 0), p21(0, 2), p22(3, 2), p31(0, 3.25), p32(3, 4.5); line(p11, p12, 30); line(p21, p22, 20); line(p31, p32, 40); line(p11, p31); line(p12, p32); dir(p32, p31); left_arrows(p11, p21); left_arrows(p21, p31); left_arrows(p12, p22); left_arrows(p22, p32); left_arrows(p11, p12); left_arrows(p21, p22); label(p21, P(-2,-4), "$P$", bl); label(p22, P( 2,-4), "$Q$", br); tikz_format(); end(); }