diff options
author | Karl Berry <karl@freefriends.org> | 2013-04-07 18:26:53 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-04-07 18:26:53 +0000 |
commit | b04c2e1a42573e9735547702356c7b9a769a6855 (patch) | |
tree | c0753443f39500a062d7698fe6b94359c813f871 /Master/texmf-dist/doc/asymptote/examples/animations/torusanimation.asy | |
parent | fb0bf13304a356f197bfc1add17f98c07e96f17b (diff) |
texmf -> texmf-dist: doc
git-svn-id: svn://tug.org/texlive/trunk@29714 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/asymptote/examples/animations/torusanimation.asy')
-rw-r--r-- | Master/texmf-dist/doc/asymptote/examples/animations/torusanimation.asy | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/asymptote/examples/animations/torusanimation.asy b/Master/texmf-dist/doc/asymptote/examples/animations/torusanimation.asy new file mode 100644 index 00000000000..74a5df43278 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/animations/torusanimation.asy @@ -0,0 +1,43 @@ +import graph3; +import animation; +import solids; + +currentprojection=perspective(50,40,20); + +currentlight=(0,5,5); + +real R=3; +real a=1; +int n=8; + +path3[] p=new path3[n]; +animation A; + +for(int i=0; i < n; ++i) { + triple g(real s) { + real twopi=2*pi; + real u=twopi*s; + real v=twopi/(1+i+s); + real cosu=cos(u); + return((R-a*cosu)*cos(v),(R-a*cosu)*sin(v),-a*sin(u)); + } + p[i]=graph(g,0,1,operator ..); +} + +triple f(pair t) { + real costy=cos(t.y); + return((R+a*costy)*cos(t.x),(R+a*costy)*sin(t.x),a*sin(t.y)); +} + +surface s=surface(f,(0,0),(2pi,2pi),8,8,Spline); + +for(int i=0; i < n; ++i){ + picture fig; + size(fig,20cm); + draw(fig,s,yellow); + for(int j=0; j <= i; ++j) + draw(fig,p[j],blue+linewidth(4)); + A.add(fig); +} + +A.movie(BBox(10,Fill(rgb(0.98,0.98,0.9))),delay=100); |