/* -*-ePiX-*- */ #include "epix.h" using namespace ePiX; double tmax(1), tmin(-1), k(0.2); P fa(double t) { return P(k*t*t*t, t); } P fb(double t) { return P(-k*t*t*t, t); } P fc(double t) { return P(k*t*t, t); } P fd(double t) { return P(-k*t*t, t); } void place(const screen& scr, double t) { P loc(t, 0.6), dX(0.08, 0.4); inset(scr, loc - dX, loc + dX); } int main() { picture(P(0, 0), P(2, 1), "4.5 x 2.25in"); begin(); P pO(0,0), pX(xmax(), 0), pY(0, ymax()), tail, head; bold(); line(pO, pX); line(pO, pY); label(pO, P(0, -4), "$O$", b); label(pX, P(0, -4), "$X$", b); label(pY, P(-2, 0), "$Y$", l); screen scr1(P(-k, -1), P(k, 1)), scr2(P(-k, -1), P(k, 1)), scr3(P(-k, -1), P(k, 1)), scr4(P(-k, -1), P(k, 1)); // (a) activate(scr1); tail = fa(tmin); head = fa(tmax); line(tail&E_1, head&E_1); line(P(0, tmin), P(0, tmax)); line(tail, tail&E_1); line(head, head&E_1); plot(fa, tmin, tmax, 40); label(P(0,0), P(-2,2), "$P$", tl); label(tail, P(-2,0), "$Q$", bl); label(head, P( 2, 0), "$Q$", tr); label(tail&E_1, P(-2,0), "$R$", l); label(head&E_1, P( 2,0), "$R$", r); label(P(0, -1), P(0, -12), "(\\textit{a})", b); deactivate(scr1); // (b) activate(scr2); tail = fb(tmin); head = fb(tmax); line(tail&E_1, head&E_1); line(P(0, tmin), P(0, tmax)); line(tail, tail&E_1); line(head, head&E_1); plot(fb, tmin, tmax, 40); label(P(0,0), P(2,2), "$P$", tr); label(tail, P( 2,0), "$Q$", br); label(head, P(-2, 0), "$Q$", tl); label(tail&E_1, P( 2,0), "$R$", r); label(head&E_1, P(-2,0), "$R$", l); label(P(0, -1), P(0, -12), "(\\textit{b})", b); deactivate(scr2); // (c) tmax = 0.9; k = 0.3; activate(scr3); tail = fc(tmin); head = fc(tmax); line(P(0,0), tail&E_1); line(P(0, tmin), P(0, tmax)); line(tail, tail&E_1); line(head, head&E_1); plot(fc, tmin, tmax, 40); label(P(0,0), P(-2,0), "$P$", l); label(tail, P(2,0), "$Q$", br); label(head, P(2, 0), "$Q$", tr); label(tail&E_1, P(2,0), "$R$", r); label(head&E_1, P(-2,2), "$R$", tl); label(P(0, -1), P(0, -12), "(\\textit{c})", b); deactivate(scr3); // (d) activate(scr4); tail = fd(tmin); head = fd(tmax); line(P(0,0), tail&E_1); line(P(0, tmin), P(0, tmax)); line(tail, tail&E_1); line(head, head&E_1); plot(fd, tmin, tmax, 40); label(P(0,0), P(2,0), "$P$", r); label(tail, P(-2,0), "$Q$", bl); label(head, P(-2, 0), "$Q$", tl); label(tail&E_1, P(-2,0), "$R$", l); label(head&E_1, P( 2,2), "$R$", tr); label(P(0, -1), P(0, -12), "(\\textit{d})", b); deactivate(scr4); place(scr1, 0.25); place(scr2, 0.75); place(scr3, 1.25); place(scr4, 1.75); tikz_format(); end(); }