diff options
author | Karl Berry <karl@freefriends.org> | 2011-12-03 16:47:39 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-12-03 16:47:39 +0000 |
commit | 97e4684a37e4899e8cdd42ab670b6e25dd319d1a (patch) | |
tree | bc263a56d75c177b79ae13c6e6ec7a3c30278dbf /Master/texmf-dist/doc/metapost/featpost/example/lcurvature.mp | |
parent | a2c8654f8955a0d35c8b0c2d1752a506a426681b (diff) |
featpost (17nov11)
git-svn-id: svn://tug.org/texlive/trunk@24738 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/metapost/featpost/example/lcurvature.mp')
-rw-r--r-- | Master/texmf-dist/doc/metapost/featpost/example/lcurvature.mp | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/lcurvature.mp b/Master/texmf-dist/doc/metapost/featpost/example/lcurvature.mp new file mode 100644 index 00000000000..14fc30e7752 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/lcurvature.mp @@ -0,0 +1,114 @@ +% lcurvature.mp +% L. Nobre G. +% 2002 + +input featpost3Dplus2D; + +verbatimtex +\documentclass{article} +\usepackage{beton} +\usepackage{concmath} +\usepackage{ccfonts} +\begin{document} +etex + +beginfig(1); + f := (5,3,4); + Spread := 70; + numeric gridstep, anglstep, cylength, cyradius, numcylis; + numeric i, j, curcoord, vcx, vcy, vcz, curangle, curnorma; + numeric major, othcoord, othangle; + color base, lenvec; + cylength := 0.1; + cyradius := 0.3; + gridstep := cyradius*2.2; + anglstep := 10; + numcylis := 5; + major := 0.35*gridstep*numcylis; + for i=1 upto numcylis: % bend + curnorma := i-0.5*(numcylis+1); + curangle := curnorma*anglstep; + vcx := cylength*cosd(curangle); + vcy := 0; + vcz := cylength*sind(curangle); + base := major*(sind(curangle),-1,-cosd(curangle)); + lenvec := (vcx,vcy,vcz); + rigorousdisc( 0, true,base,cyradius,lenvec); + endfor; + for i=1 upto numcylis: % twist + curnorma := i-0.5*(numcylis+1); + curcoord := curnorma*gridstep; + curangle := curnorma*anglstep; + vcx := 0; + vcy := cylength*sind(curangle); + vcz := cylength*cosd(curangle); + base := (curcoord,-vcy/2-major,-vcz/2+major); + lenvec := (vcx,vcy,vcz); + rigorousdisc( 0, true,base,cyradius,lenvec); + endfor; + for i=1 upto numcylis: % splay + curnorma := i-0.5*(numcylis+1); + curcoord := curnorma*gridstep; + curangle := curnorma*anglstep; + vcx := cylength*sind(curangle); + vcy := 0; + vcz := -cylength*cosd(curangle); + lenvec := (vcx,vcy,vcz); + for j=1 upto numcylis: + othcoord := (j-0.5*(numcylis+1))*gridstep; + base := major*(0,1,-cosd(curangle)); + base := base +(curcoord,othcoord,0); + rigorousdisc( 0, true,base,cyradius,lenvec); + endfor; + endfor; + for i=1 upto numcylis: % saddle + curnorma := i-0.5*(numcylis+1); + curcoord := curnorma*gridstep; + curangle := curnorma*anglstep; + vcx := cylength*sind(curangle); + for j=1 upto numcylis: + othcoord := (j-0.5*(numcylis+1))*gridstep; + othangle := (j-0.5*(numcylis+1))*anglstep; + vcy := -cylength*sind(othangle); + vcz := -cylength*cosd(curangle)*cosd(othangle); + base := major*(0,1,1-cosd(curangle)+cosd(othangle)); + base := base + (curcoord,othcoord,0); + lenvec := (vcx,vcy,vcz); + rigorousdisc( 0, true,base,cyradius,lenvec); + endfor; + endfor; +endfig; + +beginfig(2); + f := (5,3,4); + Spread := 70; + numeric gridstep, cylength, cyradius, numcylis; + numeric i, j, curcoord, curangle, curnorma; + numeric othcoord, othangle, zcoord, coef, othnorma; + color base, lenvec; + cylength := 0.1; + cyradius := 0.3; + gridstep := cyradius*2.2; + numcylis := 5; + coef := 0.32; + for i=1 upto numcylis: % splay + curnorma := i-0.5*(numcylis+1); + curcoord := curnorma*gridstep; + curangle := -curcoord*2*coef; + for j=1 upto numcylis: + othnorma := j-0.5*(numcylis+1); + othcoord := othnorma*gridstep; + othangle := -othcoord*2*coef; + zcoord := -coef*(othcoord**2+curcoord**2); + base := (curcoord,othcoord,zcoord); + lenvec := cylength*N((-curangle,-othangle,1)); + rigorousdisc( 0, true,base,cyradius,lenvec); + endfor; + endfor; +endfig; + +verbatimtex +\end{document} +etex + +end; |