summaryrefslogtreecommitdiff
path: root/Build/source/utils/asymptote/examples/washermethod.asy
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/utils/asymptote/examples/washermethod.asy')
-rw-r--r--Build/source/utils/asymptote/examples/washermethod.asy36
1 files changed, 36 insertions, 0 deletions
diff --git a/Build/source/utils/asymptote/examples/washermethod.asy b/Build/source/utils/asymptote/examples/washermethod.asy
new file mode 100644
index 00000000000..032ed6cbc85
--- /dev/null
+++ b/Build/source/utils/asymptote/examples/washermethod.asy
@@ -0,0 +1,36 @@
+import graph3;
+import solids;
+size(0,150);
+currentprojection=perspective(0,0,11,up=Y);
+
+pen color1=green+opacity(0.25);
+pen color2=red;
+real alpha=250;
+
+real f(real x) {return 2x^2-x^3;}
+pair F(real x) {return (x,f(x));}
+triple F3(real x) {return (x,f(x),0);}
+
+ngraph=12;
+path[] p={graph(F,0.7476,1.8043,Spline)--cycle,
+ graph(F,0.7,0.7476,Spline)--graph(F,1.7787,1.8043,Spline)--cycle,
+ graph(F,0,0.7,Spline)--graph(F,1.8043,2,Spline)--cycle};
+
+pen[] pn=new pen[] {color1,color2,color1};
+
+for(int i=0; i < p.length; ++i) {
+ revolution a=revolution(path3(p[i]),Y,0,alpha);
+ draw(surface(a),pn[i]);
+
+ surface s=surface(p[i]);
+ draw(s,pn[i]);
+ draw(rotate(alpha,Y)*s,pn[i]);
+}
+
+draw((4/3,0,0)--F3(4/3),dashed);
+xtick("$\frac{4}{3}$",(4/3,0,0));
+
+xaxis3(Label("$x$",1),Arrow3);
+yaxis3(Label("$y$",1),ymax=1.25,dashed,Arrow3);
+arrow("$y=2x^2-x^3$",F3(1.6),X+Y,0.75cm,red);
+draw(arc(1.1Y,0.3,90,0,7.5,180),Arrow3);