summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/pst-vue3d/examples/PontDemo3.tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-09 00:44:09 +0000
committerKarl Berry <karl@freefriends.org>2006-01-09 00:44:09 +0000
commitdec3d98ebe442d7ea93efbaa8dd2e2be8149a467 (patch)
tree64b660a18f1b3b95331a3c0ac2ba45c395e0bd88 /Master/texmf-dist/doc/generic/pst-vue3d/examples/PontDemo3.tex
parentf9ba1f4431124f48769a2666d5d9ec921345ca71 (diff)
doc 3
git-svn-id: svn://tug.org/texlive/trunk@79 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/generic/pst-vue3d/examples/PontDemo3.tex')
-rw-r--r--Master/texmf-dist/doc/generic/pst-vue3d/examples/PontDemo3.tex170
1 files changed, 170 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-vue3d/examples/PontDemo3.tex b/Master/texmf-dist/doc/generic/pst-vue3d/examples/PontDemo3.tex
new file mode 100644
index 00000000000..ececb1d3531
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-vue3d/examples/PontDemo3.tex
@@ -0,0 +1,170 @@
+\documentclass[a4paper]{article}
+% Manuel Luque <MLuque@aol.com>
+% Herbert Voss <voss@perce.de> - 2003/12/20
+\usepackage{pstricks}
+\usepackage{pst-node}
+\usepackage{pst-plot}
+\usepackage{pst-grad}
+\usepackage{pst-vue3d}
+\usepackage{multido}
+
+\input random
+
+\definecolor{pelouse}{cmyk}{0.14,0.42,0.56,0}
+\definecolor{base}{rgb}{1,0.8,0}
+\newpsstyle{surface}{fillstyle=vlines,hatchcolor=marron,%
+ hatchwidth=0.2\pslinewidth,hatchsep=1\pslinewidth}
+\newpsstyle{sol}{fillstyle=vlines,hatchcolor=lightgray,%
+ hatchwidth=0.2\pslinewidth,hatchsep=1\pslinewidth}
+
+\SpecialCoor
+
+\def\fleuve{%
+ \FrameThreeD[normaleLatitude=90,normaleLongitude=90,%
+ linestyle=none,fillstyle=gradient,%
+ gradbegin=blue,gradend=white](0,0,-2.5)(-12,-14)(12,14)
+}
+\newcommand{\tablier}{%
+ \FrameThreeD[normaleLatitude=90,normaleLongitude=90,%
+ linestyle=none,fillstyle=gradient,%
+ gradbegin=gray,gradend=white](0,0,0)(-\Xcinf,-2)(\Xcinf,2)%
+ \multido{\nL=-\Xcinf+0.2}{196}{%
+ \LineThreeD[linecolor=lightgray](\nL,-2,0)(\nL,2,0)%
+ }%
+}
+\newcommand\rembardes{%
+ \multido{\iY=-2+4}{2}{%
+ \LineThreeD[linecolor=red](-\Xcinf,\iY,0.5)(\Xcinf,\iY,0.5)
+ \multido{\rX=-\Xcinf+0.4}{98}{%
+ \LineThreeD[linecolor=red](\rX,\iY,0)(\rX,\iY,0.5)%
+ }%
+ }%
+}
+\newcommand\bases{%
+ \multido{\iYpos=-2+4}{2}{%
+ \multido{\rXpos=-\Xc+\twoXc}{2}{%
+ \parametricplot[fillstyle=solid,fillcolor=base]{0}{360}{%
+ /Xabscisse t cos 1.5 mul \rXpos\space add def
+ /Zcote -2.5 def
+ /Yordonnee t sin 1.5 mul \iYpos\space add def
+ tx@3DDict begin
+ formulesTroisD
+ Xi Yi
+ end
+ }%
+ }%
+ }%
+}
+\newcommand\Berges{%
+ \pNodeThreeD(-\Xcinf,-14,-2){B1}
+ \pNodeThreeD(-12,-14,-2.5){B2}
+ \pNodeThreeD(-\Xcinf,14,-2){B4}
+ \pNodeThreeD(-12,14,-2.5){B3}
+ \pspolygon[fillstyle=solid,fillcolor=pelouse](B1)(B2)(B3)(B4)
+ \pNodeThreeD(\Xcinf,-14,-2){B1}
+ \pNodeThreeD(12,-14,-2.5){B2}
+ \pNodeThreeD(\Xcinf,14,-2){B4}
+ \pNodeThreeD(12,14,-2.5){B3}
+ \pspolygon[fillstyle=solid,fillcolor=pelouse](B1)(B2)(B3)(B4)%
+}
+
+\pagestyle{empty}
+
+\def\Radius{14}
+\def\Xc{6.5}
+\newdimen\tempXc
+\tempXc=\Xc pt
+\multiply\tempXc by 3
+\def\Xcinf{\pointless\tempXc}
+\newdimen\temptwoXc
+\temptwoXc=\Xc pt
+\multiply\temptwoXc by 2
+\def\twoXc{\pointless\temptwoXc}
+
+\begin{document}
+
+\begin{pspicture}(-4,-10)(15,10)
+\psset{PHI=20,THETA=-30,Dobs=30,Decran=10}
+\pNodeThreeD(0,0,0){fictif}
+\fleuve\Berges\bases%
+\multido{\iY=-2+4}{2}{%
+ \pnode(!
+ /Xc \Xc\space def
+ /Radius \Radius\space def
+ /radius1 Xc 2 Radius mul add Xc Radius mul Radius dup mul add
+ sqrt 2 mul sub def
+ /X1 radius1 def
+ /Hpile Radius 1 1 Xc 2 mul dup mul 4 Radius dup mul mul div
+ sub sqrt sub mul neg def
+ X1 radius1){PointInitial}
+ \LineThreeD(-\Xcinf,\iY,-2)(-\Xcinf,\iY,0)
+ \LineThreeD(\Xcinf,\iY,-2)(\Xcinf,\iY,0)
+ \LineThreeD(-19.5,\iY,0)(19.5,\iY,0)
+ \LineThreeD(-\Xc,\iY,-2.5)(-\Xc,\iY,0)
+ \LineThreeD(\Xc,\iY,0)(\Xc,\iY,-2.5)
+ \multido{\nX=-13+13}{3}{%
+ \parametricplot{62.336}{117.664}{%
+ /Xabscisse t cos Radius mul \nX\space add def
+ /Zcote t sin Radius mul Radius sub def
+ /Yordonnee \iY\space def
+ tx@3DDict begin
+ formulesTroisD
+ Xi Yi
+ end
+ }
+ \parametricplot{0}{360}{%
+ /Xabscisse t cos radius1 mul radius1 add Xc sub \nX\space add def
+ /Zcote t sin radius1 mul radius1 add neg def
+ /Yordonnee \iY\space def
+ tx@3DDict begin
+ formulesTroisD
+ Xi Yi
+ end
+ }
+ \parametricplot{0}{360}{%
+ /Xabscisse t cos radius1 mul radius1 add neg Xc 2 mul add \nX\space add Xc sub def
+ /Zcote t sin radius1 mul radius1 add neg def
+ /Yordonnee \iY\space def
+ tx@3DDict begin
+ formulesTroisD
+ Xi Yi
+ end
+ }
+ }
+ \multido{\i=0+1}{30}{%
+ \pnode(!
+ /B Radius X1 mul Xc radius1 mul sub neg def
+ /A Radius radius1 sub def
+ /C X1 X1 mul Radius mul Xc Xc mul radius1 mul sub def
+ /Discriminant B B mul A C mul sub sqrt def
+ /X2 B neg Discriminant add A div def
+ /radius2 X2 X1 sub 2 exp 4 radius1 mul div def
+ X2 radius2){fictif1}
+ \multido{\nX=-13+13}{3}{%
+ \parametricplot{0}{360}{%
+ /Xabscisse t cos radius2 mul X2 add Xc sub \nX\space add def
+ /Zcote t sin radius2 mul radius2 add neg def
+ /Yordonnee \iY\space def
+ tx@3DDict begin
+ formulesTroisD
+ Xi Yi
+ end
+ }
+ \parametricplot{0}{360}{%
+ /Xabscisse t cos radius2 mul X2 add neg Xc 2 mul add Xc sub \nX\space add def
+ /Zcote t sin radius2 mul radius2 add neg def
+ /Yordonnee \iY\space def
+ tx@3DDict begin
+ formulesTroisD
+ Xi Yi
+ end
+ }%
+ }
+ \pnode(! /X1 X2 def /radius1 radius2 def X1 radius1){fictif2}
+ }%
+}
+\tablier
+\rembardes
+\AxesThreeD[linestyle=dashed,arrowsize=0.2](21,16,10)
+\end{pspicture}
+\end{document}