summaryrefslogtreecommitdiff
path: root/36114-t/images/sources/087.xp
diff options
context:
space:
mode:
Diffstat (limited to '36114-t/images/sources/087.xp')
-rw-r--r--36114-t/images/sources/087.xp50
1 files changed, 50 insertions, 0 deletions
diff --git a/36114-t/images/sources/087.xp b/36114-t/images/sources/087.xp
new file mode 100644
index 0000000..33695e6
--- /dev/null
+++ b/36114-t/images/sources/087.xp
@@ -0,0 +1,50 @@
+/* -*-ePiX-*- */
+#include "epix.h"
+using namespace ePiX;
+
+P f(double u, double v)
+{
+ double x(u*(1 - 0.25*exp(-v)) + 0.25*v*v),
+ y(v*(1 + 0.125*exp(0.5*u)) - 0.2*u*u);
+ return P(x + y, y - x);
+}
+
+const double MAX(2), maxx(1.25);
+
+domain R(P(-1,-1), P(maxx,1), mesh(60,60));
+
+int main()
+{
+ picture(P(-MAX,-MAX), P(MAX,MAX), "3 x 2in");
+
+ begin();
+ bold();
+
+ double mu1(-0.8), mu2(-0.1), mu3(0.6),
+ mv1(-0.6), mv2(0), mv3(0.5);
+
+ P u1(f(mu1, 1)), u2(f(mu2, 1)), u3(f(mu3, 1)),
+ v1(f(maxx, mv1)), v2(f(maxx, mv2)), v3(f(maxx, mv3)),
+ O(f(mu3, mv1));
+
+ plot(f, R.slice1(mu1));
+ plot(f, R.slice1(mu2));
+ plot(f, R.slice1(mu3));
+
+ plot(f, R.slice2(mv1));
+ plot(f, R.slice2(mv2));
+ plot(f, R.slice2(mv3));
+
+ dot(O, P(-4,-10), "$P$", b);
+
+ label(u1, P(4,0), "$u=1$", r);
+ label(u2, P(4,0), "$u=2$", r);
+ label(u3, P(4,0), "$u=3$", r);
+
+ label(v1, P(4,0), "$v=1$", r);
+ label(v2, P(4,0), "$v=2$", r);
+ label(v3, P(4,0), "$v=3$", r);
+
+ tikz_format();
+ end();
+}