diff options
Diffstat (limited to 'Master/texmf-dist/doc/metapost/featpost/example/repeated/geom_freder.mp')
-rw-r--r-- | Master/texmf-dist/doc/metapost/featpost/example/repeated/geom_freder.mp | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/repeated/geom_freder.mp b/Master/texmf-dist/doc/metapost/featpost/example/repeated/geom_freder.mp new file mode 100644 index 00000000000..9a834001aab --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/repeated/geom_freder.mp @@ -0,0 +1,94 @@ +% geom_freder.mp +% L. Nobre G. +% 2000 + +%input featpost3Dplus2D; + +verbatimtex \documentclass{article} \usepackage{beton} \usepackage{concmath} \usepackage{ccfonts} \begin{document} etex + +beginfig(1); + + f := (1.7,1.2,1); + + Spread := 250; + + color gridvec, sizevec, currpos, starpos, bordpos; + numeric i, j, k, counter, theta, phi, long, base, thetamax; + path closingface; + sizevec := (11,9,7); + gridvec := (0.1,0.1,0.1); + thetamax := 50; + long := 0.08; + base := 0.1; + starpos := ( -0.5*X(gridvec)*(X(sizevec)-1) , + -0.5*Y(gridvec)*(Y(sizevec)-1) , + -0.5*Z(gridvec)*(Z(sizevec)-1) ); + bordpos := starpos - 0.5*gridvec; + npf1 := 4; + F1p1 := bordpos; + F1p2 := (X(bordpos),-Y(bordpos), Z(bordpos)); + F1p3 := (-X(bordpos),-Y(bordpos), Z(bordpos)); + F1p4 := (-X(bordpos),Y(bordpos), Z(bordpos)); + npf2 := 4; + F2p1 := (X(bordpos),Y(bordpos), -Z(bordpos)); + F2p2 := (X(bordpos),-Y(bordpos), -Z(bordpos)); + F2p3 := (-X(bordpos),-Y(bordpos), -Z(bordpos)); + F2p4 := (-X(bordpos),Y(bordpos), -Z(bordpos)); + NF := 2; + draw facepath(1); + counter := 1; + for i= X(sizevec) upto X(sizevec): + for j=1 upto Y(sizevec): + for k=1 upto Z(sizevec): + phi := 0; + theta := 0; + currpos := starpos+( (i-1)*X(gridvec) , + (j-1)*Y(gridvec) , + (k-1)*Z(gridvec) ); + phi := thetamax*cosd(90*Z(currpos)/abs(Z(starpos))); + theta := 90+thetamax*cosd(90*Z(currpos)/abs(Z(starpos))); + generatedirline( counter, phi, theta, long, currpos ); + counter := incr(counter); + endfor; + endfor; + endfor; + for i=1 upto X(sizevec)-1: + for j=Y(sizevec) upto Y(sizevec): + for k=1 upto Z(sizevec): + phi := 0; + theta := 0; + currpos := starpos+( (i-1)*X(gridvec) , + (j-1)*Y(gridvec) , + (k-1)*Z(gridvec) ); + phi := thetamax*cosd(90*Z(currpos)/abs(Z(starpos))); + theta := 90+thetamax*cosd(90*Z(currpos)/abs(Z(starpos))); + generatedirline( counter, phi, theta, long, currpos ); + counter := incr(counter); + endfor; + endfor; + endfor; + NL := decr(counter); + director_invisible( true, base, false ); + closingface = facepath(2); + fill closingface withcolor background; + draw closingface; + pickup pencircle scaled 1pt; + currpos := (-X(bordpos)+X(gridvec),Y(bordpos), Z(bordpos)); + starpos := (-X(bordpos)+X(gridvec),Y(bordpos)+4*Y(gridvec), Z(bordpos)); + drawarrow rp(currpos)..rp(starpos); + label.bot(btex $y$ etex,rp(starpos)); + currpos := (-X(bordpos)+X(gridvec),Y(bordpos), Z(bordpos)); + starpos := (-X(bordpos)+X(gridvec),Y(bordpos), Z(bordpos)+4*Z(gridvec)); + drawarrow rp(currpos)..rp(starpos); + label.lft(btex $z$ etex,rp(starpos)); + currpos := (X(bordpos),-Y(bordpos)+Y(gridvec), Z(bordpos)); + starpos := (X(bordpos)+4*X(gridvec),-Y(bordpos)+Y(gridvec), Z(bordpos)); + drawarrow rp(currpos)..rp(starpos); + label.bot(btex $x$ etex,rp(starpos)); + +endfig; + +verbatimtex \end{document} etex + +end; + |