summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-04-18 23:32:15 +0000
committerKarl Berry <karl@freefriends.org>2014-04-18 23:32:15 +0000
commit0a11b23c3bc0c1e82d3eb3d880e4bd642660259d (patch)
tree5d5e5ab80a9648358af358f78b7dc3bca446296f /Master
parent1815e02ffa033df14fdb9b47950291b87c8a3e84 (diff)
pst-perspective (18apr14)
git-svn-id: svn://tug.org/texlive/trunk@33524 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/generic/pst-perspective/Parallelprojektion-Kreis.pdfbin0 -> 345521 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pst-perspective/Parallelprojektion-Kreis.tex266
-rw-r--r--Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-doc.pdfbin304874 -> 574741 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-doc.tex96
-rw-r--r--Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-docEN.pdfbin293096 -> 547492 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-docEN.tex99
-rw-r--r--Master/texmf-dist/tex/generic/pst-perspective/pst-perspective.tex145
-rw-r--r--Master/texmf-dist/tex/latex/pst-perspective/pst-perspective.sty1
8 files changed, 593 insertions, 14 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-perspective/Parallelprojektion-Kreis.pdf b/Master/texmf-dist/doc/generic/pst-perspective/Parallelprojektion-Kreis.pdf
new file mode 100644
index 00000000000..97b5633ff92
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-perspective/Parallelprojektion-Kreis.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pst-perspective/Parallelprojektion-Kreis.tex b/Master/texmf-dist/doc/generic/pst-perspective/Parallelprojektion-Kreis.tex
new file mode 100644
index 00000000000..aac7a7e0777
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-perspective/Parallelprojektion-Kreis.tex
@@ -0,0 +1,266 @@
+\documentclass[a4paper,11pt,fleqn]{article}
+\usepackage[T1]{fontenc}
+\usepackage[sfmath,light]{kpfonts}
+\usepackage[sfdefault]{libertine}
+\usepackage[ngerman]{babel}
+\usepackage[utf8]{inputenc}
+\usepackage{etex} % um die Anzahl der Register zu erh\"{o}hen (sonst nur 256)
+
+\usepackage{geometry}
+\geometry{paperheight=298mm,paperwidth=210mm,tmargin=5mm,textwidth=180mm,textheight=260mm,
+ rmargin=15mm,heightrounded,includeheadfoot,headheight=5mm,headsep=1mm,foot=18mm,
+ marginparsep=0mm,marginparwidth=0mm}
+
+\usepackage[distiller,cmyk]{pstricks}
+\usepackage{pst-plot,pst-eucl}
+\usepackage{pst-text}
+\usepackage{pst-grad}
+\usepackage{pst-perspective}
+\usepackage{pstricks-add}
+
+\pagestyle{empty}
+\setlength\parindent{0pt}
+
+\newcommand{\Zylinder}[9]{% #1 L\"{a}nge, #2 Radius, #3 gradbegin, #4 gradend, #5 gradmidpoint
+\pscustom[dimen=#9,fillstyle=gradient,gradbegin=#3,gradend=#4,gradmidpoint=#5,gradangle=90,linecolor=black,linewidth=#7,linestyle=#8]{%
+\psellipticarc(0,0)(!#2 #2 0.3 mul){180}{360}
+\psellipticarcn(0,#1)(!#2 #2 0.3 mul){0}{-180}
+\closepath
+}
+\psellipse[fillstyle=gradient,gradbegin=#3,gradend=#4,gradangle=20,gradmidpoint=0.5,linestyle=solid,linewidth=#7](0,#1)(!#2 #2 0.3 mul)
+}
+
+\begin{document}
+
+
+\section{Mathematische Grundlagen zur Parallelprojektion eines Kreises}
+
+Das Schr\"{a}gbild eines Kreises ergibt eine Ellipse, allerdings stimmt der Radius der Ellipse nicht mit der gro{\ss}en Halbachse der Ellipse \"{u}berein. Au{\ss}erdem ist die Ellipsenachse gegen den Kreisdurchmesser um einen Winkel $\alpha$ gedreht.
+
+{\psset{unit=1.75}
+\begin{pspicture}[showgrid=false](-0.35,-1)(10,4.4)
+\begin{psclip}%
+{\psframe[linestyle=none](-0.3,-0.8)(9.8,4.3)}
+\psgrid[subgriddiv=2,gridlabels=0,gridwidth=0.5pt,gridcolor=black!50,subgridwidth=0.4pt,subgridcolor=black!30](-1,-1)(12,6)
+\end{psclip}
+\psset{arrowsize=0.1,arrowinset=0.05,arrowlength=2}
+\rput(4,0){\psaxes[labelFontSize=\scriptstyle,labels=none,ticks=none,Ox=4]{->}(0,0)(-4.2,0)(5.5,4.3)[$x$,-90][$y$,0]}
+\pnode(4,0){M}
+\psarc(M){4}{0}{180}
+\psArcTS[linecolor=orange!60,originT={4,0}]{4}{-30}{180}
+\pstransTS[translineA=true,translineB=true,originT={4,0}](4;30){A'}{A}
+\pnode(A|0,0){PA}
+\pnode(A'|0,0){PB}
+\pcline[linecolor=red](4,0)(A)
+\naput[nrot=:U,labelsep=1.4pt,npos=0.65]{\color{red}$R$}
+\pcline[linecolor=green](4,0)(A')
+\naput[nrot=:U,labelsep=1.4pt,npos=0.75]{\color{green}$r$}
+\psdot[linecolor=blue,dotsize=1.8pt](A)\psdot[linecolor=green,dotsize=1.8pt](A')
+\pstMarkAngle[LabelSep=2.0,MarkAngleRadius=2.4,linecolor=red,arrows=->]{5,0}{4,0}{A}{\color{red}$\alpha$}%
+\pstMarkAngle[LabelSep=1.0,MarkAngleRadius=1.35,linecolor=green,arrows=->]{5,0}{4,0}{A'}{\color{green}$\beta$}%
+\pstMarkAngle[LabelSep=0.4,MarkAngleRadius=0.75,linecolor=blue,arrows=->]{PA}{PB}{A}{\color{blue}$\varphi$}%
+\pcline[offset=-0.4,linecolor=green]{|<->|}(4,0)(A'|0,0)
+\ncput*{\color{green}$x$}
+\pcline[offset=-0.45,linecolor=blue]{|<->|}(A|0,0)(A)
+\nbput{\color{blue}$y'$}
+\pcline[offset=-0.4,linecolor=blue]{|<->|}(A'|0,0)(A|0,0)
+\nbput[labelsep=1pt]{\color{blue}$x'$}
+\pcline[offset=-0.9,linecolor=green]{|<->|}(A'|0,0)(A')
+\ncput*{\color{green}$y$}
+\end{pspicture}
+}
+
+Drehwinkel und Halbachse der Ellipse sollen nun ermittelt werden.
+
+F\"{u}r den Kreis im ersten und zweiten Quadranten gilt: $y(x) = \sqrt{r^{2} - x^{2}}$
+
+Die Entfernung der Ellipsenpunkte vom Mittelpunkt des Kreises sei $R$.\\
+Mit Pythagoras gilt dann: $R(x) = \sqrt{(x+x')^{2}+y'^{2}}$, wobei\\ $y' = y\cdot v\cdot \sin(\varphi)$ mit dem Verk\"{u}rzungsfaktor $v$ und dem Verzerrungswinkel $\varphi$.\\
+$x'$ und $y'$ erh\"{a}lt man \"{u}ber den Verzerrungswinkel und den Verk\"{u}rzungsfaktor:\\
+$x' = y\cdot v\cdot \cos(\varphi)$ \quad und \quad $y' = y\cdot v\cdot \sin(\varphi)$.
+%
+\begin{equation*}
+ R(x) = \sqrt{\left(x+y\cdot v\cdot \cos(\varphi)\right)^{2}+\left(y\cdot v\cdot \sin(\varphi)\right)^{2}}
+\end{equation*}
+%
+\begin{equation*}
+ R(x) = \sqrt{\left(x+\sqrt{r^{2} - x^{2}}\cdot v\cdot \cos(\varphi)\right)^{2}+\left(\sqrt{r^{2} - x^{2}}\cdot v\cdot \sin(\varphi)\right)^{2}}
+\end{equation*}
+%
+Ausmultiplizieren und zusammenfassen (trigonometrischer Pythagoras!):
+%
+\begin{equation*}
+ R(x)= \sqrt{x^{2}\cdot \left(1-v^{2}\right) + r^{2}v^{2} + 2xv\cdot \cos(\varphi)\sqrt{r^{2} - x^{2}}}
+\end{equation*}
+%
+Die beiden Extremwerte dieser Funktion liefern die $x$-Werte des Kreises, die zur gro{\ss}en und zur kleinen Halbachse der Ellipse geh\"{o}ren. Diese werden nun bestimmt indem nicht $R(x)$, sondern $\left(R(x)\right)^{2}$ betrachtet wird, denn die Extremwerte von $\left(R(x)\right)^{2}$ sind auch die von $R(x)$; man spart sich die Wurzel!)
+%
+\begin{equation*}
+ R(x)^{2}= x^{2}\cdot \left(1-v^{2}\right) + r^{2}v^{2} + 2xv\cdot \cos(\varphi)\sqrt{r^{2} - x^{2}}
+\end{equation*}
+\begin{equation*}
+ \left(R(x)^{2}\right)' = 2x(1-v^{2}) + 2v\cos(\varphi)\cdot \frac{r^{2}-2x^{2}}{\sqrt{r^{2}-x^{2}}}
+\end{equation*}
+%
+Nullsetzen dieser Ableitung liefert vier L\"{o}sungen, die paarweise symmetrisch sind:
+%
+\begin{equation*}
+ x_{1/3} = \pm\frac{r}{2}\sqrt{2}\cdot\sqrt{\frac{v^{4} + 4 v^{2}\cos^{2}(\varphi) - 2v^{2} + 1 + \sqrt{\left(v^{2} - 1\right)^{2}\left(v^{4} + 4v^{2}\cos^{2}(\varphi) - 2v^{2} + 1\right)}}{v^{4} + 4v^{2}\cos^{2}(\varphi) - 2v^{2} + 1}}
+\end{equation*}
+%
+\begin{equation*}
+ x_{2/4} = \pm\frac{r}{2}\sqrt{2}\cdot\sqrt{\frac{v^{4} + 4 v^{2}\cos^{2}(\varphi) - 2 v^{2} - \sqrt{\left(v^{2} - 1\right)^{2} \left(v^{4} + 4v^{2}\cos^{2}(\varphi) - 2v^{2} + 1\right)}}{v^{4} + 4v^{2}\cos^{2}(\varphi) - 2v^{2} + 1}}
+\end{equation*}
+%
+Eine weitere Vereinfachung l\"{a}sst sich durch die Beziehung $2\cos^{2}(\varphi) -1 = \cos(2\varphi)$ erreichen:
+%
+\begin{equation*}
+ x_{1/3} = \pm\frac{r}{2}\sqrt{2}\cdot\sqrt{\frac{v^{4} + 2 v^{2}\cos(2\varphi) + 1 + \left(v^{2} - 1\right)\sqrt{v^{4} + 2 v^{2}\cos(2\varphi) + 1}}{v^{4} + 2 v^{2}\cos(2\varphi) + 1}}
+\end{equation*}
+%
+\begin{equation*}
+ x_{2/4} = \pm\frac{r}{2}\sqrt{2}\cdot\sqrt{\frac{v^{4} + 2 v^{2}\cos(2\varphi) + 1 - \left(v^{2} - 1\right)\sqrt{v^{4} + 2 v^{2}\cos(2\varphi) + 1}}{v^{4} + 2 v^{2}\cos(2\varphi) + 1}}
+\end{equation*}
+%
+Nochmals unter der Wurzel gek\"{u}rzt und zusammengefasst und mit der Abk\"{u}rzung : $t=\frac{1 - v^{2}}{\sqrt{v^{4}+2v^{2}\cos(2\varphi) + 1}}$:
+%
+\begin{equation*}
+ x_{1/2/3/4} = \pm\frac{r}{2}\sqrt{2}\cdot\sqrt{1 \pm \frac{v^{2} - 1}{\sqrt{v^{4} + 2 v^{2}\cos(2\varphi) + 1}}} = \pm\frac{r}{2}\sqrt{2}\cdot\sqrt{1 \pm t}
+\end{equation*}
+%
+Die Ergebnisse nun wieder in $R(x)$ eingesetzt liefert die beiden Halbachsen:
+%
+\begin{equation*}
+ R(x_{1})= r\cdot\sqrt{\frac{1}{2}\left( 1 + \frac{1 - v^{2}}{\sqrt{v^{4} + 2 v^{2}\cos(2\varphi) + 1}}\right)\cdot \left(1-v^{2}\right) + v^{2} + v\cdot \cos(\varphi)\sqrt{1 - \frac{\left(1 - v^{2}\right)^{2}}{v^{4} + 2 v^{2}\cos(2\varphi) + 1}}}
+\end{equation*}
+%
+\begin{equation*}
+ R(x_{1})= r\cdot\sqrt{\frac{1}{2}\left( 1 + t\right)\cdot \left(1-v^{2}\right) + v^{2} + v\cdot \cos(\varphi)\sqrt{1-t^{2}}}
+\end{equation*}
+%
+\begin{equation*}
+ R(x_{2})= r\cdot\sqrt{\frac{1}{2}\left( 1 - t\right)\cdot \left(1-v^{2}\right) + v^{2} - v\cdot \cos(\varphi)\sqrt{1-t^{2}}}
+\end{equation*}
+%
+Der Skizze entnimmt man, dass sich der Winkel $\beta$ \"{u}ber $\arccos\left(\frac{x}{r}\right)$ bzw. $\arcsin\left(\frac{x}{r}\right)$ berechnen l\"{a}sst:
+\begin{equation*}
+ \beta = \arccos\left(\frac{x_{1}}{r}\right) = \arcsin\left(\frac{x_{2}}{r}\right) = \arcsin\left( \frac{1}{2}\sqrt{2}\cdot\sqrt{1 - \frac{1 - v^{2}}{\sqrt{v^{4} + 2 v^{2}\cos(2\varphi) + 1}}}\right)
+ = \arcsin\left( \frac{1}{2}\sqrt{2}\cdot\sqrt{1 - t}\right)
+\end{equation*}
+Der Winkel $\alpha$ ergibt sich folgenderma{\ss}en:
+\begin{equation*}
+ \alpha = \arcsin\left( \frac{y'}{R}\right) = \arcsin\left( \frac{y\cdot v\cdot \sin(\varphi)}{R}\right)
+ = \arcsin\left( \frac{\frac{\sqrt{2}}{2}\cdot\sqrt{1 - t}\cdot v\cdot \sin(\varphi)}{\sqrt{\frac{1}{2}\left( 1 + t\right)\cdot \left(1-v^{2}\right) + v^{2} + v\cdot \cos(\varphi)\sqrt{1-t^{2}}}}\right)
+\end{equation*}
+
+
+\subsection{Polarkoordinaten}
+
+\begin{equation*}
+\tan2\beta=\frac{2v\cos\varphi}{1-v^2}\quad \tan\alpha = \frac{\tan\varphi}{\frac{1}{v\cos\varphi\tan\beta}+1}
+\end{equation*}
+%
+\begin{equation*}
+R_{\max} = r\sqrt{\frac{1}{2}\left(1+\cos\left(\arctan\left[\frac{2v\cos\varphi}{1-v^2}\right]\right)\right)
+(1-v^2)+v^2+v\cos\varphi\cdot\sin\left(\arctan\left[\frac{2v\cos\varphi}{1-v^2}\right]\right)}
+\end{equation*}
+
+
+
+\subsection{Spezialfall $\varphi=45^{\circ}$, $v=0,5$}
+
+Die Terme lassen sich nochmals vereinfachen und man erh\"{a}lt mit $t=\frac{3\cdot \sqrt{17}}{17}$:
+\begin{equation*}
+ x_{1} = \frac{r}{34}\sqrt{578+102\sqrt{17}} \approx r\cdot 0,9294102631; \qquad x_{2} = -\frac{r}{34}\sqrt{578-102\sqrt{17}} \approx -r\cdot 0,369048184
+\end{equation*}
+Daraus berechnet man die gro{\ss}e und die kleine Halbachse, sowie die beiden Winkel zu:
+\begin{equation*}
+ a = R(x_{1}) = \frac{r}{4}\sqrt{10 + 2\sqrt{17}} \approx r\cdot 1,067889602
+\end{equation*}
+\begin{equation*}
+ b = R(x_{2}) = \frac{r}{4}\sqrt{10 - 2\sqrt{17}} \approx r\cdot 0,3310767232
+\end{equation*}
+%
+\begin{equation*}
+ \beta = \arcsin\left( \frac{1}{34}\sqrt{578-102\sqrt{17}}\right) \approx 21,65692833^{\circ}
+\end{equation*}
+%
+\begin{equation*}
+ \alpha = \arcsin\left( \frac{\sqrt{1-\frac{3\cdot \sqrt{17}}{17}}}{\sqrt{10 + 2\cdot\sqrt{17}}}\right) \approx 7,018121736^{\circ}
+\end{equation*}
+
+\begin{pspicture}[showgrid=true](1,-1.8)(16,6)
+%
+\psset{toplinewidth=0.3pt,opacity=0.3}
+{\psset{vkf=0.4,phi=33}
+\psboxTS[linewidth=0.5pt,opacity=0.2,linejoin=1,hideline=true,dash=2pt 2pt,hidelinewidth=0.3pt](-2,2,1){4}{4}{4}{yellow}
+\rput(4,1){%
+\psZylinderTS[topfillcolor=red,opacity=0.6,linewidth=0.5pt,fillstyle=gradient,gradbegin=black!90!blue!80,gradend=black!40!blue!30,gradangle=90,gradmidpoint=0.25]{2}{4}}
+\psboxTS[linewidth=0.5pt,opacity=0.1,linejoin=1](-2,2,1){4}{4}{4}{yellow}
+}
+
+{\psset{vkf=0.6,phi=60}
+\psboxTS[linewidth=0.5pt,opacity=0.2,linejoin=1,hideline=true,dash=2pt 2pt,hidelinewidth=0.3pt](-2,8,1){4}{4}{4}{cyan}
+\rput(10,1){\psZylinderTS[opacity=0.6,linewidth=0.5pt,fillstyle=gradient,gradbegin=black!90!blue!80,gradend=black!40!blue!30,gradangle=90,gradmidpoint=0.25]{2}{4}}
+\psboxTS[linewidth=0.5pt,opacity=0.1,linejoin=1](-2,8,1){4}{4}{4}{cyan}
+}
+
+\rput{-90}(1,-1){\psZylinderTS[phi=-70,vkf=0.4,linewidth=0.5pt,fillstyle=gradient,gradbegin=black!90!green!80,%
+gradend=black!40!green!30,gradangle=90,gradmidpoint=0.25,topfillstyle=gradient,topmidpoint=0.5,topangle=25]{0.5}{13}}
+\end{pspicture}
+
+\begin{pspicture}[showgrid=true](1,-0.3)(13,6)
+%
+\psset{toplinewidth=0.3pt,opacity=0.3}
+\pnode(4,3){MPK}
+{\psset{vkf=0.3,phi=20}
+\psboxTS[linewidth=0.5pt,opacity=0.2,linejoin=1,hideline=true,dash=2pt 2pt,hidelinewidth=0.3pt](-2,8,1){4}{4}{4}{green}
+\rput(10,1){\psZylinderTS[opacity=0.6,linewidth=0.5pt,fillstyle=gradient,gradbegin=black!90!blue!80,gradend=black!40!blue!30,gradangle=90,gradmidpoint=0.25]{2}{4}}
+\psboxTS[linewidth=0.5pt,opacity=0.1,linejoin=1](-2,8,1){4}{4}{4}{green}
+}
+
+\psrotate(MPK){0}{\psCircleTS[fillstyle=solid,fillcolor=green,opacity=0.5,linestyle=dashed,originT={MPK}]{3}}
+\psCircleTSX[fillstyle=solid,fillcolor=green,opacity=0.5,linestyle=solid,originT={MPK},linewidth=0.3pt]{3}
+
+\pnode(4,4){MPK}
+\psArcTS[linestyle=dashed,originT={MPK}]{3}{0}{80}
+\end{pspicture}
+
+\begin{pspicture}[showgrid=false,shift=0](0,0)(13,6)%
+
+\pnode(1,1){A}
+\pnode(1,5){B}
+\pnode(5,1){C}
+
+\rput{0}(3,1){%
+\psZylinderTS[hideline=true,hidelinewidth=0.3pt,toplinewidth=0.5pt,dash=2pt 2pt,opacity=0.6,linewidth=0.5pt,fillstyle=gradient,%
+gradbegin=black!90!blue!80,gradend=black!40!blue!30,gradangle=90,gradmidpoint=0.25]{2}{4}}
+
+\pcline[linestyle=dashed,dash=3pt 2pt,nodesepA=2pt,linewidth=0.6pt](A)([nodesep=-0.9]A)
+\pcline[linestyle=dashed,dash=3pt 2pt,nodesepA=2pt,linewidth=0.6pt](B)([nodesep=-0.9]B)
+
+\pcline[linestyle=dashed,dash=3pt 2pt,nodesepA=3pt,linewidth=0.6pt](A)([offset=-1.1]A)
+\pcline[linestyle=dashed,dash=3pt 2pt,nodesepA=3pt,linewidth=0.6pt](C)([offset=-1.1]C)
+
+\pcline[offset=0.6,arrowsize=0.15,arrowlength=2,arrowinset=0.03]{<->}(A)(B)
+\ncput*{$h$}
+
+\pcline[offset=-1,arrowsize=0.15,arrowlength=2,arrowinset=0.03]{<->}(A)(C)
+\ncput*{$d$}
+
+\psboxTS[opacity=0.2,vkf=0.43,linejoin=1,hideline=true](-2,6.9,1){4}{4.2}{4}{red}
+\rput{0}(9,1){\Zylinder{4}{2}{black!90!blue!80}{black!40!blue!30}{0.2}{black!60!blue!70}{0.5pt}{solid}{middle}}
+\psboxTS[opacity=0.3,vkf=0.43,linejoin=1](-2,6.9,1){4}{4.2}{4}{red}
+
+%\psboxTS[opacity=0.2,vkf=0.43,linejoin=1,hideline=true](-2,6.9,1){4}{4.2}{4}{red}
+%\rput{0}(9,1){\Zylinder{4}{2}{black!90!blue!80}{black!40!blue!30}{0.2}{black!60!blue!70}{0.5pt}{solid}{middle}}
+%\psboxTS[opacity=0.3,vkf=0.5,linejoin=1,hideline=true](-2,7,1){4}{4}{4}{red}
+%
+%\psrotate(9,1){6.38}{\psellipticarc[linecolor=red](9,1)(2.12,0.68){180}{360}}
+
+\end{pspicture}
+
+
+
+
+\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-doc.pdf b/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-doc.pdf
index e05e6f46c83..768938c247b 100644
--- a/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-doc.pdf
+++ b/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-doc.tex b/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-doc.tex
index 24feb50f8aa..43b2bcae5da 100644
--- a/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-doc.tex
+++ b/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-doc.tex
@@ -1,5 +1,5 @@
\PassOptionsToPackage{dvipsnames}{xcolor}
-\PassOptionsToPackage{distiller}{pstricks}
+%\PassOptionsToPackage{distiller}{pstricks}
\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,
smallheadings, headexclude,footexclude,oneside]{pst-doc}
\usepackage[utf8]{inputenc}
@@ -7,7 +7,7 @@
\usepackage{multido,pst-grad,pst-eucl,pst-3dplot,pstricks-add}
\usepackage{pst-perspective}
-\def\fileversion{1.03}
+\def\fileversion{1.04}
\let\pstPerspectiveFV\fileversion
\renewcommand\bgImage{\psscalebox{0.85}{%
\begin{pspicture}[showgrid=false](0.5,-0.5)(11.5,8.5)
@@ -30,14 +30,19 @@
\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.4,linecolor=blue](A')(B')(C')(D')(E')(F')(G')(H')
\pspolygon[fillstyle=solid,fillcolor=yellow!40,opacity=0.2,linewidth=0.9pt,linecolor=red](A)(B)(C)(D)(E)(F)(G)(H)
\pcline[linewidth=1.3pt](0,0|O)(11,0|O)
+\psset{toplinewidth=0.5pt,opacity=0.3,vkf=0.4,phi=33,topfillcolor=cyan}
+\psboxTS[linewidth=0.5pt,opacity=0.2,linejoin=1,hideline=true,dash=2pt 2pt,hidelinewidth=0.3pt](-2,8,1){4}{4}{4}{green}
+\rput(10,1){\psZylinderTS[opacity=0.6,linewidth=0.5pt,fillstyle=gradient,gradbegin=black!90!blue!80,%
+gradend=black!40!blue!30,gradangle=90,gradmidpoint=0.25]{2}{4}}
+\psboxTS[linewidth=0.5pt,opacity=0.1,linejoin=1](-2,8,1){4}{4}{4}{green}
\end{pspicture}
}}
\parindent0pt
\lstset{explpreset={pos=l,width=-99pt,overhang=0pt,hsep=\columnsep,vsep=\bigskipamount,rframe={}},language=PSTricks,
-morekeywords={pstransTSK,pstransTSX,pstransTS,pstMarkAngle,psIntersectionPoint,psboxTS},
- escapechar=?}
+morekeywords={pstransTSK,pstransTSX,pstransTS,pstMarkAngle,psIntersectionPoint,psboxTS,pstThreeDPlaneGrid,psZylinderTS,psCircleTS,psCircleTSX,
+psArcTS,psArcTSX}, escapechar=?}
%\lstset{language=PSTricks,morekeywords={pst-perspective},basicstyle=\footnotesize\ttfamily}
%
@@ -731,6 +736,89 @@ Das Makro l\"{a}sst sich, wie die anderen auch, gut mit dem Paket pst-3dplot kom
\newpage
+\section{Makros f\"{u}r Kreise und Kreisb\"{o}gen}
+
+\begin{BDef}
+\Lcs{psCircleTS}\OptArgs\Largb{\rm{Radius}},\\
+\Lcs{psCircleTSX}\OptArgs\Largb{\rm{Radius}}
+\end{BDef}
+
+\begin{BDef}
+\Lcs{psArcTS}\OptArgs\Largb{\rm{Radius}}\Largb{\rm{Startwinkel}}\Largb{\rm{\"{u}berstrichener Winkel}},\\
+\Lcs{psArcTSX}\OptArgs\Largb{\rm{Radius}}\Largb{\rm{Startwinkel}}\Largb{\rm{\"{u}berstrichener Winkel}}
+\end{BDef}
+
+%\nxLcs{psCircleTS}, \nxLcs{psCircleTSX}, \nxLcs{psarcTS}, \nxLcs{psarcTSX}, \nxLcs{psZylinderTS}}
+
+\begin{LTXexample}[pos=t]
+\begin{pspicture}[showgrid=true,shift=-4.9](0.5,-0.5)(14,7.3)
+\rput(2,4){\psCircleTS[fillstyle=solid,fillcolor=blue,opacity=0.5]{2}}
+\rput(10,2){\psCircleTSX[fillstyle=solid,fillcolor=red,opacity=0.5]{2}}
+\rput(5,2){\psArcTS[linecolor=green,linewidth=0.5pt]{2}{0}{90}}
+\psArcTSX[linecolor=magenta,linewidth=0.5pt,originT={6,4},symX=false]{1.5}{0}{120}
+\end{pspicture}
+\end{LTXexample}
+
+\newpage
+
+\section{Makro f\"{u}r einen Zylinder}
+
+\begin{BDef}
+\Lcs{psZylinderTS}\OptArgs\Largb{\rm{Radius}}\Largb{\rm{H\"{o}he}}
+\end{BDef}
+
+\begin{LTXexample}[pos=t]
+\begin{pspicture}[showgrid=true,shift=-4.9](0.5,-0.5)(14,8.8)
+\psset{toplinewidth=0.3pt,toplinecolor=cyan}
+\rput(10,1){%
+\psZylinderTS[opacity=0.6,fillstyle=gradient,gradbegin=black!90!blue!80,gradend=black!40!blue!30,gradangle=90,%
+gradmidpoint=0.3,linecolor=cyan,linewidth=0.8pt]{2.5}{6}}
+{\psset{phi=30,vkf=2 sqrt 2 div,opacity=0.2}
+\psboxTS[hideline=true](-1,2,2){2}{2}{4}{green}
+\rput(3,2){%
+\psZylinderTS[opacity=0.6,fillstyle=gradient,gradbegin=black!90!blue!80,gradend=black!40!blue!30,gradangle=90,%
+gradmidpoint=0.3,linecolor=cyan,linewidth=0.8pt]{1}{4}}
+\psboxTS[hideline=false](-1,2,2){2}{2}{4}{green}
+}
+\end{pspicture}
+\end{LTXexample}
+
+\newpage
+
+F\"{u}r den Zylinder sind folgende zus\"{a}tzliche Optionen m\"{o}glich, damit die Deckfl\"{a}che des Zylinders unabh\"{a}ngig gestaltet werden kann:
+
+\begin{BDef}
+\Lcs{pstransTS}[\OptArg*{\nxLkeyword{topfillstyle}}],\\
+\Lcs{pstransTS}[\OptArg*{\nxLkeyword{topmidpoint}}],\\
+\Lcs{pstransTS}[\OptArg*{\nxLkeyword{topangle}}],\\
+\Lcs{pstransTS}[\OptArg*{\nxLkeyword{toplinecolor}}],\\
+\Lcs{pstransTS}[\OptArg*{\nxLkeyword{topfillcolor}}],\\
+\Lcs{pstransTS}[\OptArg*{\nxLkeyword{toplinewidth}}]
+\end{BDef}
+
+Au{\ss}erdem kann mit \Lkeyset{hideline=true}, \Lkeyset{hidelinewidth=}, \Lkeyset{hidelinestyle=} und \Lkeyset{hidecolor=} die verdeckte Linie des Zylinders mit unterschiedlichen Attributen angezeigt werden.
+
+\begin{LTXexample}[pos=t]
+\begin{pspicture}[showgrid=true](1,-0.3)(16,6)
+\psset{toplinewidth=0.5pt,opacity=0.3}
+{\psset{vkf=0.4,phi=33,topfillcolor=red}
+\psboxTS[linewidth=0.5pt,opacity=0.2,linejoin=1,hideline=true,dash=2pt 2pt,hidelinewidth=0.3pt](-2,2,1){4}{4}{4}{green}
+\rput(4,1){\psZylinderTS[opacity=0.6,linewidth=0.5pt,fillstyle=gradient,gradbegin=black!90!blue!80,%
+gradend=black!40!blue!30,gradangle=90,gradmidpoint=0.25]{2}{4}}
+\psboxTS[linewidth=0.5pt,opacity=0.1,linejoin=1](-2,2,1){4}{4}{4}{green}}
+{\psset{vkf=0.7,phi=60,topfillstyle=gradient,topmidpoint=0.4,topangle=90}
+\psboxTS[linewidth=0.5pt,opacity=0.2,linejoin=1,hideline=true,dash=2pt 2pt,hidelinewidth=0.3pt](-2,8,1){4}{4}{4}{cyan}
+\rput(10,1){\psZylinderTS[hideline=true,hidecolor=orange,dash=2pt 2pt,%
+hidelinewidth=0.3pt,opacity=0.6,linewidth=0.5pt,fillstyle=gradient,gradbegin=black!90!blue!80,%
+gradend=black!40!blue!30,gradangle=90,gradmidpoint=0.25]{2}{4}}
+\psboxTS[linewidth=0.5pt,opacity=0.1,linejoin=1](-2,8,1){4}{4}{4}{cyan}}
+\rput{-90}(13,1){\psZylinderTS[phi=-30,linewidth=0.5pt,fillstyle=gradient,gradbegin=black!90!green!80,%
+gradend=black!40!green!30,gradangle=90,gradmidpoint=0.25,topfillstyle=gradient,topmidpoint=0.5,topangle=35]{1}{3}}
+\end{pspicture}
+\end{LTXexample}
+
+\newpage
+
\section{Beispiele}
diff --git a/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-docEN.pdf b/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-docEN.pdf
index ea148da0d0d..45cfe0ca102 100644
--- a/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-docEN.pdf
+++ b/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-docEN.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-docEN.tex b/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-docEN.tex
index 05574b9d6de..966b729ee6f 100644
--- a/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-docEN.tex
+++ b/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-docEN.tex
@@ -1,5 +1,5 @@
\PassOptionsToPackage{dvipsnames}{xcolor}
-\PassOptionsToPackage{distiller}{pstricks}
+%\PassOptionsToPackage{distiller}{pstricks}
\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,
smallheadings, headexclude,footexclude,oneside]{pst-doc}
\usepackage[utf8]{inputenc}
@@ -7,9 +7,8 @@
\usepackage{multido,pst-grad,pst-eucl,pst-3dplot,pstricks-add}
\usepackage{pst-perspective}
-\lstset{language=PSTricks,morekeywords={pstransTSK,pstransTSX,pstransTS,pstMarkAngle,psIntersectionPoint,psboxTS}}
-\def\fileversion{1.03}
+\def\fileversion{1.04}
\let\pstPerspectiveFV\fileversion
\renewcommand\bgImage{\psscalebox{0.85}{%
\begin{pspicture}[showgrid=false](0.5,-0.5)(11.5,8.5)
@@ -32,13 +31,19 @@
\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.4,linecolor=blue](A')(B')(C')(D')(E')(F')(G')(H')
\pspolygon[fillstyle=solid,fillcolor=yellow!40,opacity=0.2,linewidth=0.9pt,linecolor=red](A)(B)(C)(D)(E)(F)(G)(H)
\pcline[linewidth=1.3pt](0,0|O)(11,0|O)
+\psset{toplinewidth=0.5pt,opacity=0.3,vkf=0.4,phi=33,topfillcolor=cyan}
+\psboxTS[linewidth=0.5pt,opacity=0.2,linejoin=1,hideline=true,dash=2pt 2pt,hidelinewidth=0.3pt](-2,8,1){4}{4}{4}{green}
+\rput(10,1){\psZylinderTS[opacity=0.6,linewidth=0.5pt,fillstyle=gradient,gradbegin=black!90!blue!80,%
+gradend=black!40!blue!30,gradangle=90,gradmidpoint=0.25]{2}{4}}
+\psboxTS[linewidth=0.5pt,opacity=0.1,linejoin=1](-2,8,1){4}{4}{4}{green}
\end{pspicture}
}}
\parindent0pt
-\lstset{explpreset={pos=l,width=-99pt,overhang=0pt,hsep=\columnsep,vsep=\bigskipamount,rframe={}},
- escapechar=?}
+\lstset{explpreset={pos=l,width=-99pt,overhang=0pt,hsep=\columnsep,vsep=\bigskipamount,rframe={}},language=PSTricks,
+morekeywords={pstransTSK,pstransTSX,pstransTS,pstMarkAngle,psIntersectionPoint,psboxTS,pstThreeDPlaneGrid,psZylinderTS,psCircleTS,psCircleTSX,
+psArcTS,psArcTSX}, escapechar=?}
%\lstset{language=PSTricks,morekeywords={pst-perspective},basicstyle=\footnotesize\ttfamily}
%
@@ -730,8 +735,92 @@ This macro and the others as well can be used in combination with the pst-3dplot
\end{pspicture}
\end{LTXexample}
+\newpage
+
+\section{Macros for circles and arcs}
+
+\begin{BDef}
+\Lcs{psCircleTS}\OptArgs\Largb{\rm{Radius}},\\
+\Lcs{psCircleTSX}\OptArgs\Largb{\rm{Radius}}
+\end{BDef}
+
+\begin{BDef}
+\Lcs{psArcTS}\OptArgs\Largb{\rm{Radius}}\Largb{\rm{Startwinkel}}\Largb{\rm{\"{u}berstrichener Winkel}},\\
+\Lcs{psArcTSX}\OptArgs\Largb{\rm{Radius}}\Largb{\rm{Startwinkel}}\Largb{\rm{\"{u}berstrichener Winkel}}
+\end{BDef}
+
+%\nxLcs{psCircleTS}, \nxLcs{psCircleTSX}, \nxLcs{psarcTS}, \nxLcs{psarcTSX}, \nxLcs{psZylinderTS}}
+
+\begin{LTXexample}[pos=t]
+\begin{pspicture}[showgrid=true,shift=-4.9](0.5,-0.5)(14,7.3)
+\rput(2,4){\psCircleTS[fillstyle=solid,fillcolor=blue,opacity=0.5]{2}}
+\rput(10,2){\psCircleTSX[fillstyle=solid,fillcolor=red,opacity=0.5]{2}}
+\rput(5,2){\psArcTS[linecolor=green,linewidth=0.5pt]{2}{0}{90}}
+\psArcTSX[linecolor=magenta,linewidth=0.5pt,originT={6,4},symX=false]{1.5}{0}{120}
+\end{pspicture}
+\end{LTXexample}
\newpage
+
+\section{Macro for cylinder}
+
+\begin{BDef}
+\Lcs{psZylinderTS}\OptArgs\Largb{\rm{Radius}}\Largb{\rm{H\"{o}he}}
+\end{BDef}
+
+\begin{LTXexample}[pos=t]
+\begin{pspicture}[showgrid=true,shift=-4.9](0.5,-0.5)(14,8.8)
+\psset{toplinewidth=0.3pt,toplinecolor=cyan}
+\rput(10,1){%
+\psZylinderTS[opacity=0.6,fillstyle=gradient,gradbegin=black!90!blue!80,gradend=black!40!blue!30,gradangle=90,%
+gradmidpoint=0.3,linecolor=cyan,linewidth=0.8pt]{2.5}{6}}
+{\psset{phi=30,vkf=2 sqrt 2 div,opacity=0.2}
+\psboxTS[hideline=true](-1,2,2){2}{2}{4}{green}
+\rput(3,2){%
+\psZylinderTS[opacity=0.6,fillstyle=gradient,gradbegin=black!90!blue!80,gradend=black!40!blue!30,gradangle=90,%
+gradmidpoint=0.3,linecolor=cyan,linewidth=0.8pt]{1}{4}}
+\psboxTS[hideline=false](-1,2,2){2}{2}{4}{green}
+}
+\end{pspicture}
+\end{LTXexample}
+
+\newpage
+
+The following additional options are possible for the cylinder so that the top surface of the cylinder can be designed independently.
+
+\begin{BDef}
+\Lcs{pstransTS}[\OptArg*{\nxLkeyword{topfillstyle}}],\\
+\Lcs{pstransTS}[\OptArg*{\nxLkeyword{topmidpoint}}],\\
+\Lcs{pstransTS}[\OptArg*{\nxLkeyword{topangle}}],\\
+\Lcs{pstransTS}[\OptArg*{\nxLkeyword{toplinecolor}}],\\
+\Lcs{pstransTS}[\OptArg*{\nxLkeyword{topfillcolor}}],\\
+\Lcs{pstransTS}[\OptArg*{\nxLkeyword{toplinewidth}}]
+\end{BDef}
+
+
+In addition, with \Lkeyset{hideline=true}, \Lkeyset{hidelinewidth=}, \Lkeyset{hidelinestyle=} and \Lkeyset{hidecolor=} covert line of the cylinder with different attributes are displayed.
+
+\begin{LTXexample}[pos=t]
+\begin{pspicture}[showgrid=true](1,-0.3)(16,6)
+\psset{toplinewidth=0.5pt,opacity=0.3}
+{\psset{vkf=0.4,phi=33,topfillcolor=red}
+\psboxTS[linewidth=0.5pt,opacity=0.2,linejoin=1,hideline=true,dash=2pt 2pt,hidelinewidth=0.3pt](-2,2,1){4}{4}{4}{green}
+\rput(4,1){\psZylinderTS[opacity=0.6,linewidth=0.5pt,fillstyle=gradient,gradbegin=black!90!blue!80,%
+gradend=black!40!blue!30,gradangle=90,gradmidpoint=0.25]{2}{4}}
+\psboxTS[linewidth=0.5pt,opacity=0.1,linejoin=1](-2,2,1){4}{4}{4}{green}}
+{\psset{vkf=0.7,phi=60,topfillstyle=gradient,topmidpoint=0.4,topangle=90}
+\psboxTS[linewidth=0.5pt,opacity=0.2,linejoin=1,hideline=true,dash=2pt 2pt,hidelinewidth=0.3pt](-2,8,1){4}{4}{4}{cyan}
+\rput(10,1){\psZylinderTS[hideline=true,hidecolor=orange,dash=2pt 2pt,%
+hidelinewidth=0.3pt,opacity=0.6,linewidth=0.5pt,fillstyle=gradient,gradbegin=black!90!blue!80,%
+gradend=black!40!blue!30,gradangle=90,gradmidpoint=0.25]{2}{4}}
+\psboxTS[linewidth=0.5pt,opacity=0.1,linejoin=1](-2,8,1){4}{4}{4}{cyan}}
+\rput{-90}(13,1){\psZylinderTS[phi=-30,linewidth=0.5pt,fillstyle=gradient,gradbegin=black!90!green!80,%
+gradend=black!40!green!30,gradangle=90,gradmidpoint=0.25,topfillstyle=gradient,topmidpoint=0.5,topangle=35]{1}{3}}
+\end{pspicture}
+\end{LTXexample}
+
+\newpage
+
\section{Examples}
\begin{LTXexample}[pos=t]
diff --git a/Master/texmf-dist/tex/generic/pst-perspective/pst-perspective.tex b/Master/texmf-dist/tex/generic/pst-perspective/pst-perspective.tex
index 76274535f8b..85848c9b4f8 100644
--- a/Master/texmf-dist/tex/generic/pst-perspective/pst-perspective.tex
+++ b/Master/texmf-dist/tex/generic/pst-perspective/pst-perspective.tex
@@ -14,11 +14,11 @@
%
\csname PSTperspectiveLoaded\endcsname
\let\PSTperspectiveLoaded\endinput
-%\ifx\PSTEuclideLoaded\endinput \else\input pst-eucl \fi
-%\ifx\PSTricksAddLoaded\endinput\else\input pstricks-add \fi
+\ifx\PSTGradLoaded\endinput \else\input pst-grad \fi
+\ifx\PSTricksAddLoaded\endinput\else\input pstricks-add \fi
%
-\def\fileversion{0.01}
-\def\filedate{2014/02/21}
+\def\fileversion{1.04}
+\def\filedate{2014/04/18}
\message{ v\fileversion, \filedate (ts)}
\message{ v\fileversion, \filedate}
\edef\TheAtCode{\the\catcode`\@}
@@ -31,6 +31,12 @@
\define@boolkey[psset]{pst-perspective}[Pst@]{differentcol}[false]{} % unterschiedliche Farben der Fl\"{a}chen
\define@boolkey[psset]{pst-perspective}[Pst@]{LowPoint}[false]{} % Basis durch z.B. tief liegenden Pkt
\define@boolkey[psset]{pst-perspective}[Pst@]{symX}[true]{} % Symmetrieachse bei spiegelverkehrten Bildern
+\define@key[psset]{pst-perspective}{topfillstyle}[solid]{\def\psk@transTS@topfillstyle{#1}}
+\define@key[psset]{pst-perspective}{topangle}[45]{\def\psk@transTS@topangle{#1}}
+\define@key[psset]{pst-perspective}{topmidpoint}[0.5]{\def\psk@transTS@topmidpoint{#1}}
+\define@key[psset]{pst-perspective}{toplinecolor}[black]{\def\psk@transTS@toplinecolor{#1}}
+\define@key[psset]{pst-perspective}{topfillcolor}[gray]{\def\psk@transTS@topfillcolor{#1}}
+\define@key[psset]{pst-perspective}{toplinewidth}[0.8pt]{\def\psk@transTS@toplinewidth{#1}}
\define@key[psset]{pst-perspective}{hidecolor}[black!80]{\def\psk@transTS@hidecolor{#1}}
\define@key[psset]{pst-perspective}{facecolorT}[yellow]{\def\psk@transTS@facecolorT{#1}}
\define@key[psset]{pst-perspective}{facecolorR}[red]{\def\psk@transTS@facecolorR{#1}}
@@ -55,7 +61,9 @@
\psset[pst-perspective]{phi=45,vkf=0.5,base=0,translineA=false,translineB=false,transAcolor=green,transBcolor=blue,differentcol=false,%
transAlinewidth=0.7pt,transBlinewidth=0.7pt,transAlinestyle=dashed,transBlinestyle=dashed,deltaphi=0,facecolorT=yellow,facecolorR=red,%
symline=0,symX=true,hidecolor=black!80,translineK=true,transcolor=blue,translinewidth=0.8pt,translinestyle=solid,%
-LowPoint=false,LowP={0,0},originT={0,0},hideline=false,hidelinewidth=0.7pt,hidelinestyle=dashed}%
+LowPoint=false,LowP={0,0},originT={0,0},hideline=false,hidelinewidth=0.7pt,hidelinestyle=dashed,%
+topfillstyle=solid,topangle=45,topmidpoint=0.5,toplinecolor=black,toplinewidth=0.8pt,topfillcolor=gray%
+}%
\SpecialCoor%
\def\ba{\psk@transTS@base}
\def\pstransTS{\pst@object{pstpstransTS}}%
@@ -266,6 +274,133 @@ l2 \psk@transTS@phi 180 add PtoC #3 add exch #2 #5 add add exch)%
\endgroup
\ignorespaces
}
+%------------------------------------------------------------------
+\def\psCircleTS{\pst@object{pstpsCircleTS}}%
+\def\pstpsCircleTS@i#1{%
+\begingroup%
+\pst@killglue
+\use@par
+\def\punkte{}
+\multido{\i=0+3}{120}{%
+\pstransTS(#1;\i){AnfPktC\i}{EndPktC'\i}
+\xdef\punkte{\punkte(EndPktC'\i)}}
+\expandafter\psccurve\punkte
+\endgroup
+\ignorespaces
+}
+%--------------------------------------------------------------------------------
+%------------------------------------------------------------------
+\def\psCircleTSX{\pst@object{pstpsCircleTSX}}%
+\def\pstpsCircleTSX@i#1{%
+\begingroup%
+\pst@killglue
+\use@par
+\def\punkte{}
+\multido{\i=0+3}{120}{%
+\pstransTSX(#1;\i){AnfPktC\i}{EndPktC'\i}
+\xdef\punkte{\punkte(EndPktC'\i)}}
+\expandafter\psccurve\punkte
+\endgroup
+\ignorespaces
+}
+%--------------------------------------------------------------------------------
+%------------------------------------------------------------------
+\def\psArcTS{\pst@object{pstpsArcTS}}%
+\def\pstpsArcTS@i#1#2#3{%
+\begingroup%
+\pst@killglue
+\use@par
+\pst@Verb{%
+/v \psk@transTS@vkf def%
+/ph \psk@transTS@phi def%
+/t 1 v 2 exp sub v 4 exp 2 v 2 exp mul 2 ph mul cos mul add 1 add sqrt div def%
+/ws 2 sqrt 2 div 1 t sub sqrt mul ASIN 180 mul Pi div def%
+}
+\def\punkte{}
+\multido{\r=0+1}{#3}{%
+\pstransTS(! #1 ws #2 add \r\space add PtoC){AnfPkt}{EndPkt\r}
+\xdef\punkte{\punkte(EndPkt\r)}}
+\expandafter\pscurve\punkte
+\endgroup
+\ignorespaces
+}
+%--------------------------------------------------------------------------------
+%------------------------------------------------------------------
+\def\psArcTSX{\pst@object{pstpsArcTSX}}%
+\def\pstpsArcTSX@i#1#2#3{%
+\begingroup%
+\pst@killglue
+\use@par
+\pst@Verb{%
+/v \psk@transTS@vkf def%
+/ph \psk@transTS@phi def%
+/t 1 v 2 exp sub v 4 exp 2 v 2 exp mul 2 ph mul cos mul add 1 add sqrt div def%
+/ws 2 sqrt 2 div 1 t sub sqrt mul ASIN 180 mul Pi div def%
+}
+\def\punkte{}
+\multido{\r=0+1}{#3}{%
+\pstransTSX(! #1 ws 90 add #2 add \r\space add PtoC){AnfPkt}{EndPkt\r}
+\xdef\punkte{\punkte(EndPkt\r)}}
+\expandafter\pscurve\punkte
+\endgroup
+\ignorespaces
+}
+%--------------------------------------------------------------------------------
+%------------------------------------------------------------------
+\def\psZylinderTS{\pst@object{pstpsZylinderTS}}%
+\def\pstpsZylinderTS@i#1#2{%
+\begingroup%
+\pst@killglue
+\use@par
+\pst@Verb{%
+/v \psk@transTS@vkf def%
+/ph \psk@transTS@phi def%
+/t 1 v 2 exp sub v 4 exp 2 v 2 exp mul 2 ph mul cos mul add 1 add sqrt div def%
+/ws 2 sqrt 2 div 1 t sub sqrt mul ASIN 180 mul Pi div def%
+/Ra 0.5 1 t add mul 1 v 2 exp sub mul v 2 exp add v ph cos mul 1 t 2 exp sub sqrt mul add sqrt def%
+/Rb 0.5 1 t sub mul 1 v 2 exp sub mul v 2 exp add v ph cos mul 1 t 2 exp sub sqrt mul sub sqrt def%
+/we 2 sqrt 2 div 1 t sub sqrt mul v mul ph sin mul Ra div ASIN 180 mul Pi div def%
+}
+\def\punkteA{}
+\def\punkteB{}
+\def\punkteC{}
+\def\punkteD{}
+\multido{\r=0+1}{180}{%
+\pstransTS[originT={0,0}](! #1 ph 0 ge {ws 180 add} {ws} ifelse \r\space add PtoC){ZylA\r}{ZylA'\r}%
+\xdef\punkteA{\punkteA(ZylA'\r)}}%
+\multido{\rB=0+1}{180}{%
+\pstransTS[originT={0,#2}](! #1 ph 0 ge {ws} {ws 180 add} ifelse \rB\space add PtoC){ZylB\rB}{ZylB'\rB}%
+\xdef\punkteB{\punkteB(ZylB'\rB)}}%
+\multido{\rC=0+1}{180}{%
+\pstransTS[originT={0,0}](! #1 ws \rC\space add PtoC){ZylC\rC}{ZylC'\rC}%
+\xdef\punkteC{\punkteC(ZylC'\rC)}}%
+\multido{\rD=0+1}{360}{%
+\pstransTS[originT={0,#2}](#1;\rD){ZylD\rD}{ZylD'\rD}%
+\xdef\punkteD{\punkteD(ZylD'\rD)}}%
+%-----------------------------------------------
+\pscustom{%
+\expandafter\pscurve\punkteA%
+\rlineto(0,#2)
+\expandafter\pscurve\punkteB%
+\closepath%
+}%
+%-----------------------------------------------
+\pscustom[fillstyle=\psk@transTS@topfillstyle,gradangle=\psk@transTS@topangle,gradmidpoint=\psk@transTS@topmidpoint,linecolor=\psk@transTS@toplinecolor,%
+linewidth=\psk@transTS@toplinewidth,fillcolor=\psk@transTS@topfillcolor]{%
+\expandafter\psccurve\punkteD%
+\closepath
+}%
+%\psrotate(0,#2){! we}{%
+%\psellipse[fillstyle=\psk@transTS@topfillstyle,gradangle=\psk@transTS@topangle,gradmidpoint=\psk@transTS@topmidpoint,linecolor=\psk@transTS@toplinecolor,%
+%linewidth=\psk@transTS@toplinewidth,fillcolor=\psk@transTS@topfillcolor](0,#2)(!Ra #1 mul Rb #1 mul)}%
+\ifPst@hideline
+\psset{linecolor=\psk@transTS@hidecolor,linestyle=\psk@transTS@hidelinestyle,linewidth=\psk@transTS@hidelinewidth}%
+\expandafter\pscurve\punkteC%
+\else \fi%
+\endgroup
+\ignorespaces
+}
+%--------------------------------------------------------------------------------
\catcode`\@=\TheAtCode\relax
\endinput
%%
diff --git a/Master/texmf-dist/tex/latex/pst-perspective/pst-perspective.sty b/Master/texmf-dist/tex/latex/pst-perspective/pst-perspective.sty
index 0e857f5cd46..6ea036696d9 100644
--- a/Master/texmf-dist/tex/latex/pst-perspective/pst-perspective.sty
+++ b/Master/texmf-dist/tex/latex/pst-perspective/pst-perspective.sty
@@ -1,4 +1,5 @@
\RequirePackage{pstricks}
+\RequirePackage{pst-grad}
\ProvidesPackage{pst-perspective}[2014/02/21 package wrapper for PSTricks pst-perspective.tex]
\input{pst-perspective.tex}
\ProvidesFile{pst-perspective.tex}