diff options
author | Karl Berry <karl@freefriends.org> | 2014-04-04 22:36:52 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2014-04-04 22:36:52 +0000 |
commit | cb0d77e2c7837d3ff3ffd2b9de0942e093421bdf (patch) | |
tree | 38040b993055bc9edaafebacb9ea1b7afc24813d /Master/texmf-dist/doc | |
parent | b0fd74db0ba6b54773beafbd3d06b39775d832a5 (diff) |
pst-perspective (4apr14)
git-svn-id: svn://tug.org/texlive/trunk@33373 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc')
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-perspective/README | 18 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-doc.bib | 174 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-doc.pdf | bin | 0 -> 290148 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-doc.tex | 1756 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-docEN.pdf | bin | 0 -> 278546 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-docEN.tex | 1689 |
6 files changed, 3637 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-perspective/README b/Master/texmf-dist/doc/generic/pst-perspective/README new file mode 100644 index 00000000000..33e456e7331 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-perspective/README @@ -0,0 +1,18 @@ +------------------------------------------------------------------------ +The pst-perspective package --- orthogonal parallel projection +Maintained by Thomas S\"{o}ll E-mail: thomas.soell@lehrer.uka.de +Released under the LaTeX Project Public License +------------------------------------------------------------------------ + +The package pst-perspective draw an orthogonal parallel projection with an arbitrarily chosen angle and a variable shortening factor. +The points first get projected orthogonally to the base line, and therefrom they get transformed with an arbitrarily chosen angle and shortened. + + +Installation +------------ + +Copy the files pst-perspective.tex and pst-perspective.sty in your +LaTeX-input folder and than tex-hash. Now you can use it with +usepackage{pst-perspective}. + +The package requires recent versions of pstricks and pst-node. diff --git a/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-doc.bib b/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-doc.bib new file mode 100644 index 00000000000..8c5a13d2f5c --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-doc.bib @@ -0,0 +1,174 @@ +@STRING{tugboat = {TUGboat} } +@STRING{beiprogramm = {{\TeX}-Beiprogramm} } +@STRING{bretter = {Bretter, die die Welt bedeuten} } +@STRING{dtk = {{D}ie {\TeX}nische {K}om{\"o}die} } +@STRING{editorial = {Editorial} } +@STRING{fremdebuehne = {Von fremden B{\"u}hnen} } +@STRING{fundus = {Aus dem Fundus} } +@STRING{hinterbuehne = {Hinter der B{\"u}hne} } +@STRING{leserbrief = {Leserbrief(e)} } +@STRING{magazin = {Magazin} } +@STRING{rezension = {Rezensionen} } +@STRING{schonimmer = {Was Sie schon immer {\"u}ber {\TeX} wissen wollten \dots} } +@STRING{theaterkasse = {Von der Theaterkasse} } +@STRING{theatertage = {{\TeX}-Theatertage} } + +@Article{ dtk02.2:jackson.voss:plot-funktionen, + author = {Laura E. Jackson and Herbert Vo{\ss}}, + title = {Die {P}lot-{F}unktionen von {\texttt{pst-plot}}}, + journal = dtk, + year = 2002, + volume = {2/02}, + altvolume = 2, + altnumber = 14, + month = jun, + pages = {27--34}, + annote = bretter, + keywords = {}, + abstract = { Im letzten Heft wurden die mathematischen Funktionen von + \PS~im Zusammenhang mit dem {\LaTeX}-Paket + \texttt{pst-plot} zum Zeichnen von Funktionen beschrieben + und durch Beispiele erl{\"a}utert. In diesem Teil werden + die bislang nur erw{\"a}hnten Plot-Funktionen f{\"u}r + externe Daten behandelt. } +} + +@Article{ dtk02.1:voss:mathematischen, + author = {Herbert Vo{\ss}}, + title = {Die mathematischen {F}unktionen von {P}ost{S}cript}, + journal = dtk, + year = 2002, + volume = {1/02}, + altvolume = 1, + altnumber = 14, + month = mar, + pages = {}, + annote = bretter, + keywords = {}, + abstract = { \PS, faktisch genauso alt wie {\TeX}, ist im + Verh{\"a}ltnis dazu allgemein noch weniger bekannt, wenn es + darum geht zu beurteilen, was es denn nun im eigentlichen + Sinne ist. Au{\ss}erdem wird h{\"a}ufig vergessen, dass + sich mit den \PS-Funktionen viele Dinge erledigen lassen, + bei denen sonst auf externe Programme zur{\"u}ckgegriffen + wird. Dies wird im Folgenden f{\"u}r die mathematischen + Funktionen im Zusammenhang mit dem Paket \texttt{pst-plot} + gezeigt. } +} + +@Book{tlgc2, + author = {Michel Goosens and Frank Mittelbach and Sebastian Rahtz and Denis Roegel and Herbert Vo{\ss}}, + title = {The {\LaTeX} {G}raphics {C}ompanion}, + publisher = {{Addison-Wesley Publishing Company}}, + edition = second, + year = {2007}, + address = {Reading, Mass.} +} + + +@Book{voss:chaos, + author = {Herbert Vo{\ss}}, + title = {Chaos und {F}raktale selbst programmieren: von {M}andelbrotmengen + {\"u}ber {F}arbmanipulationen zur perfekten Darstellung}, + publisher = {{Franzis Verlag}}, + year = {1994}, + address = {Poing} +} + +@Article{girou:01:, + author = {Denis Girou}, + title = {Pr\'esentation de {PST}ricks}, + journal = {Cahier {GUT}enberg}, + year = 1994, + volume = {16}, + month = apr, + pages = {21-70} +} + +@Article{girou:02:, + author = {{Timothy van} Zandt and Denis Girou}, + title = {Inside {PST}ricks}, + journal = TUGboat, + year = 1994, + volume = {15}, + month = sep, + pages = {239-246} +} + +@Book{PostScript, + Author = {Kollock, Nikolai G.}, + Title = {Post{S}cript richtig eingesetzt: vom {K}onzept zum + praktischen {E}insatz}, + Publisher = {IWT}, + Address = {Vaterstetten}, + year = 1989, +} + +@Manual{pstricks, + Title = {PSTricks - {\PS} macros for generic {\TeX}}, + Author = {{Timothy van} Zandt}, + Organization = {}, + Address = {\url{http://www.tug.org/application/PSTricks}}, + Note = {}, + year = 1993 +} + +@Manual{pst-plot, + Title = {\texttt{pst-plot}: Plotting two dimensional functions and data}, + Author = {{Timothy van} Zandt}, + Organization = {}, + Address = {\url{CTAN:graphics/pstricks/generic/pst-plot.tex}}, + Note = {}, + year = 1999 +} + +@Manual{multido, + Title = {\texttt{multido.tex} - a loop macro, that supports fixed-point addition}, + Author = {{Timothy van} Zandt}, + Organization = {}, + Address = {\url{CTAN:/graphics/pstricks/generic/multido.tex}}, + Note = {}, + year = 1997 +} + +@Book{PSTricks2, + author = {Herbert Vo\ss}, + title = {\texttt{PSTricks} -- {G}rafik f\"ur \TeX{} und \LaTeX}, + edition = {6.}, + publisher = {DANTE -- Lehmanns}, + year = {2010}, + address = {Heidelberg/Berlin} +} + +@Book{voss:math, + author = {Herbert Vo\ss}, + title = {Typesetting mathematics with \LaTeX}, + publisher = {UIT}, + year = {2010}, + address = {Cambridge} +} + +@Book{PSTricks2-UIT, + author = {Herbert Vo\ss}, + title = {PSTricks -- Graphics for \TeX\ and \LaTeX}, + publisher = {UIT}, + year = {2011}, + address = {Cambridge} +} + +@Book{LaTeXRef-UIT, + author = {Herbert Vo\ss}, + title = {{\LaTeX} quick reference}, + publisher = {UIT}, + year = {2012}, + address = {Cambridge} +} + +@Manual{wolfram, + author = {Eric Weisstein}, + title = {Wolfram MathWorld}, + publisher = {{Wolfram}}, + year = {2007}, + address = {\url{http://mathworld.wolfram.com}} +} + 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 Binary files differnew file mode 100644 index 00000000000..48909a35021 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-doc.pdf 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 new file mode 100644 index 00000000000..292d522bba5 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-doc.tex @@ -0,0 +1,1756 @@ +\PassOptionsToPackage{dvipsnames}{xcolor} +\PassOptionsToPackage{distiller}{pstricks} +\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false, + smallheadings, headexclude,footexclude,oneside]{pst-doc} +\usepackage[utf8]{inputenc} +\usepackage[dvipsnames]{xcolor} %% Farben sind im Dokument xcolor.pdf definiert +\usepackage{multido,pst-grad,pst-eucl,pstricks-add} +\usepackage{pst-perspective} + +\let\pstPerspectiveFV\fileversion +\renewcommand\bgImage{\psscalebox{0.85}{% +\begin{pspicture}[showgrid=false](0.5,-0.5)(11.5,8.5) +\begin{psclip}% +{\psframe[linestyle=none](0.25,-0.25)(11.35,8.35)} +\psgrid[subgriddiv=2,gridlabels=0,gridwidth=0.7pt,gridcolor=black!70,subgridwidth=0.6pt,subgridcolor=black!40](-1,-1)(13,10) +\end{psclip} +{\psset{translineA=true,translineB=true,linestyle=dashed,dash=5pt 3pt,linecolor=blue,linejoin=2} +%------ Eckepunkte des Achtecks ------------- +\pstransTS(3,0){A}{A'} +\pstransTS(7,0){B}{B'} +\pstransTS(9,2){C}{C'} +\pstransTS(9,6){D}{D'} +\pstransTS(7,8){E}{E'} +\pstransTS(3,8){F}{F'} +\pstransTS(1,6){G}{G'} +\pstransTS(1,2){H}{H'} +%--------------------------------------------- +} +\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) +\end{pspicture} +}} + +\parindent0pt + +\lstset{explpreset={pos=l,width=-99pt,overhang=0pt,hsep=\columnsep,vsep=\bigskipamount,rframe={}},language=PSTricks, +morekeywords={pstransTSK,pstransTSX,pstransTS,pstMarkAngle,psIntersectionPoint}, + escapechar=?} + +%\lstset{language=PSTricks,morekeywords={pst-perspective},basicstyle=\footnotesize\ttfamily} +% +\begin{document} + +\title{\texttt{pst-perspective}} +\subtitle{Plotting the perspective view of a point; v.\pstPerspectiveFV} +\author{Thomas S\"{o}ll} +\docauthor{} +\date{\today} +\maketitle + +\tableofcontents +\psset{unit=1cm} + +\clearpage + +\begin{abstract} +\noindent +\LPack{pst-perspective} loads by default the following packages: \LPack{pst-xkey}, and, of course \LPack{pstricks}. +All should be already part of your local \TeX\ installation. If not, or in case of having older versions, go to \url{http://www.CTAN.org/} and load the latest version. + + + +\vfill\noindent +Thanks to: \\ +J\"{u}rgen Gilg \\ +Herbert Vo{\ss} + + +\end{abstract} + +\clearpage +\section{Einleitung} + +Auf der Suche nach M\"{o}glichkeiten Schr\"{a}gbilder f\"{u}r den Unterricht in der Unter- und Mittelstufe des Gymnasiums mit pstricks zu zeichnen, konnte ich kein Paket finden, das meine Vorstellungen umzusetzen vermochte. Es sollte das Schr\"{a}gbild (eine senkrechte Parallelprojektion) unter einem w\"{a}hlbaren Winkel und mit beliebigem Verk\"{u}rzungsfaktor gezeichnet werden k\"{o}nnen. Die Eingabe der Punkte sollte wahlweise in kartesischen, oder Polarkoordinaten erfolgen. + +Das Paket pst-solides3d war nicht geeignet, weil es eine Zentralprojektion erzeugt. Das Paket pst-3dplot erm\"{o}glicht Parallelprojektionen, der Verk\"{u}rzungsfaktor kann wahr\-schein\-lich \"{u}ber den Skalierungsfaktor einer Raumrichtung, beispielsweise xThreeDunit gew\"{a}hlt werden, alle Punkte m\"{u}ssen aber in dreidimensionalen Koordinaten angegeben werden. \"{U}ber die M\"{o}glichkeit der Eingabe in Polarkoordinaten habe ich keinen \"{U}berblick. Der Winkel f\"{u}r die Projektion kann vermutlich auch nicht unabh\"{a}ngig gew\"{a}hlt werden. Mit dem Makro \Lcs{ThreeDput} aus dem Paktet pst-3d lassen sich Fl\"{a}chen oder Linien im dreidimensionalen Raum darstellen. F\"{u}r meine Zwecke schien mir das aber nicht praktisch zu sein. + +Ich denke, dass mit den bereits existierenden Paketen eine Realisierung von Schr\"{a}gbildern in der von mir gew\"{u}nschten Form sicher m\"{o}glich gewesen w\"{a}re. Diese M\"{o}glichkeit lag f\"{u}r mich jedoch nicht so leicht ersichtlich vor. Au{\ss}erdem f\"{u}hrt das Laden m\"{a}chtigerer Pakete gelegentlich zu Inkompatibilit\"{a}ten, deshalb versuche ich soweit wie m\"{o}glich davon abzusehen, wenn man dieses Paket nicht zwingend braucht. + +Da das hier behandelte Paket nur drei kleinere Makros definiert, sind unerw\"{u}nschte Wechselwirkungen mit anderen Paketen eher unwahrscheinlich. + +Zur Abbildung von vielen Punkten bzw. komplexen Objekten ist dieses Paket nicht besonders gut geeignet, da jeder Punkt einzelnen abgebildet werden muss. Lediglich in den F\"{a}llen, bei denen mit Unterst\"{u}tzung des Paketes multido eine gr\"{o}{\ss}ere Anzahl von Punkten transformiert werden kann, ergibt sich ein Einsatz mit einem einigerma{\ss}en akzeptablem Aufwand. + + +\section{Allgemeines} + +Die im folgenden beschriebenen Makros sollen dabei helfen das Schr\"{a}gbild eines Objekts zu erstellen, so wie es gerade in den Schulen h\"{a}ufig verwendet wird. +Es gibt drei Makros, zwei um das Schr\"{a}gbild eines fl\"{a}chenf\"{o}rmigen Objekts mit Kanten in der Zeicheneben \"{u}ber die Transformation der einzelnen Punkte zu erzeugen, n\"{a}mlich \Lcs{pstransTS} und \Lcs{pstransTSX}. Bei \Lcs{pstransTS} werden die einzelnen Punkte senkrecht auf eine Basislinie (Parameter \Lkeyword{base}) parallel zur $x$-Achse projiziert und von dort unter einem w\"{a}hlbaren Winkel (Parameter \Lkeyword{phi}) und verk\"{u}rzt (multipliziert mit dem optionalen Parameter \Lkeyword{vkf}) abgebildet. Auf diesen Punkt kann dann mit dem vergebenen Knotennamen zugegriffen werden. Bei \Lcs{pstransTSX} ist das \"{a}hnlich, mit dem Unterschied, dass hier die einzelnen Punkte senkrecht auf eine Basislinie (Parameter \Lkeyword{base}) parallel zur $y$-Achse projiziert werden und von dort unter einem w\"{a}hlbaren Winkel (Parameter \Lkeyword{phi}) und verk\"{u}rzt (multipliziert mit dem optionalen Parameter \Lkeyword{vkf}) abgebildet. Diese beiden F\"{a}lle entsprechen der Projektion eines fl\"{a}chenf\"{o}rmigen Objekts der Zeichenebene in die $x$-$y$-Ebene bzw. in die $x$-$z$-Ebene. Das dritte Makro mit Namen \Lcs{pstransTSK} f\"{u}hrt eine Verschiebung des gegebenen Punktes durch, wobei die Verschiebung wieder \"{u}ber den Winkel \Lkeyword{phi} und den Parameter \Lkeyword{vkf} gegeben ist. Dieses Makro eignet sich dann gut, wenn die zu transformierenden Kanten alle in der Zeichenebene liegen und die nach hinten laufenden Kanten senkrecht auf der Zeichenebene stehen. Ein typisches Beispiel w\"{a}re das Schr\"{a}gbild eines Quaders oder geraden Prismas, dessen Grundfl\"{a}che (oder Deckfl\"{a}che) in der Zeichenebene liegt. + +Die drei Makros erzeugen jeweils die Knoten der transformierten Punkte, die Punkte selbst werden nicht gezeichnet und beschriftet. Dies muss nachtr\"{a}glich geschehen, z.~B. mit \Lcs{psdot} und \Lcs{uput}. \"{U}ber die optionalen Parameter k\"{o}nnen verschiedene Hilfslinien eingeblendet werden, die die senkrechte Projektion auf die Basislinie und von dort auf den berechneten Punkt visualisieren. Diesen Hilfslinien k\"{o}nnen unterschiedliche Farben, Linienstile und Liniendicken \"{u}ber die optionalen Parameter zugewiesen werden. + + +\section{Das Makro \nxLcs{pstransTS}} +\begin{BDef} +\Lcs{pstransTS}\OptArgs\Largr{$x_{\rm{A}},y_{\rm{A}}$}\Largb{\rm{A}}\Largb{\rm{A}'} +\end{BDef} + +Das Makro \Lcs{pstransTS}\OptArgs$(x_{\rm{A}},y_{\rm{A}})$\Largb{\rm{A}}\Largb{\rm{A}'} erwartet zuerst in runden Klammern die Eingabe eines Punktes. Hier k\"{o}nnen alle M\"{o}glichkeiten der Punktangabe genutzt werden. Das zweite Argument in geschweiften Klammern ist der Knotenname, der f\"{u}r den in runden Klammern angegebenen Punkt vergeben wird. Der daraus neu berechnete Punkt erh\"{a}lt dann den Knotennamen, der als drittes Argument in geschweiften Klammern anzugeben ist. + +Im folgenden Beispiel wird der Punkt $\rm{A}(1|4)$ zuerst auf die $x$-Achse abgebildet (veranschaulicht durch die gr\"{u}ne gestrichelte Linie) und von dort wird unter $\varphi=45^{\circ}$ und mit halber L\"{a}nge \Largr{\rm{vkf}=0.5} ein Knoten mit dem Namen $\text{A}'$ gesetzt. + +\begin{LTXexample}[wide,width=3cm] +\begin{pspicture}[showgrid=true,shift=-4.9](0.5,-0.5)(3,4.4) +{\psset{translineA=true,translineB=true} +\pnode(0,\ba){O}% \ba gibt den y-Wert der Basislinie an +\pstransTS(1,4){A}{A'} +} +\pcline[linewidth=1.3pt](0,0|O)(3,0|O)% Basislinie zeichnen +\psdot(A)% Punkt bei A zeichnen +\uput{4pt}[135]{0}(A){$\text{A}$} % Punkt A beschriften +\psdot[linecolor=brown](A')% Punkt bei A' zeichnen +\uput{4pt}[45]{0}(A'){$\text{A}'$}% Punkt A' beschriften +\pstMarkAngle[LabelSep=1.5,MarkAngleRadius=0.7,linecolor=blue,arrows=->]{3,\ba}{A|O}{A'}{$\varphi=45^{\circ}$}% Winkel einzeichnen und beschriften +\end{pspicture} +\end{LTXexample} + +\newpage + +\subsection{Wahl der Basislinie} +\begin{BDef} +\Lcs{pstransTS}[\OptArg*{\Lkeyset{base=\dots}}] +\end{BDef} + +Optional kann \"{u}ber \Lcs{pstransTS}[\OptArg*{\Lkeyset{base=\dots}}] der $y$-Wert der Basislinie angegeben werden. Der voreingestellte Wert ist \Lkeyset{base=0}. Durch die Angabe \Lkeyset{base=1} erreicht man, dass der Punkt auf die Parallele zur $x$-Achse mit der Gleichung $y=1$ projiziert wird. Das folgende Beispiel stellt dies dar. + +\begin{LTXexample}[wide,width=3cm] +\begin{pspicture}[showgrid=true,shift=-4.9](0.5,-0.5)(3,4.4) +{\psset{translineA=true,translineB=true,base=1} +\pstransTS[base=1](1,4){A}{A'} +\pnode(0,\ba){O} +} +\pcline[linewidth=1.3pt](0,0|O)(3,0|O)% Basislinie zeichnen +\psdot(A)% Punkt bei A zeichnen +\uput{4pt}[135]{0}(A){$\text{A}$} % Punkt A beschriften +\psdot[linecolor=brown](A')% Punkt bei A' zeichnen +\uput{4pt}[45]{0}(A'){$\text{A}'$}% Punkt A' beschriften +\end{pspicture} +\end{LTXexample} + +Liegt der abzubildende Punkt unter der Basis-Linie, wie im unten dargestellten Beispiel ($\rm{A}(1|0,5)$ mit \Lkeyset{base=3}; \ $3>0,5$), so wird nicht unter $\varphi$ sondern $180^{\circ}+\varphi$ abgebildet. Bei $\varphi=45^{\circ}$ ergibt sich dann ein Winkel von $225^{\circ}$. + +\begin{LTXexample}[wide,width=4cm] +\begin{pspicture}[showgrid=true,shift=-4.9](-1.5,-0.5)(2,4.4) +{\psset{base=3,translineA=true,translineB=true,linestyle=dashed,transAcolor=red,transBcolor=blue,dash=5pt 4pt} +\pnode(0,\ba){O}% +\pstransTS(1,0.5){A}{A'} +} +\pcline[linewidth=1.3pt](-2,0|O)(2,0|O) +\psdot(A) +\uput{4pt}[-30]{0}(A){$\text{A}$} +\psdot[linecolor=brown](A') +\uput{4pt}[180]{0}(A'){$\text{A}'$} +\pstMarkAngle[LabelSep=1.2,MarkAngleRadius=0.7,linecolor=blue,arrows=->]{3,\ba}{A|O}{A'}{$\varphi=225^{\circ}$} +\end{pspicture} +\end{LTXexample} +% + +\newpage +\subsection{Verschiebung des Ursprungs} +\begin{BDef} +\Lcs{pstransTS}[\OptArg*{\Lkeyset{originT=\{Punkt\}}}] +\end{BDef} + +M\"{o}chte man Punkte relativ zu einem bestimmten Punkt angeben, so kann man \"{u}ber \Lkeyset{originT=\{Z\}} einen Punkt vorgeben. Die Angabe dieses Punktes kann in den \"{u}blichen Darstellungen erfolgen. Der Punkt muss aber in geschweifte Klammer gesetzt werden, die runden Klammern entfallen. Besonders bei der Verwendung von Polarkoordinaten kann dies vorteilhaft sein. Ein typisches Beispiel ist das Zeichnen eines regelm\"{a}{\ss}igen $n$-Ecks. Die Eckpunkte gibt man meist in Polarkoordinaten an, um das $n$-Eck leicht drehen zu k\"{o}nnen. F\"{u}r Radius und Winkel wird als Bezugspunkt Z verwendet. Wie in einem sp\"{a}teren Beispiel gezeigt wird, l\"{a}sst sich dadurch einfach ein gerades, aber auch ein schiefes Prisma erzeugen. + +Zu beachten ist, dass die Basis durch die Verschiebung des Ursprungs mit verschoben wird. Durch \Lkeyset{originT=\{2,3\}} erh\"{a}lt man als Basislinie dann $y=3$. Die Angabe \Lkeyset{base=-2} f\"{u}hrt dann zu einer Verschiebung der Basislinie um zwei Einheiten und somit zu $y=1$. + +Im folgenden Beispiel wird von Z(0,1) aus mit einem Radius von $3$ und unter einem Winkel von $60^{\circ}$ ein Knoten mit dem Namen A erzeugt. Der Punkt A wird nun auf die $x$-Achse (\Lkeyset{base=-1}, denn die Basis wurde durch die Wahl von Z um eine Einheit nach oben verschoben) abgebildet (rote Linie) und von dort wird unter $\varphi=45^{\circ}$ und mit halber L\"{a}nge (\Lkeyset{vkf=0.5}) ein Knoten mit dem Namen $\text{A}'$ gesetzt. + +\begin{LTXexample}[wide,width=3cm] +\begin{pspicture}[showgrid=true,shift=-4.9](0.5,-0.5)(3,4.4) +{\psset{base=-1,translineA=true,translineB=true,transAcolor=red,transBcolor=blue} +\pnode(0,0){O}% \ba gibt den y-Wert der Basislinie an +\pnode(0,1){Z}% +\pnode(4,0|Z){W1}% +\pstransTS[originT={Z}](3;60){A}{A'}} +\pcline[linewidth=1.3pt](0,0|O)(3,0|O)% Basislinie zeichnen +\psdot(A)% Punkt bei A zeichnen +\uput{4pt}[90]{0}(A){$\text{A}$} % Punkt A beschriften +\psdot[linecolor=brown](A')% Punkt bei A' zeichnen +\uput{4pt}[45]{0}(A'){$\text{A}'$}% Punkt A' beschriften +\psdot(Z)% Punkt bei Z zeichnen +\uput{4pt}[225]{0}(Z){$\text{Z}$}% Punkt Z' beschriften +\psarc[linestyle=dashed,linecolor=cyan](Z){3}{15}{100} +\pcline[linecolor=cyan,linestyle=dashed](Z)(A) +\naput[nrot=:U]{$r=3$} +\pstMarkAngle[LabelSep=0.8,MarkAngleRadius=1.2,linecolor=cyan,arrows=->]{W1}{Z}{A}{$60^{\circ}$}% Winkel einzeichnen und beschriften +\pstMarkAngle[LabelSep=1.5,MarkAngleRadius=0.7,linecolor=blue,arrows=->]{3,0}{A|O}{A'}{$\varphi=45^{\circ}$}% Winkel einzeichnen und beschriften +\end{pspicture} +\end{LTXexample} + + +\newpage +\subsection{Die Basis durch einen Punkt} +\begin{BDef} +\Lcs{pstransTS}[\OptArg*{\Lkeyset{LowPoint=true},\Lkeyset{LowP=\{Punkt\}}}] +\end{BDef} + +Gerade im Zusammenhang mit Polarkoordinaten kann sich die Schwierigkeit ergeben, dass die $y$-Koordinate des Punktes, durch den die Basislinie verlaufen soll, nicht explizit bekannt ist. Da der Wert f\"{u}r die Basis auch berechnet werden kann, unter Verwendung der RPN, sollte diese Aufgabe dadurch in vielen F\"{a}llen gel\"{o}st werde k\"{o}nnen. F\"{u}r andere, eventuell verschachtelt vorgegebene Punkte kann sich diese Aufgabe aber als un\"{u}bersichtlich erweisen. \"{U}ber die Optionen \Lkeyset{LowPoint=true} und \Lkeyset{LowP=Punkt} wird die Basis durch diesen Punkt gelegt, die explizite Angabe der Basis wird dann ignoriert. + +Die unterschiedlichen M\"{o}glichkeiten werden an den beiden folgenden Beispielen verdeutlicht. Ausgehend vom Punkt $\text{Z}(4,4)$ wird ein Punkt relativ dazu \"{u}ber seine Polarkoordinaten angegeben. Soll nun die Basis durch diesen Punkt verlaufen (der transformierte Punkt stimmt dann mit diesem Punkt \"{u}berein), so helfen die trigonometrischen Beziehungen weiter. Das gleiche Ergebnis erh\"{a}lt man aber auch mit den Optionen \Lkeyset{LowPoint=true} und \Lkeyset{LowP=Punkt}. + +\OptArg*{\Lkeyset{base=292.5 360 sub sin 3 mul}} +\begin{LTXexample}[wide,pos=t] +\begin{pspicture}[showgrid=true](1,0.8)(8.5,7) +%------ Eckepunkte des Achtecks ------------- +{\pnode(4,4){Z} +\psset{originT=Z,base=292.5 360 sub sin 3 mul,translineA=true,translineB=true} +\pstransTS(3;292.5){A}{A'} +\pstransTS(3;67.5){B}{B'} +\psdot(A)% Punkt bei A zeichnen +\uput{4pt}[0]{0}(A){$\text{A}$} % Punkt A beschriften +\psdot(B)% Punkt bei B zeichnen +\uput{4pt}[90]{0}(B){$\text{B}$} % Punkt B beschriften +\psdot(B')% Punkt bei B' zeichnen +\uput{4pt}[90]{0}(B'){$\text{B}'$} % Punkt B' beschriften +\psdot(Z)% Punkt bei Z zeichnen +\uput{4pt}[225]{0}(Z){$\text{Z}$}% Punkt Z' beschriften +} +\end{pspicture} +\end{LTXexample} + +\newpage +\OptArg*{\Lkeyset{LowPoint=true},\Lkeyset{LowP=\{3;292.5\}}} +\begin{LTXexample}[wide,pos=t] +\begin{pspicture}[showgrid=true](1,0.8)(8.5,7) +%------ Eckepunkte des Achtecks ------------- +{\pnode(4,4){Z} +\psset{originT=Z,LowPoint=true,LowP={3;292.5},translineA=true,translineB=true} +\pstransTS(3;292.5){A}{A'} +\pstransTS(3;67.5){B}{B'} +\psdot(A)% Punkt bei A zeichnen +\uput{4pt}[0]{0}(A){$\text{A}$} % Punkt A beschriften +\psdot(B)% Punkt bei B zeichnen +\uput{4pt}[90]{0}(B){$\text{B}$} % Punkt B beschriften +\psdot(B')% Punkt bei B' zeichnen +\uput{4pt}[90]{0}(B'){$\text{B}'$} % Punkt B' beschriften +\psdot(Z)% Punkt bei Z zeichnen +\uput{4pt}[225]{0}(Z){$\text{Z}$}% Punkt Z' beschriften +} +\end{pspicture} +\end{LTXexample} + +\newpage +Zu beachten ist noch, dass bei einer Definition wie \"{u}ber \Lcs{pnode(r;phi)\{Punkt\}} und anschlie{\ss}endem \Lkeyset{LowP=Punkt} die Basis nicht mit verschoben wird, was sich nur dann bemerkbar macht, wenn der Ursprung verschoben wurde. In diesem Fall schreibt man \Lcs{rput(Ursprung)\{}\Lcs{pnode(r;phi)\{Punkt\}}\}. + +Bezogen auf das vorherige Beispiel sieht das dann folgenderma{\ss}en aus. + +\Lcs{pnode(4,4){Z}} \Lcs{rput(Z)\{}\Lcs{pnode(3;292.5)\{LP\}}\} +\OptArg*{\Lkeyset{originT=Z},\Lkeyset{LowPoint=true},\Lkeyset{LowP=\{LP\}}} +\begin{LTXexample}[wide,pos=t] +\begin{pspicture}[showgrid=true](1,0.8)(8.5,7) +%------ Eckepunkte des Achtecks ------------- +{\pnode(4,4){Z} +\rput(Z){\pnode(3;292.5){LP}} +\psset{originT=Z,LowPoint=true,LowP={LP},translineA=true,translineB=true} +\pstransTS(3;292.5){A}{A'} +\pstransTS(3;67.5){B}{B'} +\psdot(A)% Punkt bei A zeichnen +\uput{4pt}[0]{0}(A){$\text{A}$} % Punkt A beschriften +\psdot(B)% Punkt bei B zeichnen +\uput{4pt}[90]{0}(B){$\text{B}$} % Punkt B beschriften +\psdot(B')% Punkt bei B' zeichnen +\uput{4pt}[90]{0}(B'){$\text{B}'$} % Punkt B' beschriften +\psdot(Z)% Punkt bei Z zeichnen +\uput{4pt}[225]{0}(Z){$\text{Z}$}% Punkt Z' beschriften +} +\end{pspicture} +\end{LTXexample} + +\newpage + +Ein typisches Beispiel ist das folgende regelm\"{a}{\ss}ige Achteck, dessen Eckpunkte \"{u}ber Polarkoordinaten gegeben sind. Ohne die Basis explizit zu ver\"{a}ndern, verl\"{a}uft diese durch das Zentrum. + +\begin{LTXexample}[wide,pos=t] +\begin{pspicture}[showgrid=true](1,0.8)(8.5,7) +\psset{linejoin=2} +%------ Eckepunkte des Achtecks ------------- +{\pnode(4,4){Z} +\psset{originT=Z,translineA=true,translineB=true} +\pstransTS(3;22.5){A}{A'} +\pstransTS(3;67.5){B}{B'} +\pstransTS(3;112.5){C}{C'} +\pstransTS(3;157.5){D}{D'} +\pstransTS(3;202.5){E}{E'} +\pstransTS(3;247.5){F}{F'} +\pstransTS(3;292.5){G}{G'} +\pstransTS(3;337.5){H}{H'} +} +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue](A')(B')(C')(D')(E')(F')(G')(H') +\pspolygon[fillstyle=solid,fillcolor=yellow!40,opacity=0.1,linewidth=0.9pt,linecolor=red](A)(B)(C)(D)(E)(F)(G)(H) +\end{pspicture} +\end{LTXexample} + +\newpage + +M\"{o}chte man, dass die Basis durch die unteren Punkte verl\"{a}uft, so kann man die Basis entweder berechnen oder die entsprechende Option nutzen. +\begin{LTXexample}[wide,pos=t] +\begin{pspicture}[showgrid=true](1,0.8)(8.5,7) +\psset{linejoin=2} +%------ Eckepunkte des Achtecks ------------- +{\pnode(4,4){Z} +\rput(Z){\pnode(3;292.5){LP}} +\psset{originT=Z,LowPoint=true,LowP={LP},translineA=true,translineB=true} +\pstransTS(3;22.5){A}{A'} +\pstransTS(3;67.5){B}{B'} +\pstransTS(3;112.5){C}{C'} +\pstransTS(3;157.5){D}{D'} +\pstransTS(3;202.5){E}{E'} +\pstransTS(3;247.5){F}{F'} +\pstransTS(3;292.5){G}{G'} +\pstransTS(3;337.5){H}{H'} +} +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue](A')(B')(C')(D')(E')(F')(G')(H') +\pspolygon[fillstyle=solid,fillcolor=yellow!40,opacity=0.1,linewidth=0.9pt,linecolor=red](A)(B)(C)(D)(E)(F)(G)(H) +\end{pspicture} +\end{LTXexample} + +\newpage +\subsection{Winkel der Projektion} +\begin{BDef} +\Lcs{pstransTS}[\OptArg*{\nxLkeyword{phi=30}}]. +\end{BDef} + +Ohne weitere Angabe wird f\"{u}r den Projektionswinkel $45^{\circ}$ verwendet. Einen anderen Winkel, beispielsweise $30^{\circ}$ erh\"{a}lt man durch die optionale Angabe \Lcs{pstransTS}[\OptArg*{\nxLkeyword{phi=30}}]. + +\begin{LTXexample}[wide,width=3cm] +\begin{pspicture}[showgrid=true,shift=-4.6](0.5,-0.5)(3,4.1) +{\psset{phi=30,base=0,translineA=true,translineB=true,transAcolor=red,transBcolor=blue} +\pnode(0,\ba){O}% \ba gibt den y-Wert der Basislinie an +\pstransTS(1,4){A}{A'} +} +\pcline[linewidth=1.3pt](0,0|O)(3,0|O)% Basislinie zeichnen +\psdot(A)% Punkt bei A zeichnen +\uput{4pt}[135]{0}(A){$\text{A}$} % Punkt A beschriften +\psdot[linecolor=brown](A')% Punkt bei A' zeichnen +\uput{4pt}[45]{0}(A'){$\text{A}'$}% Punkt A' beschriften +\pstMarkAngle[LabelSep=1.5,MarkAngleRadius=0.7,linecolor=blue,arrows=->]{3,\ba}{A|O}{A'}{$\varphi=30^{\circ}$}% Winkel einzeichnen und beschriften +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[wide,width=3cm] +\begin{pspicture}[showgrid=true,shift=-4.6](0.5,-0.5)(3,4.1) +{\psset{phi=60,base=0,translineA=true,translineB=true,transAcolor=red,transBcolor=blue} +\pnode(0,\ba){O}% \ba gibt den y-Wert der Basislinie an +\pstransTS(1,4){A}{A'} +} +\pcline[linewidth=1.3pt](0,0|O)(3,0|O)% Basislinie zeichnen +\psdot(A)% Punkt bei A zeichnen +\uput{4pt}[135]{0}(A){$\text{A}$} % Punkt A beschriften +\psdot[linecolor=brown](A')% Punkt bei A' zeichnen +\uput{4pt}[45]{0}(A'){$\text{A}'$}% Punkt A' beschriften +\pstMarkAngle[LabelSep=1.5,MarkAngleRadius=0.7,linecolor=blue,arrows=->]{3,\ba}{A|O}{A'}{$\varphi=60^{\circ}$}% Winkel einzeichnen und beschriften +\end{pspicture} +\end{LTXexample} + + + +\newpage +\subsection{Verk\"{u}rzungsfaktor} +\begin{BDef} +\Lcs{pstransTS}[\OptArg*{\nxLkeyword{vkf=0.5}}]. +\end{BDef} + +Gibt man nichts anderes vor, so wird \Lkeyset{vkf=0.5} gesetzt. Dies bedeutet, dass die Strecke von der senkrechten Projektion zum berechneten Punkt nur die halbe L\"{a}nge besitzt. Ein Beispiel ist \Lcs{pstransTS}[\OptArg*{\nxLkeyword{vkf=1.2}}]. Es d\"{u}rfen auch Berechnungen in RPN angegeben werden wie im folgenden Beispiel: + +\Lcs{pstransTS}[\OptArg*{\Lkeyset{vkf=2 sqrt 2 div}}]. Der Streckfaktor betr\"{a}gt dann ungef\"{a}hr $0,707$. + +\begin{LTXexample}[wide,width=4.5cm] +\begin{pspicture}[showgrid=true,shift=-4.9](0.5,-0.5)(5,4.4) +{\psset{vkf=1.2,translineA=true,translineB=true,transAcolor=red,transBcolor=blue} +\pnode(0,\ba){O}% \ba gibt den y-Wert der Basislinie an +\pstransTS(1,4){A}{A'} +} +\pcline[linewidth=1.3pt](0,0|O)(5,0|O)% Basislinie zeichnen +\psdot(A)% Punkt bei A zeichnen +\uput{4pt}[135]{0}(A){$\text{A}$} % Punkt A beschriften +\psdot[linecolor=brown](A')% Punkt bei A' zeichnen +\uput{4pt}[45]{0}(A'){$\text{A}'$}% Punkt A' beschriften +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[wide,width=3cm] +\begin{pspicture}[showgrid=true,shift=-4.9](0.5,-0.5)(3,4.4) +{\psset{vkf=0.5 sqrt,base=0,translineA=true,translineB=true,transAcolor=red,transBcolor=blue} +\pnode(0,\ba){O}% \ba gibt den y-Wert der Basislinie an +\pstransTS(1,4){A}{A'} +} +\pcline[linewidth=1.3pt](0,0|O)(3,0|O)% Basislinie zeichnen +\psdot(A)% Punkt bei A zeichnen +\uput{4pt}[135]{0}(A){$\text{A}$} % Punkt A beschriften +\psdot[linecolor=brown](A')% Punkt bei A' zeichnen +\uput{4pt}[45]{0}(A'){$\text{A}'$}% Punkt A' beschriften +\end{pspicture} +\end{LTXexample} + + + + +\newpage +\subsection{Hilfslinien und ihre Eigenschaften} + +Durch \Lkeyset{translineA=true/false} und \Lkeyset{translineB=true/false} k\"{o}nnen die beiden Hilfs\-linien der Projektion dargestellt werden oder nicht. Die vorgegebene Einstellung ist \Lkeyset{translineA=false} und \Lkeyset{translineB=false}. + +\begin{LTXexample}[wide,width=3.5cm] +\begin{pspicture}[showgrid=true,shift=-4.6](0.5,-0.5)(3,4.1) +\pstransTS(1,4){A}{A'} +\psdot(A)% Punkt bei A zeichnen +\uput{4pt}[135]{0}(A){$\text{A}$} % Punkt A beschriften +\psdot[linecolor=brown](A')% Punkt bei A' zeichnen +\uput{4pt}[45]{0}(A'){$\text{A}'$}% Punkt A' beschriften +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[wide,width=3.5cm] +\begin{pspicture}[showgrid=true,shift=-4.6](0.5,-0.5)(3,4.1) +{\psset{translineA=true,translineB=false,transAcolor=red,transBcolor=blue} +\pnode(0,\ba){O}% \ba gibt den y-Wert der Basislinie an +\pstransTS(1,4){A}{A'} +} +\pcline[linewidth=1.3pt](0,0|O)(3,0|O)% Basislinie zeichnen +\psdot(A)% Punkt bei A zeichnen +\uput{4pt}[135]{0}(A){$\text{A}$} % Punkt A beschriften +\psdot[linecolor=brown](A')% Punkt bei A' zeichnen +\uput{4pt}[45]{0}(A'){$\text{A}'$}% Punkt A' beschriften +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[wide,width=3.5cm] +\begin{pspicture}[showgrid=true,shift=-4.6](0.5,-0.5)(3,4.1) +{\psset{translineA=false,translineB=true,transAcolor=red,transBcolor=blue} +\pnode(0,\ba){O}% \ba gibt den y-Wert der Basislinie an +\pstransTS(1,4){A}{A'} +} +\pcline[linewidth=1.3pt](0,0|O)(3,0|O)% Basislinie zeichnen +\psdot(A)% Punkt bei A zeichnen +\uput{4pt}[135]{0}(A){$\text{A}$} % Punkt A beschriften +\psdot[linecolor=brown](A')% Punkt bei A' zeichnen +\uput{4pt}[45]{0}(A'){$\text{A}'$}% Punkt A' beschriften +\end{pspicture} +\end{LTXexample} + + +\newpage + +Jede der Hilfslinien kann noch mit drei weiteren unabh\"{a}ngigen Eigenschaften, n\"{a}mlich Liniendicke, Linienfarbe und Linienstil versehen werden. Daf\"{u}r gibt es die optionalen Argumente, die hier mit ihren Standardeinstellungen aufgez\"{a}hlt sind. + +\begin{BDef} +\Lcs{pstransTS}[\OptArg*{\nxLkeyword{transAlinewidth=0.7pt}}],\\ +\Lcs{pstransTS}[\OptArg*{\nxLkeyword{transAcolor=green}}],\\ +\Lcs{pstransTS}[\OptArg*{\nxLkeyword{transAlinestyle=dashed}}],\\ +\Lcs{pstransTS}[\OptArg*{\nxLkeyword{transBlinewidth=0.7pt}}],\\ +\Lcs{pstransTS}[\OptArg*{\nxLkeyword{transBcolor=blue}}],\\ +\Lcs{pstransTS}[\OptArg*{\nxLkeyword{transBlinestyle=dashed}}] +\end{BDef} + +\begin{LTXexample}[wide,width=3.5cm] +\begin{pspicture}[showgrid=true,shift=-4.6](0.5,-0.5)(3,4.1) +\pstransTS[translineA=true,translineB=true,transAlinestyle=solid,transBlinestyle=dotted](1,4){A}{A'} +\psdot(A)% Punkt bei A zeichnen +\uput{4pt}[135]{0}(A){$\text{A}$} % Punkt A beschriften +\psdot[linecolor=brown](A')% Punkt bei A' zeichnen +\uput{4pt}[45]{0}(A'){$\text{A}'$}% Punkt A' beschriften +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[wide,width=3.5cm] +\begin{pspicture}[showgrid=true,shift=-4.6](0.5,-0.5)(3,4.1) +{\psset{translineA=true,translineB=true,transAcolor=brown,transBcolor=cyan} +\pnode(0,\ba){O}% \ba gibt den y-Wert der Basislinie an +\pstransTS(1,4){A}{A'} +} +\pcline[linewidth=1.3pt](0,0|O)(3,0|O)% Basislinie zeichnen +\psdot(A)% Punkt bei A zeichnen +\uput{4pt}[135]{0}(A){$\text{A}$} % Punkt A beschriften +\psdot[linecolor=brown](A')% Punkt bei A' zeichnen +\uput{4pt}[45]{0}(A'){$\text{A}'$}% Punkt A' beschriften +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[wide,width=3.5cm] +\begin{pspicture}[showgrid=true,shift=-4.6](0.5,-0.5)(3,4.1) +{\psset{translineA=true,translineB=true,transAlinewidth=1.2pt,transBlinewidth=2.5pt} +\pnode(0,\ba){O}% \ba gibt den y-Wert der Basislinie an +\pstransTS(1,4){A}{A'} +} +\pcline[linewidth=1.3pt](0,0|O)(3,0|O)% Basislinie zeichnen +\psdot(A)% Punkt bei A zeichnen +\uput{4pt}[135]{0}(A){$\text{A}$} % Punkt A beschriften +\psdot[linecolor=brown](A')% Punkt bei A' zeichnen +\uput{4pt}[45]{0}(A'){$\text{A}'$}% Punkt A' beschriften +\end{pspicture} +\end{LTXexample} + + +\newpage + +\section{Das Makro \nxLcs{pstransTSX}} +\begin{BDef} +\Lcs{pstransTSX}\OptArgs\Largr{$x_{\rm{A}},y_{\rm{A}}$}\Largb{\rm{A}}\Largb{\rm{A}'} +\end{BDef} + +Das Makro \Lcs{pstransTSX}\OptArgs$(x_{\rm{A}},y_{\rm{A}})$\Largb{\rm{A}}\Largb{\rm{A}'} wird genau wie \Lcs{pstransTS} verwendet. Auch die Parameter tragen die gleichen Namen. Der einzige Unterschied liegt darin, dass die Punkte zuerst auf eine Linie parallel zur $y$-Achse projiziert werden. Dieser Fall ist dann interessant, wenn man im Schr\"{a}gbild eines Objektes Punkte auf die Seitenfl\"{a}che dieses Objektes abbilden will. Dabei muss diese Seitenfl\"{a}che senkrecht nach hinten verlaufen. + +Im folgenden Beispiel wird der Punkt $\rm{A}(0,5|2)$ zuerst auf die Achse $x=2$ abgebildet (veranschaulicht durch die gr\"{u}ne gestrichelte Linie) und von dort wird unter $\varphi=45^{\circ}$ und mit halber L\"{a}nge \Largr{\rm{vkf}=0.5} ein Knoten mit dem Namen $\text{A}'$ gesetzt. + +\begin{LTXexample}[wide,width=3cm] +\begin{pspicture}[showgrid=true](0.5,-0.5)(3,4.4) +{\psset{translineA=true,translineB=true,base=2,symline=0,symX=false} +\pnode(2,0.5){O}% +\pstransTSX(0.5,2){A}{A'} +\pstransTSX(1,1.5){B}{B'} +\pstransTSX(0,0.5){C}{C'} +}% +\pcline[linewidth=1.3pt](2,0)(2,4)% Basislinie zeichnen +\psdot(A)% Punkt bei A zeichnen +\uput{4pt}[135]{0}(A){$\text{A}$} % Punkt A beschriften +\psdot[linecolor=brown](A')% Punkt bei A' zeichnen +\psdot[linecolor=blue](B')% Punkt bei B' zeichnen +\psdot[linecolor=red](C')% Punkt bei C' zeichnen +\uput{4pt}[90]{0}(A'){$\text{A}'$}% Punkt A' beschriften +\pnode(3,0.5){P}% +\pstMarkAngle[LabelSep=1.0,MarkAngleRadius=0.65,linecolor=blue,arrows=->]{P}{O}{C'}{$\scriptstyle 45^{\circ}$}% Winkel einzeichnen und beschriften +\pcline[linestyle=dashed](O)(P) +\end{pspicture} +\end{LTXexample} + + +\subsection{Symmetrie der Abbildung} + +Wie im obigen Beispiel zu sehen, werden Punkte, die im Urbild weiter links von der Basis liegen, nach der Abbildung weiter von der Basis entfernt liegen, als solche, die weiter rechts liegen. Dies kann st\"{o}rend sein, wenn man ein Bild der Zeichenebene auf eine Seitenfl\"{a}che im Schr\"{a}gbild abbilden m\"{o}chte. Am folgenden Beispiel soll dies erl\"{a}utert werden. Die Uhr zeigt dort drei Uhr an, nach der Transformation auf die Seitenfl\"{a}che zeigt die Uhr aber neun Uhr an. (Beachte: \Lkeyset{base=1} bedeutet, dass die Basis durch $x=2$ gegeben ist, denn \Lkeyset{originT=\{1,2\}} verschiebt den Ursprung, von dem aus die Basis nach rechts positiv gerechnet wird.) + +\begin{LTXexample}[wide,width=3cm] +\begin{pspicture}[showgrid=true](0.5,-0.5)(3,4.4) +\pnode(1,2){UZ} +{\psset{originT={UZ},base=1,symX=false} +\pstransTSX(0,0){U1}{U1'} +\pstransTSX[translineA=true,translineB=true](0.3;0){zg1}{zg1'} +\pstransTSX[translineA=true,translineB=true](0.5;90){zg2}{zg2'} +%----------------------------------------------------- +\pscircle(UZ){0.5} +\psline[linecolor=yellow!90!black!70]{c-c}(U1)(zg1) +\psline[linecolor=yellow!90!black!70]{c-c}(U1)(zg2) +%----------------------------------------------------- +\psline[linecolor=red]{c-c}(U1')(zg1') +\psline[linecolor=orange]{c-c}(U1')(zg2') +\multido{\i=0+5,\n=5+5}{72}{% +\pstransTSX(0.5;\i){A\i}{A'\i} +\pstransTSX(0.5;\n){B\n}{B'\n} +\psline(A'\i)(B'\n)} +} +\end{pspicture} +\end{LTXexample} + +Eine entsprechend symmetrische Darstellung gewinnt man mit \Lkeyset{symX=true,symline=0}, die der Standardeinstellung entspricht. (Beachte auch hier, dass \Lkeyset{symline=0} die Symmetrieachse nur relativ zu \Lkeyset{originT=\{UZ\}} angibt. Die Symmetrieachse ist demnach $x=1$.) + +\begin{LTXexample}[wide,width=3cm] +\begin{pspicture}[showgrid=true](0.5,-0.5)(3,4.4) +\pnode(1,2){UZ} +{\psset{originT={UZ},base=1,symX=true,symline=0} +\pstransTSX(0,0){U1}{U1'} +\pstransTSX[translineA=true,translineB=true](0.3;0){zg1}{zg1'} +\pstransTSX[translineA=true,translineB=true](0.5;90){zg2}{zg2'} +%----------------------------------------------------- +\pscircle(UZ){0.5} +\psline[linecolor=yellow!90!black!70]{c-c}(U1)(zg1) +\psline[linecolor=yellow!90!black!70]{c-c}(U1)(zg2) +%----------------------------------------------------- +\psline[linecolor=red]{c-c}(U1')(zg1') +\psline[linecolor=orange]{c-c}(U1')(zg2') +\multido{\i=0+5,\n=5+5}{72}{% +\pstransTSX(0.5;\i){A\i}{A'\i} +\pstransTSX(0.5;\n){B\n}{B'\n} +\psline(A'\i)(B'\n)} +} +\end{pspicture} +\end{LTXexample} + +Einen weiteren Effekt kann man dadurch erzielen, dass sich f\"{u}r das Makro \Lcs{pstransTSX} \"{u}ber den Parameter \Lkeyset{deltaphi=} der Abbildungswinkel vergr\"{o}{\ss}ern oder verkleinern l\"{a}sst, wodurch sich der r\"{a}umliche Eindruck erzeugen l\"{a}sst, als wenn etwas aus der Seitenfl\"{a}che herausgeklappt w\"{u}rde. Man kann also f\"{u}r die gesamte Abbildung den Abbildungswinkel \Lkeyset{phi=} unver\"{a}ndert lassen und nur an den gew\"{u}nschten Stellen einen anderen Abbildungswinkel, der relativ zu \Lkeyset{phi=} ist, verwenden. + +\begin{LTXexample}[wide,width=3cm] +\begin{pspicture}[showgrid=true](0.5,-0.5)(3,4.4) +\pnode(1,2){UZ} +{\psset{originT={UZ},base=1,phi=15,symX=true,symline=0} +\pstransTSX(0,0){U1}{U1'} +\pstransTSX[translineA=true,translineB=true](0.3;0){zg1}{zg1'} +\pstransTSX[translineA=true,translineB=true](0.5;90){zg2}{zg2'} +%----------------------------------------------------- +\pscircle(UZ){0.5} +\psline[linecolor=yellow!90!black!70]{c-c}(U1)(zg1) +\psline[linecolor=yellow!90!black!70]{c-c}(U1)(zg2) +%----------------------------------------------------- +\psline[linecolor=red]{c-c}(U1')(zg1') +\psline[linecolor=orange]{c-c}(U1')(zg2') +\multido{\i=0+5,\n=5+5}{72}{% +\pstransTSX(0.5;\i){A\i}{A'\i} +\pstransTSX(0.5;\n){B\n}{B'\n} +\psline(A'\i)(B'\n)} +{\psset{deltaphi=45} +\pstransTSX(0,0){U1}{U1'} +\pstransTSX[translineA=true,translineB=true](0.3;0){zg1}{zg1'} +\pstransTSX[translineA=true,translineB=true](0.5;90){zg2}{zg2'} +%----------------------------------------------------- +\psline[linecolor=red]{c-c}(U1')(zg1') +\psline[linecolor=orange]{c-c}(U1')(zg2') +\multido{\i=0+5,\n=5+5}{72}{% +\pstransTSX(0.5;\i){A\i}{A'\i} +\pstransTSX(0.5;\n){B\n}{B'\n} +\psline(A'\i)(B'\n)} +} +} +\end{pspicture} +\end{LTXexample} + +\newpage + +\section{Das Makro \nxLcs{pstransTSK}} +\begin{BDef} +\Lcs{pstransTSK}\OptArgs$(x_{\rm{A}},y_{\rm{A}})$\Largb{\rm{L\"{a}nge}}\Largb{\rm{A}}\Largb{\rm{A}'} +\end{BDef} + +Verlaufen die zu transformierenden Kanten vertikal in der Zeichenebene, so werden auch sie durch die senkrechte Parallelprojektion erst auf einen Basislinie projiziert und von dort um einen bestimmten Winkel gekippt und eventuell verk\"{u}rzt abgebildet. Die Projektion aller Punkte einer vertikal verlaufenden Linie endet aber immer auf dem Schnittpunkt dieser Linie mit der Basislinie. Bei geeigneter Wahl der Basis ist der Schnittpunkt auch der Endpunkt der vertikalen Linie. Von einer solchen Linie gen\"{u}gt es nur den Endpunkt abzubilden und zwar unter dem Projektionswinkel vom Anfangspunkt aus, so wie man es beim Schr\"{a}gbild eines dreidimensionalen K\"{o}rpers mit den Kanten macht, die senkrecht nach hinten verlaufen. Dadurch kann die Projektion aber vereinfacht werden, da nur die H\"{a}lfte der Punkte abgebildet werden muss und zwar durch eine einfache Verschiebung. + +Das Makro \Lcs{pstransTSK} f\"{u}hrt die Verschiebung eines Punktes durch, der in runden Klammern anzugeben ist. Die L\"{a}nge der Verschiebung ergibt sich dann aus dem Wert, der danach in geschweiften Klammern angegeben wird, multipliziert mit dem Verk\"{u}rzungsfaktor, der mit \Lkeyset{vkf=0.5} voreingestellt ist. Der Winkel der Verschiebung gegen die Horizontale betr\"{a}gt $45^{\circ}$, was durch die Wahl von \Lkeyset{phi= } ver\"{a}ndert werden kann. Die Hilfslinien k\"{o}nnen ein- oder ausgeblendet werden. Die Eigenschaften der Hilfslinien lassen sich noch variieren. + +Die folgenden Beispiele sollen dies veranschaulichen. + +Zun\"{a}chst werden die Punkte eines Quadrates, welches in der Zeichenebene liegen soll, angegeben. Die Punkte erhalten die Knotennamen A, B, C und D. Die transformierten Punkte werden nun durch eine Verschiebung um zwei Einheiten (da die angegebene L\"{a}nge 4 noch mit dem Verk\"{u}rzungsfaktor multipliziert wird) daraus ermittelt und erhalten die Knotennamen $\text{A}'$, $\text{B}'$, $\text{C}'$ und $\text{D}'$. + +\begin{LTXexample}[wide,width=5.5cm] +\begin{pspicture}[showgrid=false,shift=-5.0](0.7,-0.4)(7,5.8) +%---- Eckpunkte des Quadrats --- +\pstransTSK(1,0){4}{A}{A'} +\pstransTSK(5,0){4}{B}{B'} +\pstransTSK(5,4){4}{C}{C'} +\pstransTSK(1,4){4}{D}{D'} +\pspolygon[linewidth=0.9pt,linecolor=black](A)(B)(C)(D) +\pspolygon[linewidth=0.9pt,linecolor=black](A')(B')(C')(D') +\end{pspicture} +\end{LTXexample} + +Mit anderen Winkeln sieht dies dann folgenderma{\ss}en aus: + +\begin{LTXexample}[wide,width=6.5cm] +\begin{pspicture}[showgrid=false,shift=-5.0](0.7,-0.4)(7,5.8) +%---- Eckpunkte des Quadrats --- +\pstransTSK[phi=30](1,0){4}{A}{A'} +\pstransTSK[phi=30](5,0){4}{B}{B'} +\pstransTSK[phi=30](5,4){4}{C}{C'} +\pstransTSK[phi=30](1,4){4}{D}{D'} +\pspolygon[linewidth=0.9pt,linecolor=black](A)(B)(C)(D) +\pspolygon[linewidth=0.9pt,linecolor=black](A')(B')(C')(D') +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[wide,width=5.5cm] +\begin{pspicture}[showgrid=false,shift=-5.0](0.7,-0.4)(7,5.8) +%---- Eckpunkte des Quadrats --- +\psset{phi=60} +\pstransTSK(1,0){4}{A}{A'} +\pstransTSK(5,0){4}{B}{B'} +\pstransTSK(5,4){4}{C}{C'} +\pstransTSK(1,4){4}{D}{D'} +\pspolygon[linewidth=0.9pt,linecolor=black](A)(B)(C)(D) +\pspolygon[linewidth=0.9pt,linecolor=black](A')(B')(C')(D') +\end{pspicture} +\end{LTXexample} + + +Eine Ver\"{a}nderung des Verk\"{u}rzungsfaktors f\"{u}hrt zu folgenden Darstellungen. + +\begin{LTXexample}[wide,width=5.5cm] +\begin{pspicture}[showgrid=false,shift=-5.0](0.7,-0.4)(7,5.8) +%---- Eckpunkte des Quadrats --- +\psset{vkf=0.25} +\pstransTSK(1,0){4}{A}{A'} +\pstransTSK(5,0){4}{B}{B'} +\pstransTSK(5,4){4}{C}{C'} +\pstransTSK(1,4){4}{D}{D'} +\pspolygon[linewidth=0.9pt,linecolor=black](A)(B)(C)(D) +\pspolygon[linewidth=0.9pt,linecolor=black](A')(B')(C')(D') +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[wide,width=6.5cm] +\begin{pspicture}[showgrid=false,shift=-5.0](0.7,-0.4)(7,5.8) +%---- Eckpunkte des Quadrats --- +\psset{vkf=0.75} +\pstransTSK(1,0){4}{A}{A'} +\pstransTSK(5,0){4}{B}{B'} +\pstransTSK(5,4){4}{C}{C'} +\pstransTSK(1,4){4}{D}{D'} +\pspolygon[linewidth=0.9pt,linecolor=black](A)(B)(C)(D) +\pspolygon[linewidth=0.9pt,linecolor=black](A')(B')(C')(D') +\end{pspicture} +\end{LTXexample} + +\newpage + +\section{Beispiele} + + +\begin{LTXexample}[pos=t] +\begin{pspicture}[showgrid=true](0.5,-0.5)(11.5,8.0) +{\psset{phi=40,translineA=true,translineB=true} +%------ Eckpunkte des Achtecks ------------- +\pstransTS(3,0){A}{A'} +\pstransTS(7,0){B}{B'} +\pstransTS(9,2){C}{C'} +\pstransTS(9,6){D}{D'} +\pstransTS(7,8){E}{E'} +\pstransTS(3,8){F}{F'} +\pstransTS(1,6){G}{G'} +\pstransTS(1,2){H}{H'} +%--------------------------------------------- +} +\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) +\end{pspicture} +\end{LTXexample} + +\newpage + +\begin{LTXexample}[pos=t] +\begin{pspicture}[showgrid=true](0.5,-0.5)(10,8.4) +{\psset{base=0,translineA=true,translineB=true,linecolor=blue,linestyle=dashed,transAcolor=blue,transBcolor=orange,dash=5pt 5pt} +\pnode(0,\ba){O}% \ba gibt den y-Wert der Basislinie an +%------ Eckpunkte des X ------------- +\pstransTS(1,0){A}{A'} +\pstransTS(2,0){B}{B'} +\pstransTS(4,3){C}{C'} +\pstransTS(6,0){D}{D'} +\pstransTS(7,0){E}{E'} +\pstransTS[transAlinestyle=solid,transAcolor=red,transAlinewidth=2pt](4.5,4){F}{F'} +\pstransTS[linestyle=solid,linecolor=green](7,8){G}{G'} +\pstransTS[transAcolor=red,transBcolor=black,transBlinewidth=1.4pt](6,8){H}{H'} +\pstransTS(4,5){I}{I'} +\pstransTS(2,8){J}{J'} +\pstransTS[linecolor=red](1,8){K}{K'} +\pstransTS(3.5,4){L}{L'} +%------------------------------------- +} +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue](A')(B')(C')(D')(E')(F')(G')(H')(I')(J')(K')(L') +\pspolygon[fillstyle=solid,fillcolor=yellow!30,opacity=0.5,linewidth=0.9pt,linecolor=red](A)(B)(C)(D)(E)(F)(G)(H)(I)(J)(K)(L) +\pcline[linewidth=1.3pt](0,0|O)(10,0|O) +\end{pspicture} +\end{LTXexample} + + + +\newpage + +\begin{LTXexample}[pos=t] +\psscalebox{0.7}{% +\begin{pspicture}[showgrid=false](0.5,-0.5)(10,9.4) +\def\lange{2 sqrt 2 mul} +{\psset{phi=30,base=0,translineK,translinestyle=dashed,linecolor=blue,linejoin=2,fillstyle=solid,opacity=0.5} +%------ Eckpunkte des X ------------- +\pstransTSK(1,0){\lange}{A}{A'} +\pstransTSK(2,0){\lange}{B}{B'} +\pstransTSK(4,3){\lange}{C}{C'} +\pstransTSK(6,0){\lange}{D}{D'} +\pstransTSK(7,0){\lange}{E}{E'} +\pstransTSK(4.5,4){\lange}{F}{F'} +\pstransTSK(7,8){\lange}{G}{G'} +\pstransTSK(6,8){\lange}{H}{H'} +\pstransTSK(4,5){\lange}{I}{I'} +\pstransTSK(2,8){\lange}{J}{J'} +\pstransTSK(1,8){\lange}{K}{K'} +\pstransTSK(3.5,4){\lange}{L}{L'} +%------------------------------------- +\pspolygon[linestyle=dashed](A')(B')(C')(D')(E')(F')(G')(H')(I')(J')(K')(L') +\pspolygon[fillcolor=cyan!30,linestyle=none](B)(B')(C')(C) +} +\psIntersectionPoint(C')(B')(C)(D){S1} +\psline(B)(B')(S1) +\psIntersectionPoint(H)(I)(I')(J'){S2} +\psline(J')(S2) +{\psset{phi=30,base=0,translineK,translinestyle=dashed,linecolor=blue,linejoin=2,fillstyle=solid,opacity=0.5} +\pspolygon[fillcolor=cyan!30](E)(E')(F')(F) +\pspolygon[fillcolor=cyan!30](F)(F')(G')(G) +\pspolygon[fillcolor=cyan!30](G)(G')(H')(H) +\pspolygon[fillcolor=cyan!30,linestyle=none](I)(I')(J')(J) +\pspolygon[fillcolor=cyan!30](J)(J')(K')(K) +\pspolygon[fillcolor=orange!60](A)(B)(C)(D)(E)(F)(G)(H)(I)(J)(K)(L)} +\end{pspicture}} +\end{LTXexample} + +\newpage + +\begin{LTXexample}[wide,pos=t] +\psscalebox{0.5}{% +\begin{pspicture}[showgrid=false](0.5,0)(10,5.7) +{\psset{base=0,linecolor=blue,linestyle=dashed,dash=5pt 4pt} +%------ Eckpunkte des unteren X ------------- +\pstransTS(1,0){A}{A'} +\pstransTS(2,0){B}{B'} +\pstransTS(4,3){C}{C'} +\pstransTS(6,0){D}{D'} +\pstransTS(7,0){E}{E'} +\pstransTS(4.5,4){F}{F'} +\pstransTS(7,8){G}{G'} +\pstransTS(6,8){H}{H'} +\pstransTS(4,5){I}{I'} +\pstransTS(2,8){J}{J'} +\pstransTS(1,8){K}{K'} +\pstransTS(3.5,4){L}{L'} +%------ Eckpunkte des oberen X ------------- +\rput(0,3){% Das gleiche X um 3 nach oben versetzt +\pstransTS(1,0){A1}{A1'} +\pstransTS(2,0){B1}{B1'} +\pstransTS(4,3){C1}{C1'} +\pstransTS(6,0){D1}{D1'} +\pstransTS(7,0){E1}{E1'} +\pstransTS(4.5,4){F1}{F1'} +\pstransTS(7,8){G1}{G1'} +\pstransTS(6,8){H1}{H1'} +\pstransTS(4,5){I1}{I1'} +\pstransTS(2,8){J1}{J1'} +\pstransTS(1,8){K1}{K1'} +\pstransTS(3.5,4){L1}{L1'}} +%------------------------------------- +\pcline(F')(F1') +\pcline(H')(H1') +\pcline(I')(I1') +\pcline(J')(J1') +\pcline(K')(K1') +\pcline(L')(L1') +} +\psIntersectionPoint(K')(K1')(A1')(L1'){S1} +\psline[linestyle=solid,linecolor=blue](K1')(S1) +\psIntersectionPoint(E')(E1')(F')(G'){S2} +\psline[linestyle=solid,linecolor=blue](S2)(G')(G1')%(F1')(E1')(E') +{% +\psset{linejoin=2,fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue} +\pspolygon[linestyle=none](K')(L')(L1')(K1') +\pspolygon[linestyle=dashed](A')(B')(C')(D')(E')(F')(G')(H')(I')(J')(K')(L') +\pspolygon(A')(B')(B1')(A1') +\pspolygon(B')(C')(C1')(B1') +\pspolygon(C')(D')(D1')(C1') +\pspolygon(D')(E')(E1')(D1') +\pspolygon[linestyle=none](F')(G')(G1')(F1') +\pspolygon[opacity=0.5](A1')(B1')(C1')(D1')(E1')(F1')(G1')(H1')(I1')(J1')(K1')(L1') +} +\end{pspicture}} +\end{LTXexample} + + +\begin{LTXexample}[pos=t,wide] +\begin{pspicture}[showgrid=false,shift=-5.0](0.7,-0.4)(7,6) +{\psset{phi=30} +%------ Eckpunkte vom Aufriss -------------- +\pstransTSK(1,0){4}{A}{A'} +\pstransTSK(5,0){4}{B}{B'} +\pstransTSK(5,5){4}{C}{C'} +\pstransTSK(1,5){4}{D}{D'} +%-------------------------------------------- +} +\psIntersectionPoint(A)(B')(B)(A'){S1} +\psIntersectionPoint(C)(D')(D)(C'){S2} +\pspolygon[linewidth=0.9pt,linecolor=black](A)(B)(C)(D) +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.5,linestyle=none](A)(B)(B')(A') +{\psset{linestyle=dashed,dash=4pt 2pt,linewidth=0.9pt,linecolor=black} +\pcline(A')(B') +\pcline(A')(D') +\pcline(A)(A') +\pcline(A)(B') +\pcline(B)(A') +\pcline(D)(C') +\pcline(C)(D') +\pcline(S1)(S2) +} +\pcline(B)(B') +\pcline(C)(C') +\pcline(D)(D') +\pcline(B')(C') +\pcline(C')(D') +\pcline(A)(S2) +\pcline(B)(S2) +\pcline(B')(S2) +\pcline(A')(S2) +\qdisk(S2){2pt}\uput{0.3}[90](S2){S} +\end{pspicture} +\end{LTXexample} + + + +\begin{LTXexample}[width=6cm] +\begin{pspicture}[showgrid=true](1,-0.3)(7,6) +\pnode(4,3){M} +{\psset{originT={M}} +\multido{\i=0+10}{36}{\psset{phi=45,vkf=0.5,translineA=true,translineB=true} +\pstransTS[linecolor=blue,linewidth=0.5pt,linestyle=dashed](2.5;\i){A\i}{A'\i} +\psdot[dotsize=1.8pt,linecolor=blue](A\i)\psdot[dotsize=1.8pt,linecolor=red](A'\i) +} +} +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[width=6cm] +\begin{pspicture}[showgrid=false](1,-0.3)(7,6) +\pnode(4,3){M} +{\psset{originT={M}} +\multido{\i=0+5,\n=5+5}{72}{% +\pstransTS[linecolor=blue,linewidth=0.5pt,linestyle=dashed](2.5;\i){A\i}{A'\i} +\pstransTS(2.5;\n){B\n}{B'\n} +\psdot[dotsize=1.8pt,linecolor=blue](A\i)\psdot[dotsize=1.8pt,linecolor=red](A'\i)\psline(A\i)(B\n)\psline[linecolor=orange!50](A'\i)(B'\n) +} +} +\rput(M){\pnode(2.665;7){C'}} +\rput(M){\pnode(2.665;187){D'}} +\pcline[linecolor=cyan](C')(D') +\rput(M){\pnode(0.83;97){E'}} +\rput(M){\pnode(0.83;277){F'}} +\pcline[linecolor=magenta](E')(F') +\end{pspicture} +\end{LTXexample} + + + +\begin{LTXexample}[pos=t] +\begin{pspicture}[showgrid=false](-2,0)(8,6) +\pnode(4.5,1){Z}\psset{originT={Z}} +\pstransTS(2;-60){A'}{A} +\pstransTS(2;0){B'}{B} +\pstransTS(2;60){C'}{C} +\pstransTS(2;120){D'}{D} +\pstransTS(2;180){E'}{E} +\pstransTS(2;240){F'}{F} +\pspolygon[fillstyle=solid,fillcolor=yellow!30,opacity=0.5,linewidth=0.9pt,linecolor=blue,linestyle=none](A)(B)(C)(D)(E)(F)%(G)(H)(I)(J)(K)(L) +%\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue](A')(B')(C')(D')(E')(F')%(G')(H') +\psline[linewidth=0.9pt,linecolor=blue](E)(F)(A)(B) +\psline[linewidth=0.9pt,linecolor=blue,linestyle=dashed](D)(E) + +\pnode(4.5,5){Z}\psset{originT={Z}} +\pstransTS(2;-60){I'}{I} +\pstransTS(2;0){J'}{J} +\pstransTS(2;60){K'}{K} +\pstransTS(2;120){L'}{L} +\pstransTS(2;180){M'}{M} +\pstransTS(2;240){N'}{N} +\pspolygon[fillstyle=solid,fillcolor=cyan!60,opacity=0.6,linecolor=blue](A)(B)(J)(I)%(E')(F')%(G')(H') +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue,linestyle=dashed](B)(C)(K)(J)% +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue,linestyle=dashed](C)(D)(L)(K)% +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue,linestyle=none](D)(E)(M)(L)% +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue](E)(F)(N)(M)% +\pspolygon[fillstyle=solid,fillcolor=cyan!50,opacity=0.4,linecolor=blue](F)(A)(I)(N)% +\pspolygon[fillstyle=solid,fillcolor=yellow!30,opacity=0.5,linewidth=0.9pt,linecolor=blue](I)(J)(K)(L)(M)(N)%(G)(H)(I)(J)(K)(L) +\end{pspicture} +\end{LTXexample} + + + +\begin{LTXexample}[pos=t,wide] +\begin{pspicture}[showgrid=false](-0.5,0.2)(7,5.6) +\psset{linejoin=2} +\pnode(2.5,1){Z}\psset{originT={Z}} +\pstransTS(2;-90){A'}{A} +\pstransTS(2;-30){B'}{B} +\pstransTS(2;30){C'}{C} +\pstransTS(2;90){D'}{D} +\pstransTS(2;150){E'}{E} +\pstransTS(2;210){F'}{F} +\pspolygon[fillstyle=solid,fillcolor=yellow!30,opacity=0.5,linewidth=0.9pt,linecolor=blue,linestyle=none](A)(B)(C)(D)(E)(F)%(G)(H)(I)(J)(K)(L) +\psline[linewidth=0.9pt,linecolor=blue](B)(C) +\psline[linewidth=0.9pt,linecolor=blue,linestyle=dashed](D)(E) +\pnode(2.5,5){Z}\psset{originT={Z}} +\pstransTS(2;-60){I'}{I} +\pstransTS(2;0){J'}{J} +\pstransTS(2;60){K'}{K} +\pstransTS(2;120){L'}{L} +\pstransTS(2;180){M'}{M} +\pstransTS(2;240){N'}{N} +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue](A)(B)(J)(I)%(E')(F')%(G')(H') +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue,linestyle=dashed](B)(C)(K)(J)% +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue,linestyle=dashed](C)(D)(L)(K)% +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue,linestyle=none](D)(E)(M)(L)% +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue,linestyle=dashed](E)(F)(N)(M)% +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue](F)(A)(I)(N)% +\pspolygon[fillstyle=solid,fillcolor=yellow!30,opacity=0.5,linewidth=0.9pt,linecolor=blue](I)(J)(K)(L)(M)(N)%(G)(H)(I)(J)(K)(L) +\psIntersectionPoint(C)(K)(B)(J){SBJ} +\psIntersectionPoint(E)(M)(F)(N){SFN} +\psline[linewidth=0.9pt,linecolor=blue](C)(SBJ) +\psline[linewidth=0.9pt,linecolor=blue](SFN)(M) +\end{pspicture} +\end{LTXexample} + + +\begin{LTXexample}[pos=t,wide] +\begin{pspicture}[showgrid=false](0,0)(6,6) +\pnode(3.5,1){Z}\psset{originT={Z}} +\pstransTS(2;-60){A'}{A} +\pstransTS(2;0){B'}{B} +\pstransTS(2;60){C'}{C} +\pstransTS(2;120){D'}{D} +\pstransTS(2;180){E'}{E} +\pstransTS(2;240){F'}{F} +\pspolygon[fillstyle=solid,fillcolor=yellow!30,opacity=0.5,linewidth=0.9pt,linecolor=blue,linestyle=none](A)(B)(C)(D)(E)(F)%(G)(H)(I)(J)(K)(L) +\psline[linewidth=0.9pt,linecolor=blue](E)(F)(A)(B) +\psline[linewidth=0.9pt,linecolor=blue,linestyle=dashed](D)(E) +\pnode(3.5,5){Z}\psset{originT={Z}} +\pstransTS(1;-60){I'}{I} +\pstransTS(1;0){J'}{J} +\pstransTS(1;60){K'}{K} +\pstransTS(1;120){L'}{L} +\pstransTS(1;180){M'}{M} +\pstransTS(1;240){N'}{N} +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue](A)(B)(J)(I)%(E')(F')%(G')(H') +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue,linestyle=dashed](B)(C)(K)(J)% +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue,linestyle=none](C)(D)(L)(K)% +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue,linestyle=none](D)(E)(M)(L)% +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue](E)(F)(N)(M)% +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue](F)(A)(I)(N)% +\pspolygon[fillstyle=solid,fillcolor=yellow!30,opacity=0.5,linewidth=0.9pt,linecolor=blue](I)(J)(K)(L)(M)(N)%(G)(H)(I)(J)(K)(L) +\psline[linewidth=0.9pt,linecolor=blue,linestyle=dashed](C)(D)(L) +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[pos=t,wide] +\begin{pspicture}[showgrid=false](0,0)(13,3.5) +\psset{linejoin=2,linewidth=1pt} +\psset{transcolor=black,translinestyle=solid}% +\pstransTSK(0,0){3}{A}{A'}% +\pstransTSK(6,0){3}{B}{B'}% +\pstransTSK(5,3){3}{C}{C'}% +\psline[linestyle=dashed](A')(B')% +\pspolygon[fillstyle=solid,fillcolor=yellow!40,opacity=0.3,linewidth=0.9pt,linecolor=black](A)(B)(C)% +\pspolygon[fillstyle=solid,fillcolor=cyan!40,opacity=0.3,linestyle=none](A')(A)(C)(C') +\pspolygon[fillstyle=solid,fillcolor=cyan!40,opacity=0.3,linestyle=none](B)(B')(C')(C) +\psline(A')(C')(B')% +\pcline[linecolor=red](C)(C|A) +\pstransTS(8,3){A}{A'} +\pstransTS(14,3){B}{B'} +\pstransTS(13,0){C}{C'} +\pspolygon[fillstyle=solid,fillcolor=yellow!40,opacity=0.3,linestyle=none](A')(B')(C') +\psline[linestyle=dashed](A')(B') +\psline(A')(C')(B') +{\psset{base=0,originT={0,2}} +\pstransTS(8,3){D}{D'} +\pstransTS(14,3){E}{E'} +\pstransTS(13,0){F}{F'} +\pstransTS(F|D){K}{K'} +\pspolygon[fillstyle=solid,fillcolor=yellow!40,opacity=0.3](D')(E')(F') +\pspolygon[fillstyle=solid,fillcolor=cyan!40,opacity=0.3,linestyle=none](A')(C')(F')(D') +\pspolygon[fillstyle=solid,fillcolor=cyan!40,opacity=0.3,linestyle=none](C')(B')(E')(F') +\psline[linestyle=dashed](D')(E') +\psline(D')(F')(E') +\psline(C')(F') +} +{\psset{phi=-135,transcolor=black} +\pstransTSK(A'){3}{G'}{G} +\pstransTSK(B'){3}{H'}{H} +\pstransTSK(D'){3}{I'}{I} +\pstransTSK(E'){3}{J'}{J} +\pspolygon(G)(H)(J)(I) +} +\pspolygon(B')(H)(J)(E') +\pspolygon(A')(G)(I)(D') +\pcline[linecolor=red](F')(K') +%} +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[pos=t,wide] +\begin{pspicture}(-5,-3)(5,5) +\psset{linejoin=1,base=-2.5,vkf=2 sqrt 2 div}%,translineA=true,translineB=true} +\psgrid[subgriddiv=2,gridlabels=0,gridcolor=gray!80,gridwidth=0.6pt](-3,-3)(5,5) +\pstransTS(-2.5,0){A}{A'} +\pstransTS(-1,1){B}{B'} +\pstransTS(0,2.5){C}{C'} +\pstransTS(1,1){D}{D'} +\pstransTS(2.5,0){E}{E'} +\pstransTS(1,-1){F}{F'} +\pstransTS(0,-2.5){G}{G'} +\pstransTS(-1,-1){H}{H'} +\psIntersectionPoint(A')(E')(C')(G'){S1} +\rput(0,5){% +\pstransTS(-2.5,0){A1}{A1'} +\pstransTS(-1,1){B1}{B1'} +\pstransTS(0,2.5){C1}{C1'} +\pstransTS(1,1){D1}{D1'} +\pstransTS(2.5,0){E1}{E1'} +\pstransTS(1,-1){F1}{F1'} +\pstransTS(0,-2.5){G1}{G1'} +\pstransTS(-1,-1){H1}{H1'} +\psIntersectionPoint(A1')(E1')(C1')(G1'){S2} +} +%\pspolygon[linestyle=dashed,linecolor=magenta,linewidth=1.5pt](A)(B)(C)(D)(E)(F)(G)(H) +\pspolygon[fillstyle=solid,fillcolor=green,opacity=0.3](A')(B')(C')(D')(E')(F')(G')(H') +\pspolygon[fillstyle=solid,fillcolor=cyan,opacity=0.3,linestyle=none](A')(H')(S2) +\pspolygon[fillstyle=solid,fillcolor=cyan,opacity=0.3,linestyle=none](H')(G')(S2) +\pspolygon[fillstyle=solid,fillcolor=cyan,opacity=0.3,linestyle=none](G')(F')(S2) +\pspolygon[fillstyle=solid,fillcolor=cyan,opacity=0.3,linestyle=none](F')(E')(S2) +\pstransTS(E|C){I1}{I1'} +\pstransTS(A|C){J1}{J1'} +%\pspolygon[linestyle=dashed,linecolor=orange,linewidth=1.5pt](A|G)(E|G)(E|C)(A|C) +%\pspolygon[linestyle=dashed,linecolor=orange,linewidth=1.5pt](A|G)(E|G)(I1')(J1') +\psline(A')(S2) +\psline[linestyle=dashed](B')(S2) +\psline[linestyle=dashed](C')(S2) +\psline[linestyle=dashed](D')(S2) +\psline(E')(S2) +\psline(F')(S2) +\psline(G')(S2) +\psline(H')(S2) +\pcline[linecolor=cyan,linestyle=dashed](A')(E') +\pcline[linecolor=cyan,linestyle=dashed](C')(G') +\pcline[linecolor=magenta,linestyle=dashed](S1)(S2) +\end{pspicture} +\end{LTXexample} + + +\begin{LTXexample}[pos=t,wide] +\psscalebox{0.6}{% +\begin{pspicture}[showgrid=false](-0.5,0)(17,10.4) +\psset{linejoin=2,phi=30,vkf=0.7} + +{\psset{base=-3} +\multido{\i=0+1,\n=1+1,\ra=-67.5+22.5,\rb=-45+22.5}{14}{% +\pstransTS[originT={4,3}](6;\ra){D\i}{E\i} +\pstransTS[originT={4,3}](6;\rb){F\n}{G\n} +\pstransTS[originT={4,5}](6;\ra){H\i}{I\i} +\pstransTS[originT={4,5}](6;\rb){J\n}{K\n} +\psline[linecolor=orange!50](E\i)(G\n) +\psline[linecolor=orange!50](I\i)(K\n) +\pspolygon[fillstyle=solid,fillcolor=orange,opacity=1](E\i)(G\n)(K\n)(I\i) +}} + +{\psset{translineK=false}% +\pstransTSK(0,0){1}{A1}{B1} +\pstransTSK(2,0){1}{A2}{B2} +\pstransTSK(2,3){1}{A3}{B3} +\pstransTSK(0,2){1}{A4}{B4} +%---------------------------- +\pstransTSK(0,0){6}{A1}{C1} +\pstransTSK(2,0){6}{A2}{C2} +\pstransTSK(2,3){6}{A3}{C3} +\pstransTSK(0,2){6}{A4}{C4} +} +\psline[linestyle=dashed](C1)(C4) +\psline[linestyle=dashed](B1)(C1)(C2) +\pspolygon[fillstyle=solid,fillcolor=green!30,opacity=0.7](B1)(B2)(B3)(B4) +\pspolygon[fillstyle=solid,fillcolor=green!30,opacity=0.7](B2)(C2)(C3)(B3) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.7,hatchangle=120,hatchsep=1.5pt](B4)(B3)(C3)(C4) +%---------------------------- +\pstransTSK(2,0){6}{A5}{C5} +\pstransTSK(6,0){6}{A6}{C6} +\pstransTSK(6,4){6}{A7}{C7} +\pstransTSK(4,6){6}{A8}{C8} +\pstransTSK(2,4){6}{A9}{C9} +%---------------------------- +\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=0.2](C5)(C6)(C7)(C9) +\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=0.2](C7)(C8)(C9) +\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=0.7](A5)(A6)(A7)(A9) +\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=0.7](A7)(A8)(A9) +\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=0.7](A6)(C6)(C7)(A7) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.7,hatchangle=45,hatchsep=1.5pt](A7)(C7)(C8)(A8) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.7,hatchangle=135,hatchsep=1.5pt](A9)(A8)(C8)(C9) +%---------------------------- +\pstransTSK(6,0){2}{A10}{C10} +\pstransTSK(8,0){2}{A11}{C11} +\pstransTSK(8,8){2}{A12}{C12} +\pstransTSK(6,8){2}{A13}{C13} +\pstransTSK(8.2,8){-0.2}{A14}{B14} +\pstransTSK(5.8,8){-0.2}{A15}{B15} +\pstransTSK(8.2,8){2.2}{A14}{C14} +\pstransTSK(5.8,8){2.2}{A15}{C15} +\pstransTSK[translineK=false](8,10){2}{A16}{C16} +\pstransTSK[translineK=false](6,10){2}{A17}{C17} +\psIntersectionPoint(A16)(C17)(A17)(C16){SB1} +%---------------------------- +\pspolygon[fillstyle=solid,fillcolor=cyan!50,opacity=0.2](C10)(C11)(C12)(C13) +\pspolygon[fillstyle=solid,fillcolor=cyan!50,opacity=0.7](A10)(A11)(A12)(A13) +\pspolygon[fillstyle=solid,fillcolor=cyan!50,opacity=0.7](A11)(C11)(C12)(A12) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.2,hatchangle=45,hatchsep=1.5pt](C14)(C15)(SB1) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.2,hatchangle=45,hatchsep=1.5pt](B15)(C15)(SB1) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.7,hatchangle=45,hatchsep=1.5pt](B14)(B15)(SB1) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.7,hatchangle=45,hatchsep=1.5pt](B14)(C14)(SB1) + +{\psset{base=-3} +\multido{\i=0+1,\n=1+1,\ra=-67.5+22.5,\rb=-45+22.5}{4}{% +\pstransTS[originT={4,3}](6;\ra){D\i}{E\i} +\pstransTS[originT={4,3}](6;\rb){F\n}{G\n} +\pstransTS[originT={4,5}](6;\ra){H\i}{I\i} +\pstransTS[originT={4,5}](6;\rb){J\n}{K\n} +\psline[linecolor=orange!50](E\i)(G\n) +\psline[linecolor=orange!50](I\i)(K\n) +\pspolygon[fillstyle=solid,fillcolor=orange,opacity=1](E\i)(G\n)(K\n)(I\i) +}} +\end{pspicture}} +\end{LTXexample} + + +\begin{LTXexample}[pos=t,wide] +\psscalebox{0.6}{% +\begin{pspicture}[showgrid=false](-0.5,0)(17,10.4) +\psset{linejoin=2,phi=80,vkf=0.6} +{\psset{translineK=false}% +\pstransTSK(0,0){1}{A1}{B1} +\pstransTSK(2,0){1}{A2}{B2} +\pstransTSK(2,3){1}{A3}{B3} +\pstransTSK(0,2){1}{A4}{B4} +%---------------------------- +\pstransTSK(0,0){6}{A1}{C1} +\pstransTSK(2,0){6}{A2}{C2} +\pstransTSK(2,3){6}{A3}{C3} +\pstransTSK(0,2){6}{A4}{C4} +} +\psline[linestyle=dashed](C1)(C4) +\psline[linestyle=dashed](B1)(C1)(C2) +\pspolygon[fillstyle=solid,fillcolor=green!30,opacity=0.7](B1)(B2)(B3)(B4) +\pspolygon[fillstyle=solid,fillcolor=green!30,opacity=0.7](B2)(C2)(C3)(B3) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.7,hatchangle=120,hatchsep=1.5pt](B4)(B3)(C3)(C4) +%---------------------------- +\pstransTSK(2,0){6}{A5}{C5} +\pstransTSK(6,0){6}{A6}{C6} +\pstransTSK(6,4){6}{A7}{C7} +\pstransTSK(4,6){6}{A8}{C8} +\pstransTSK(2,4){6}{A9}{C9} +%---------------------------- +\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=0.2](C5)(C6)(C7)(C9) +\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=0.2](C7)(C8)(C9) +\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=0.7](A5)(A6)(A7)(A9) +\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=0.7](A7)(A8)(A9) +\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=0.7](A6)(C6)(C7)(A7) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.7,hatchangle=45,hatchsep=1.5pt](A7)(C7)(C8)(A8) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.7,hatchangle=135,hatchsep=1.5pt](A9)(A8)(C8)(C9) +%---------------------------- +\pstransTSK(6,0){2}{A10}{C10} +\pstransTSK(8,0){2}{A11}{C11} +\pstransTSK(8,8){2}{A12}{C12} +\pstransTSK(6,8){2}{A13}{C13} +\pstransTSK(8.2,8){-0.2}{A14}{B14} +\pstransTSK(5.8,8){-0.2}{A15}{B15} +\pstransTSK(8.2,8){2.2}{A14}{C14} +\pstransTSK(5.8,8){2.2}{A15}{C15} +\pstransTSK[translineK=false](8,10){2}{A16}{C16} +\pstransTSK[translineK=false](6,10){2}{A17}{C17} +\psIntersectionPoint(A16)(C17)(A17)(C16){SB1} +%---------------------------- +\pspolygon[fillstyle=solid,fillcolor=cyan!50,opacity=0.2](C10)(C11)(C12)(C13) +\pspolygon[fillstyle=solid,fillcolor=cyan!50,opacity=0.7](A10)(A11)(A12)(A13) +\pspolygon[fillstyle=solid,fillcolor=cyan!50,opacity=0.7](A11)(C11)(C12)(A12) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.2,hatchangle=45,hatchsep=1.5pt](C14)(C15)(SB1) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.2,hatchangle=45,hatchsep=1.5pt](B15)(C15)(SB1) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.7,hatchangle=45,hatchsep=1.5pt](B14)(B15)(SB1) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.7,hatchangle=45,hatchsep=1.5pt](B14)(C14)(SB1) +\end{pspicture}} +\end{LTXexample} + + + +\pstVerb{/radiusT 2 22.5 cos mul def} +\pstVerb{/deltaDach 10 2 22.5 sin mul sub def} +\pstVerb{/deltaDachT 10 2 22.5 sin mul dup 2 sqrt div add sub def} + +\psscalebox{0.6}{% +\begin{pspicture}[showgrid=true](0,-1)(24,20) +\psset{linejoin=2,phi=25,vkf=0.7,opacity=1} + +\pstransTS(4,0){E01'}{E01} +\pstransTS(12,0){E02'}{E02} +\pstransTS(12,5){E03'}{E03} +\pstransTS(16,5){E04'}{E04} +\pstransTS(16,11){E05'}{E05} +\pstransTS(12,11){E06'}{E06} +\pstransTS(12,12){E07'}{E07} +\pstransTS(4,12){E08'}{E08} +\pstransTS(4,11){E09'}{E09} +\pstransTS(0,11){E10'}{E010} +\pstransTS(0,5){E011'}{E011} +\pstransTS(4,5){E012'}{E012} +\rput(0,7){% +\pstransTS(4,0){E11'}{E11} +\pstransTS(12,0){E12'}{E12} +\pstransTS(12,5){E13'}{E13} +\pstransTS(16,5){E14'}{E14} +\pstransTS(16,11){E15'}{E15} +\pstransTS(12,11){E16'}{E16} +\pstransTS(12,12){E17'}{E17} +\pstransTS(4,12){E18'}{E18} +\pstransTS(4,11){E19'}{E19} +\pstransTS(0,11){E110'}{E110} +\pstransTS(0,5){E111'}{E111} +\pstransTS(4,5){E112'}{E112} +} +\multido{\i=1+1,\n=2+1}{11}{% +\pspolygon[fillstyle=solid,fillcolor=brown!30](E0\i)(E0\n)(E1\n)(E1\i) +} +\pspolygon[fillstyle=solid,fillcolor=brown!30](E012)(E01)(E11)(E112) + +\rput(0,15){% +\pstransTS[originT={8,8},base=-8](0,0){T'3}{T3} +} +\rput(0,19){% +\pstransTS[originT={8,1},base=-1](0,0){TV'3}{TV3} +} + +\rput(0,10){% +\multido{\i=0+1,\r=-90+90}{4}{% +\pstransTS[originT={8,8},base=-8](!radiusT \r\space PtoC){DM'\i}{DM\i} +} +\pstransTS(16,8){DMa1'}{DMa1} +\pstransTS(8,12){DMa2'}{DMa2} +\pstransTS(0,8){DMa3'}{DMa3} +\pstransTS(8,0){DMa4'}{DMa4} +} + +\rput(!0 deltaDach){% +\multido{\i=1+1,\r=-22.5+45}{8}{% +\pstransTS[originT={8,8},base=-8](2;\r){DMb\i'}{DMb\i} +} +} +\rput(!0 deltaDachT){% +\multido{\i=1+1,\r=-45+90}{4}{% +\pstransTS[originT={8,8},base=-8](! radiusT \r\space PtoC){DMc\i'}{DMc\i} +} +} +\pspolygon[fillstyle=solid,fillcolor=BrickRed](DMa3)(E110)(E19)(DMc3)(DMb5)(DM3)% hinters Dach linkes Seitenschiff +\pspolygon[fillstyle=solid,fillcolor=BrickRed](DMa2)(E18)(E19)(DMc3)(DMb4)(DM2)% hinters Dach links +\pspolygon[fillstyle=solid,fillcolor=BrickRed](DMa2)(E17)(E16)(DMc2)(DMb3)(DM2)% hinters Dach rechts +\pspolygon[fillstyle=solid,fillcolor=BrickRed](DMa1)(E15)(E16)(DMc2)(DMb2)(DM1)% hinters Dach rechtes Seitenschiff + +%--- Hinterer Turm ----------------------------------- +\multido{\i=0+1,\n=1+1,\ra=22.5+45,\rb=67.5+45}{8}{% +\rput(0,7){% +\pstransTS[originT={8,8},base=-8](2;\ra){T1'\i}{T1\i} +\pstransTS[originT={8,8},base=-8](2;\rb){Tb1'\n}{Tb1\n} +} +%------------------------------------------------- +\rput(0,13){% +\pstransTS[originT={8,8},base=-8](2;\ra){T2'\i}{T2\i} +\pstransTS[originT={8,8},base=-8](2;\rb){Tb2'\n}{Tb2\n} +\pstransTS[originT={8,8},base=-8](2.1;\ra){E'\i}{E\i} +\pstransTS[originT={8,8},base=-8](2.1;\rb){F'\n}{F\n} +} +%\psline(T2\i)(Tb2\n) +\pspolygon[fillstyle=solid,fillcolor=brown!30](T1\i)(Tb1\n)(Tb2\n)(T2\i) % Seitenteile des hinteren Turms +\pspolygon[fillstyle=solid,fillcolor=BrickRed](T3)(E\i)(F\n)% Dach des hinteren Turms +} +%-------------------------------------------------------------- +\pspolygon[fillstyle=solid,fillcolor=BrickRed,opacity=1](T3)(E6)(F7)% Letztes Dachteil des hinteren Turms + +\pspolygon[fillstyle=solid,fillcolor=BrickRed](DMa3)(E111)(E112)(DMc4)(DMb6)(DM3)% vorderes Dach linkes Seitenschiff +\pspolygon[fillstyle=solid,fillcolor=BrickRed](DMa1)(E14)(E13)(DMc1)(DMb1)(DM1)% vorderes Dach rechtes Seitenschiff + + + +%--- Vorderer Turm ----------------------------------- +\multido{\i=0+1,\n=1+1,\rA=22.5+45,\rB=67.5+45}{8}{% +\pstransTS[originT={8,1},base=-1](2;\rA){A'\i}{A\i} +\pstransTS[originT={8,1},base=-1](2;\rB){B'\n}{B\n} +\rput(0,13){% +\pstransTS[originT={8,1},base=-1](2;\rA){C'\i}{C\i} +\pstransTS[originT={8,1},base=-1](2;\rB){D'\n}{D\n} +\pstransTS[originT={8,1},base=-1](2.1;\rA){E'\i}{E\i} +\pstransTS[originT={8,1},base=-1](2.1;\rB){F'\n}{F\n} +} +\pspolygon[fillstyle=solid,fillcolor=brown!30](A\i)(B\n)(D\n)(C\i) % Seitenteile des vorderen Turms +\pspolygon[fillstyle=solid,fillcolor=BrickRed](TV3)(E\i)(F\n) % Dach des vorderen Turms +} +\pspolygon[fillstyle=solid,fillcolor=BrickRed,opacity=1](TV3)(E6)(F7)% Letztes Dachteil des vorderen Turms + +\psIntersectionPoint(A4)(A5)(E01)(E02){SP01}%linker unterer Schnittpunkt der Au{\ss}enwand mit dem vorderen Turm +\psIntersectionPoint(A6)(A7)(E01)(E02){SP02}%rechter unterer Schnittpunkt der Au{\ss}enwand mit dem vorderen Turm +\pspolygon[fillstyle=solid,fillcolor=brown!30](E01)(SP01)(SP01|0,9.4)(E11) +\pspolygon[fillstyle=solid,fillcolor=brown!30](E02)(E12)(SP02|0,9.4)(SP02) +\pspolygon[fillstyle=solid,fillcolor=brown!30](E02)(E03)(E13)(E12) +\pspolygon[fillstyle=solid,fillcolor=brown!30](E03)(E04)(E14)(E13) +\pspolygon[fillstyle=solid,fillcolor=brown!30](E04)(E05)(E15)(DMa1)(E14) + +\pspolygon[fillstyle=solid,fillcolor=BrickRed](C7|0,10)(SP02|0,9.4)(E12)(E13)(DMc1)(DMb8)%(DM0)% vorderes Dach rechts +\end{pspicture} +} + + + +\psscalebox{1}{% +\begin{pspicture}[showgrid=false](-0.5,-3)(12,14.4) +\psset{linejoin=2,phi=35,vkf=0.5} +\pstransTSK[translineK=false](-3,0){11}{GR1}{GR1'} +\pstransTSK[translineK=false](11,0){11}{GR2}{GR2'} +\pstransTSK[translineK=false](-3,0){-8}{GR3}{GR3'} +\pstransTSK[translineK=false](11,0){-8}{GR4}{GR4'} +\pspolygon[fillstyle=solid,fillcolor=green!60!black!80,linestyle=none](GR1')(GR2')(GR4')(GR3') + +{\psset{base=-3} +\multido{\i=0+1,\n=1+1,\ra=-45+22.5,\rb=-22.5+22.5}{12}{% +\pstransTS[originT={4,3}](6;\ra){D\i}{E\i} +\pstransTS[originT={4,3}](6;\rb){F\n}{G\n} +\pstransTS[originT={4,4}](6;\ra){H\i}{I\i} +\pstransTS[originT={4,4}](6;\rb){J\n}{K\n} +\psline(E\i)(G\n) +\psline(I\i)(K\n) +\pspolygon[fillstyle=solid,fillcolor=gray,opacity=1](E\i)(G\n)(K\n)(I\i) +}} + +{\psset{translineK=false}% +\pstransTSK(0,0){1}{A1}{B1} +\pstransTSK(2,0){1}{A2}{B2} +\pstransTSK(2,3){1}{A3}{B3} +\pstransTSK(0,2){1}{A4}{B4} +%---------------------------- +\pstransTSK(0,0){6}{A1}{C1} +\pstransTSK(2,0){6}{A2}{C2} +\pstransTSK(2,3){6}{A3}{C3} +\pstransTSK(0,2){6}{A4}{C4} +} +\psline[linestyle=dashed](C1)(C4) +\psline[linestyle=dashed](B1)(C1)(C2) +\pspolygon[fillstyle=solid,fillcolor=green!30,opacity=1](B1)(B2)(B3)(B4) +\pspolygon[fillstyle=solid,fillcolor=green!30,opacity=1](B2)(C2)(C3)(B3) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=1,hatchangle=-63.5,hatchsep=1.5pt](B4)(B3)(C3)(C4) +%---------------------------- +\pstransTSK(2,0){6}{A5}{C5} +\pstransTSK(6,0){6}{A6}{C6} +\pstransTSK(6,4){6}{A7}{C7} +\pstransTSK(4,6){6}{A8}{C8} +\pstransTSK(2,4){6}{A9}{C9} +%---------------------------- +\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=1](C5)(C6)(C7)(C9) +\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=1](C7)(C8)(C9) +\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=1](A6)(C6)(C7)(A7) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=1,hatchangle=135,hatchsep=1.5pt](A9)(A8)(C8)(C9) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=1,hatchangle=45,hatchsep=1.5pt](A7)(C7)(C8)(A8) +\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=1](A5)(A6)(A7)(A8)(A9) +%\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=1](A7)(A8)(A9) +%---------------------------- +\pstransTSK(6,0){2}{A10}{C10} +\pstransTSK(8,0){2}{A11}{C11} +\pstransTSK(8,10){2}{A12}{C12} +\pstransTSK(6,10){2}{A13}{C13} +\pstransTSK(8.1,10){-0.1}{A14}{B14} +\pstransTSK(5.9,10){-0.1}{A15}{B15} +\pstransTSK(8.1,10){2.1}{A14}{C14} +\pstransTSK(5.9,10){2.1}{A15}{C15} +\pstransTSK[translineK=false](8,11.5){2}{A16}{C16} +\pstransTSK[translineK=false](6,11.5){2}{A17}{C17} +\psIntersectionPoint(A16)(C17)(A17)(C16){SB1} +%---------------------------- +\pspolygon[fillstyle=solid,fillcolor=cyan!50,opacity=1](C10)(C11)(C12)(C13) +\pspolygon[fillstyle=solid,fillcolor=cyan!50,opacity=1](A10)(A11)(A12)(A13) +\pspolygon[fillstyle=solid,fillcolor=cyan!50,opacity=1](A11)(C11)(C12)(A12) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=1,hatchangle=45,hatchsep=1.5pt](C14)(C15)(SB1) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=1,hatchangle=45,hatchsep=1.5pt](B15)(C15)(SB1) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=1,hatchangle=45,hatchsep=1.5pt](B14)(B15)(SB1) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=1,hatchangle=45,hatchsep=1.5pt](B14)(C14)(SB1) + +{\psset{base=-3,opacity=1} +\multido{\i=0+1,\n=1+1,\ra=-45+22.5,\rb=-22.5+22.5}{3}{% +\pstransTS[originT={4,3}](6;\ra){D\i}{E\i} +\pstransTS[originT={4,3}](6;\rb){F\n}{G\n} +\pstransTS[originT={4,4}](6;\ra){H\i}{I\i} +\pstransTS[originT={4,4}](6;\rb){J\n}{K\n} +\psline(E\i)(G\n) +\psline(I\i)(K\n) +\pspolygon[fillstyle=solid,fillcolor=gray](E\i)(G\n)(K\n)(I\i) +}} + +%----------- T\"{u}r Nebengeb\"{a}ude ------------------------- +\pstransTSK[translineK=false](1,0){1}{TL}{TL'} +\rput(TL'){% +\pscustom[fillstyle=solid,fillcolor=brown]{% +\psline(0.2,0)(-0.2,0)(-0.2,0.4) +\psarcn(0.2,0.4){0.4}{180}{120} +\psarcn(-0.2,0.4){0.4}{60}{0} +\closepath% +} +\psline[linewidth=0.5pt](0,0)(0,0.75) +\pscircle[linewidth=0.25pt](0.04,0.35){0.025} +\pscircle[linewidth=0.25pt](-0.04,0.35){0.025} +} +%----------- Haupt-T\"{u}r --------------------------------- +\rput(4,0){% +\psscalebox{2.5 2}% +{%\psset{unit=2}% +\psset{linewidth=0.25pt} +\pscustom[fillstyle=solid,fillcolor=brown]{% +\psline(0.2,0)(-0.2,0)(-0.2,0.4) +\psarcn(0.2,0.4){0.4}{180}{120} +\psarcn(-0.2,0.4){0.4}{60}{0} +\closepath% +} +\psline[linewidth=0.25pt](0,0)(0,0.75) +\pscircle[linewidth=0.25pt](0.04,0.35){0.025} +\pscircle[linewidth=0.25pt](-0.04,0.35){0.025} +}} + +%------- Uhr ------------------------- +\pnode(7,7.8){UZ} + +{\psset{originT={UZ},base=1,deltaphi=0} +\pstransTSX(0,0){U1}{U1'} +\pstransTSX(0.3;50){zg1}{zg1'} +\pstransTSX(0.5;-36){zg2}{zg2'} + +\multido{\i=0+5,\n=5+5}{72}{% +\pstransTSX(0.5;\i){A\i}{A'\i} +\pstransTSX(0.5;\n){B\n}{B'\n} +\psline(A'\i)(B'\n)} +\psline[linecolor=yellow!90!black!70]{c-c}(U1')(zg1') +\psline[linecolor=yellow!90!black!70]{c-c}(U1')(zg2') + +\multido{\i=0+30,\n=0+30}{12}{% +%\psset{translineA=true,translineB=true} +\pstransTSX(0.43;\i){A\i}{A'\i} +\pstransTSX(0.57;\n){B\n}{B'\n} +\psline(A'\i)(B'\n) +\psline(A\i)(B\n)} + +\pscircle(UZ){0.5} +\rput(UZ){% +\psline[linecolor=yellow!90!black!70]{c-c}(U1)(zg1) +\psline[linecolor=yellow!90!black!70]{c-c}(U1)(zg2) +} + +%------- Turmfenster und \"{O}ffnungen oben ------------------------ + +\pstransTSX(-0.15,0.75){FU1}{FU1'} +\pstransTSX(0.15,0.75){FU2}{FU2'} +\pstransTSX(0.15,1.5){FU3}{FU3'} +\pstransTSX(-0.15,1.5){FU4}{FU4'} +\pspolygon[fillstyle=solid,fillcolor=black!80](FU1)(FU2)(FU3)(FU4) +\pspolygon[fillstyle=solid,fillcolor=black!80](FU1')(FU2')(FU3')(FU4') + +\pstransTSX(-0.65,0.75){FUL1}{FUL1'} +\pstransTSX(-0.35,0.75){FUL2}{FUL2'} +\pstransTSX(-0.35,1.5){FUL3}{FUL3'} +\pstransTSX(-0.65,1.5){FUL4}{FUL4'} +\pspolygon[fillstyle=solid,fillcolor=black!80](FUL1)(FUL2)(FUL3)(FUL4) +\pspolygon[fillstyle=solid,fillcolor=black!80](FUL1')(FUL2')(FUL3')(FUL4') + +\pstransTSX(0.65,0.75){FUR1}{FUR1'} +\pstransTSX(0.35,0.75){FUR2}{FUR2'} +\pstransTSX(0.35,1.5){FUR3}{FUR3'} +\pstransTSX(0.65,1.5){FUR4}{FUR4'} +\pspolygon[fillstyle=solid,fillcolor=black!80](FUR1)(FUR2)(FUR3)(FUR4) +\pspolygon[fillstyle=solid,fillcolor=black!80](FUR1')(FUR2')(FUR3')(FUR4') + +\pstransTSX(-0.05,-2){FU1}{FU1'} +\pstransTSX(0.05,-2){FU2}{FU2'} +\pstransTSX(0.05,-2.3){FU3}{FU3'} +\pstransTSX(-0.05,-2.3){FU4}{FU4'} +\pspolygon[fillstyle=solid,fillcolor=black!80](FU1)(FU2)(FU3)(FU4) +\pspolygon[fillstyle=solid,fillcolor=black!80](FU1')(FU2')(FU3')(FU4') + +\pstransTSX(-0.05,-4){FU1}{FU1'} +\pstransTSX(0.05,-4){FU2}{FU2'} +\pstransTSX(0.05,-4.3){FU3}{FU3'} +\pstransTSX(-0.05,-4.3){FU4}{FU4'} +\pspolygon[fillstyle=solid,fillcolor=black!80](FU1)(FU2)(FU3)(FU4) +\pspolygon[fillstyle=solid,fillcolor=black!80](FU1')(FU2')(FU3')(FU4') + +\pstransTSX(-0.05,-6){FU1}{FU1'} +\pstransTSX(0.05,-6){FU2}{FU2'} +\pstransTSX(0.05,-6.3){FU3}{FU3'} +\pstransTSX(-0.05,-6.3){FU4}{FU4'} +\pspolygon[fillstyle=solid,fillcolor=black!80](FU1)(FU2)(FU3)(FU4) +\pspolygon[fillstyle=solid,fillcolor=black!80](FU1')(FU2')(FU3')(FU4') + +} + +%------- Turm-T\"{u}r --------------------------- +\rput(7,0){% +\pscustom[fillstyle=solid,fillcolor=brown]{% +\psline(0.2,0)(-0.2,0)(-0.2,0.4) +\psarcn(0.2,0.4){0.4}{180}{120} +\psarcn(-0.2,0.4){0.4}{60}{0} +\closepath% +} +\psline[linewidth=0.5pt](0,0)(0,0.75) +\pscircle[linewidth=0.25pt](0.04,0.35){0.025} +\pscircle[linewidth=0.25pt](-0.04,0.35){0.025} +} + + +%---------- rundes Haupt-Fenster ---------------------- +\pscircle[fillstyle=solid,fillcolor=black!70](4,2.7){0.45} + +%------- Kreuz ----------------------------------------- +\psline[linewidth=2.5pt]{c-c}(4,3.5)(4,5) +\psline[linewidth=2.5pt]{c-c}(3.58,4.5)(4.42,4.5) + +%---------- Weg ----------------------------------------- +\pstransTSK[translineK=false](3.5,0){-8}{W1}{W1'} +\pstransTSK[translineK=false](4.5,0){-8}{W2}{W2'} +\pspolygon[fillstyle=solid,fillcolor=gray!50,linestyle=none](W1)(W1')(W2')(W2) + + +{\psset{translineK=false,linestyle=none} +\multido{\i=1+1,\n=1+1}{8}{% +\pstransTSK(3.5,0){1 \i\space sub}{WM1a\i}{WM1a'\i} +\pstransTSK(3.5,0){0.5 \i\space sub}{WM1\i}{WM1'\i} +\pstransTSK(3.75,0){1 \i\space sub}{WM2a\i}{WM2a'\i} +\pstransTSK(3.75,0){0.7 \i\space sub}{WM2\i}{WM2'\i} +\pstransTSK(4.0,0){1 \i\space sub}{WM3a\i}{WM3a'\i} +\pstransTSK(4.0,0){0.5 \i\space sub}{WM3\i}{WM3'\i} +\pspolygon[fillstyle=solid,fillcolor=green!50,opacity=1](WM1a'\i)(WM1'\i)(WM2'\i)(WM2a'\i) +\pspolygon[fillstyle=solid,fillcolor=black!60,opacity=1](WM1'\i)(WM2'\i)(WM3'\i) +\pspolygon[fillstyle=solid,fillcolor=blue!50,opacity=1](WM2a'\i)(WM2'\i)(WM3'\i)(WM3a'\i) +\pstransTSK(4,0){0.5 \n\space sub}{WM4a\n}{WM4a'\n} +\pstransTSK(4,0){-\n}{WM4\n}{WM4'\n} +\pstransTSK(4.25,0){0.5 \n\space sub}{WM5a\n}{WM5a'\n} +\pstransTSK(4.25,0){.2 \n\space sub}{WM5\n}{WM5'\n} +\pstransTSK(4.5,0){0.5 \n\space sub}{WM6a\n}{WM6a'\n} +\pstransTSK(4.5,0){-\n}{WM6\n}{WM6'\n} +\pspolygon[fillstyle=solid,fillcolor=green!50,opacity=1](WM4a'\n)(WM4'\n)(WM5'\n)(WM5a'\n) +\pspolygon[fillstyle=solid,fillcolor=black!60,opacity=1](WM4'\n)(WM5'\n)(WM6'\n) +\pspolygon[fillstyle=solid,fillcolor=blue!50,opacity=1](WM5a'\n)(WM5'\n)(WM6'\n)(WM6a'\n) +}} +\end{pspicture} +} + + +\def\colA{black!20} +\def\colB{black!50} +\def\colC{black!30} +\def\Pfeiler{% +%--------- Pfeiler ------------- +\pstransTSK(4,0){8}{A}{A'} +\pstransTSK(10,0){8}{B}{B'} +\pstransTSK(9,10){8}{C}{C'} +\pstransTSK(5,10){8}{D}{D'} +\pstransTSK(5,13){8}{E}{E'} +\pstransTSK(9,13){8}{F}{F'} +\pstransTSK(14,18){8}{G}{G'} +\pstransTSK(14,21){8}{H}{H'} +\pstransTSK(0,21){8}{I}{I'} +\pstransTSK(0,18){8}{J}{J'} +\pstransTSK(0,13){8}{M1}{M1'} +\pstransTSK(14,13){8}{M2}{M2'} +%---------------------------------------- +\pspolygon[fillcolor=\colA](A)(B)(C)(D) +\pspolygon[fillcolor=\colB](B)(B')(C')(C) +\pspolygon[fillcolor=\colA](D)(C)(F)(E) +\pspolygon[fillcolor=\colB](C)(C')(F')(F) +%---------------------------------------- +\pscustom[fillcolor=\colB]{% +\psarcn(M2'){5}{180}{90} +\psline(F|G')(F)(F') +} +%---------------------------------------- +\pscustom[fillcolor=\colA]{% +\psarc(M2){5}{90}{180} +\psarc(M1){5}{0}{90} +\psline(I)(H) +} +%---------------------------------------- +\pspolygon[fillcolor=\colB](G)(G')(H')(H) +\pspolygon[fillcolor=\colC](I)(H)(H')(I') +} + +\begin{pspicture}[showgrid=false](0,-.5)(19,14) +\psset{linejoin=2,transcolor=black,translineK=false,arrowlength=2,arrowsize=0.15,arrowinset=0.02,fillstyle=solid,unit=0.6} +\Pfeiler +\psdot(M2) +\rput(M2){\pnode(5;30){R}} +\pcline{->}(M2)(R) +\naput[nrot=:U,labelsep=1pt]{$r=5,0\,\text{m}$} +\pcline[linestyle=dashed]([nodesep=-1.1]J)(J) +\pcline[linestyle=dashed]([nodesep=-1.1]I)(I) +\pcline[linestyle=dashed]([nodesep=-1.8]E)(E) +\pcline[linestyle=dashed]([nodesep=-1.8]D)(D) +\pcline[linestyle=dashed]([nodesep=-0.8]A)(A) +\pcline[linestyle=dashed]([offset=-0.8]A)(A) +\pcline[linestyle=dashed]([offset=-0.8]B)(B) +\pcline[linestyle=dashed]([nodesep=0.8]B)(B) +\pcline[linestyle=dashed]([nodesep=0.8]B')(B') +\pcline[linestyle=dashed]([nodesep=0.8]C)(C) +\pcline[linestyle=dashed]([nodesep=0.8]C')(C') +\pcline[offset=-0.7]{<->}(I)(J) +\ncput*{$3\,\text{m}$} +\pcline[offset=1.5]{<->}(D)(E) +\ncput*{$3\,\text{m}$} +\pcline[offset=.5]{<->}(A)([nodesep=-1]D) +\ncput*{$10\,\text{m}$} +\pcline[offset=-.5]{<->}(A)(B) +\ncput*{$6,0\,\text{m}$} +\pcline{<->}([nodesep=0.7]B)([nodesep=0.7]B') +\ncput*[nrot=:U]{$8,0\,\text{m}$} +\pcline{<->}([nodesep=0.7]C)([nodesep=0.7]C') +\ncput*[nrot=:U,fillcolor=black!50]{$8,0\,\text{m}$} +\pcline[offset=0.5]{<->}(D)(C) +\ncput*[fillcolor=black!20]{$4,0\,\text{m}$} +%---------------------------------------- +\def\colA{white} +\def\colB{white} +\def\colC{white} +\rput(14,0){% +\Pfeiler +\pcline[linestyle=dashed]([nodesep=0.8]G)(G) +\pcline[linestyle=dashed]([nodesep=0.8]G')(G') +\pcline{<->}([nodesep=0.7]G)([nodesep=0.7]G') +\ncput*[nrot=:U]{$8,0\,\text{m}$} +} +\end{pspicture} + + + +\begin{pspicture}[showgrid=false](-0.5,-0.5)(15,11) +\psset{linejoin=2,transcolor=black} +%--------- Torbogen ------------- +\pstransTSK(0,0){5}{A}{A'} +\pstransTSK(1.5,0){5}{B}{B'} +\pstransTSK[translineK=false](6.5,2.5){5}{C}{C'} +\pstransTSK(11.5,0){5}{D}{D'} +\pstransTSK(13,0){5}{E}{E'} +\pstransTSK(0,9){5}{F}{F'} +\pstransTSK(13,9){5}{G}{G'} +\pscustom[fillstyle=solid,fillcolor=brown!90]{% +\psline(A)(B)(B') +\psarcn(C'){5}{180}{110} +\psline(F)(A) +} +\pscustom[fillstyle=solid,fillcolor=brown!60]{% +\psline(A)(B) +\psarcn(C){5}{180}{0} +\psline(D)(E)(G)(F)(A) +} +\psdot[dotstyle=o,dotsize=5pt](C) +\psdot[dotstyle=o,dotsize=5pt](C') +\pspolygon[fillstyle=solid,fillcolor=brown!90](E)(E')(G')(G) +\pspolygon[fillstyle=solid,fillcolor=brown!40](F)(G)(G')(F') +\psline(B|C)([nodesep=0.3]B|C) +\psline(D|C)([nodesep=-0.3]D|C) +\psline(B'|C')([nodesep=0.3]B'|C') +\end{pspicture} + +\begin{pspicture}[showgrid=false](0.75,-.5)(19,5) +\psscalebox{0.2}{% +\psset{linejoin=2,transcolor=black,translineK=false,arrowlength=2,arrowsize=0.15,arrowinset=0.02,fillstyle=solid,linecolor=black!60} +\rput(0,0){\Pfeiler}\rput(14,0){\Pfeiler}\rput(28,0){\Pfeiler}\rput(42,0){\Pfeiler}\rput(56,0){\Pfeiler}\rput(70,0){\Pfeiler}\rput(84,0){\Pfeiler} +} +\end{pspicture} + + +\clearpage +\section{Liste aller optionalen Argumente f\"{u}r \texttt{pst-perspective}} + +\xkvview{family=pst-perspective,columns={key,type,default}} + + + +\bgroup +\raggedright +\nocite{*} +\bibliographystyle{plain} +\bibliography{pst-perspective-doc} +\egroup + +\printindex + + +\end{document} 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 Binary files differnew file mode 100644 index 00000000000..2f4e4657ca6 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-docEN.pdf 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 new file mode 100644 index 00000000000..c279a888f6e --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-docEN.tex @@ -0,0 +1,1689 @@ +\PassOptionsToPackage{dvipsnames}{xcolor} +\PassOptionsToPackage{distiller}{pstricks} +\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false, + smallheadings, headexclude,footexclude,oneside]{pst-doc} +\usepackage[utf8]{inputenc} +\usepackage[dvipsnames]{xcolor} %% Farben sind im Dokument xcolor.pdf definiert +\usepackage{multido,pst-grad,pst-eucl,pstricks-add} +\usepackage{pst-perspective} + +\lstset{language=PSTricks,morekeywords={pstransTSK,pstransTSX,pstransTS,pstMarkAngle,psIntersectionPoint}} + +\let\pstPerspectiveFV\fileversion +\renewcommand\bgImage{\psscalebox{0.85}{% +\begin{pspicture}[showgrid=false](0.5,-0.5)(11.5,8.5) +\begin{psclip}% +{\psframe[linestyle=none](0.25,-0.25)(11.35,8.35)} +\psgrid[subgriddiv=2,gridlabels=0,gridwidth=0.7pt,gridcolor=black!70,subgridwidth=0.6pt,subgridcolor=black!40](-1,-1)(13,10) +\end{psclip} +{\psset{translineA=true,translineB=true,linestyle=dashed,dash=5pt 3pt,linecolor=blue,linejoin=2} +%------ Vertices of the octagon ------------- +\pstransTS(3,0){A}{A'} +\pstransTS(7,0){B}{B'} +\pstransTS(9,2){C}{C'} +\pstransTS(9,6){D}{D'} +\pstransTS(7,8){E}{E'} +\pstransTS(3,8){F}{F'} +\pstransTS(1,6){G}{G'} +\pstransTS(1,2){H}{H'} +%--------------------------------------------- +} +\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) +\end{pspicture} +}} + +\parindent0pt + +\lstset{explpreset={pos=l,width=-99pt,overhang=0pt,hsep=\columnsep,vsep=\bigskipamount,rframe={}}, + escapechar=?} + +%\lstset{language=PSTricks,morekeywords={pst-perspective},basicstyle=\footnotesize\ttfamily} +% +\begin{document} + +\title{\texttt{pst-perspective}} +\subtitle{Plotting the perspective view of a point; v.\pstPerspectiveFV} +\author{Thomas S\"{o}ll} +\docauthor{} +\date{\today} +\maketitle + +\tableofcontents +\psset{unit=1cm} + +\clearpage + +\begin{abstract} +\noindent +\LPack{pst-perspective} loads by default the following packages: \LPack{pst-xkey}, and, of course \LPack{pstricks}. +All should be already part of your local \TeX\ installation. If not, or in case of having older versions, go to \url{http://www.CTAN.org/} and load the latest version. + +\vfill\noindent +Thanks to: \\ +J\"{u}rgen Gilg \\ +Herbert Vo{\ss} +\end{abstract} + +\clearpage +\section{Introduction} + +On the research to draw perspectives of geometrical objects for my classes with PSTricks, I couldn't find a package that fitted all my needs. + +For my needs, it should be possible to draw the perspective (an orthogonal parallel projection) with an arbitrarily chosen angle and a variable shortening factor. The setup for the points should alternatively be possible with cartesian or polar coordinates in two dimensions. + +The package \texttt{pst-solides3d} wasn't useful, cause it uses central projection. + +The package \texttt{pst-3dplot} allows parallel projection, and a shortening factor in one of the dimensions can eventually be chosen, e.\,g. with xThreeDunit, but all points need to be setup with three coordinates. I am not sure about an easy handling of setting up polar coordinates or giving an independent angle for the projection. + +With the macro \Lcs{ThreeDput} from the package \texttt{pst-3d}, only planes and lines in three dimensions are realizable---a third coordinate is needed. For my needs, this didn't seem to be too practicable. + +I think that with some of the already existing PSTricks packages a realisation of perspectives in the wanted form could have surely been managed. I couldn't see this however and wanted some simple macros, without loading mighty packages. + +To make a long story short: I decided to write a small PSTricks package, that will fit all my needs. This package contains only two small macros, so unwanted crashes with other PSTricks packages are not awaited. + + +\section{General} + +The described macros should help you to easily draw a perspective of a geometrical object like often used is school. + +There are three macros, the first two called \Lcs{pstransTS} and \Lcs{pstransTSX} are used to draw a perspective of a geometrical object laying in the $x,y$-plane and transforms every vertex. The points first get projected orthogonally to the base line (parameter \Lkeyword{base}), parallel to the $x$-axis, and therefrom they get transformed with an arbitrarily chosen angle measured from the positive $x$-axis (parameter \Lkeyword{phi}) and shortened (multiplied with the shortening factor \Lkeyword{vkf}). You then can use these transformed points with its given node names. It is similar with \Lcs{pstransTSX}, but the difference is, that the points are projected orthogonally onto a base line (Parameter \Lkeyword{base}) parallel to the $y$-axis, and therefrom they get transformed with an arbitrarily chosen angle (parameter \Lkeyword{phi}) and shortened (multiplied with the shortening factor \Lkeyword{vkf}). These two cases correspond to a projection of an object of the drawing plane into the $x$-$y$-plane or $x$-$z$-plane. + +The third macro \Lcs{pstransTSK} only shifts the points under a given angle \Lkeyword{phi} and shortens the initial distance to the base line with the factor \Lkeyword{vkf}. This macro is perfect, if the edges that need to be transformed, lay in the $x,y$-plane and the transformed edges lead to the back, orthogonal to the $x,y$-plane. Typical examples are the perspectives of a cuboid, square or an upright prism, where the base is in the $x,y$-plane. + +Both macros only generate the nodes for the transformed points, but the points itselves are neither drawn nor labeled. This must be done e.\,g. with \Lcs{psdot} and \Lcs{uput}. With booleans we can visualize the subsidiary lines, which show the orthogonal projection onto the base line and from there to the calculated transformed point. + +The subsidiary lines can be drawn in different colors, line styles and line widths with some additional optional parameters. + + +\section{The macro \nxLcs{pstransTS}} +\begin{BDef} +\Lcs{pstransTS}\OptArgs\Largr{$x_{\rm{A}},y_{\rm{A}}$}\Largb{\rm{A}}\Largb{\rm{A}'} +\end{BDef} + +The macro \Lcs{pstransTS}\OptArgs$(x_{\rm{A}},y_{\rm{A}})$\Largb{\rm{A}}\Largb{\rm{A}'} uses parentheses for the coordinates of the point. These coordinates can be setup in the usual PSTricks ways. The second argument in curly braces is the node name that is now given for this point. The new calculated point gets the node name to be entered as third argument and is needed to be enclosed in curly braces as well. + +In the following example the point $\text{A}(1|4)$ is firstly mapped onto the $x$-axis (visualized by the green dashed line) and from there a node named $\text{A}'$ is generated with a projection angle $\varphi=45^{\circ}$ and with half of its initial length \Largr{\rm{vkf}=0.5}. + +\begin{LTXexample}[wide,width=3cm] +\begin{pspicture}[showgrid=true,shift=-4.9](0.5,-0.5)(3,4.4) +{\psset{translineA=true,translineB=true} +\pnode(0,\ba){O}% \ba gives the y-value of the base line +\pstransTS(1,4){A}{A'} +} +\pcline[linewidth=1.3pt](0,0|O)(3,0|O)% draw base line +\psdot(A)% draw point A +\uput{4pt}[135]{0}(A){$\text{A}$} % label point A +\psdot[linecolor=brown](A')% draw point A' +\uput{4pt}[45]{0}(A'){$\text{A}'$}% label point A' +\pstMarkAngle[LabelSep=1.5,MarkAngleRadius=0.7,linecolor=blue,arrows=->]{3,\ba}{A|O}{A'}{$\varphi=45^{\circ}$}% draw and label the angle +\end{pspicture} +\end{LTXexample} + +\newpage +\subsection{Choice of the base line} +\begin{BDef} +\Lcs{pstransTS}[\OptArg*{\Lkeyset{base=\dots}}] +\end{BDef} + +We can define the $y$-value of the base line with \Lcs{pstransTS}[\OptArg*{\Lkeyset{base=\dots}}]. The default value is \Lkeyset{base=0}. Using \Lkeyset{base=1} we achieve, that the point is projected to a parallel to the $x$-axis with the equation $y=1$. This case is shown in the following example. + +\begin{LTXexample}[wide,width=3cm] +\begin{pspicture}[showgrid=true,shift=-4.9](0.5,-0.5)(3,4.4) +{\psset{translineA=true,translineB=true,base=1} +\pstransTS[base=1](1,4){A}{A'} +\pnode(0,\ba){O} +} +\pcline[linewidth=1.3pt](0,0|O)(3,0|O)% draw base line +\psdot(A)% draw point A +\uput{4pt}[135]{0}(A){$\text{A}$} % label point A +\psdot[linecolor=brown](A')% draw point A' +\uput{4pt}[45]{0}(A'){$\text{A}'$}% label point A' +\end{pspicture} +\end{LTXexample} + +Is the point to be projected below the base line, as shown in the example below ($\text{A}(1|0.5)$ with \Lkeyset{base=3}; \ $3>0.5$), it is not projected with the angle $\varphi$ but with the angle $180^{\circ}+\varphi$. If the angle $\varphi=45^{\circ}$ is chosen, then we get a resulting angle of $225^{\circ}$. + +\begin{LTXexample}[wide,width=4cm] +\begin{pspicture}[showgrid=true,shift=-4.9](-1.5,-0.5)(2,4.4) +{\psset{base=3,translineA=true,translineB=true,linestyle=dashed,transAcolor=red,transBcolor=blue,dash=5pt 4pt} +\pnode(0,\ba){O} +\pstransTS(1,0.5){A}{A'} +} +\pcline[linewidth=1.3pt](-2,0|O)(2,0|O) +\psdot(A) +\uput{4pt}[-30]{0}(A){$\text{A}$} +\psdot[linecolor=brown](A') +\uput{4pt}[180]{0}(A'){$\text{A}'$} +\pstMarkAngle[LabelSep=1.2,MarkAngleRadius=0.7,linecolor=blue,arrows=->]{3,\ba}{A|O}{A'}{$\varphi=225^{\circ}$} +\end{pspicture} +\end{LTXexample} + +\newpage +\subsection{Shifting the origin} +\begin{BDef} +\Lcs{pstransTS}[\OptArg*{\Lkeyset{originT=\{point\}}}] +\end{BDef} + +If we like to give points relative to a certain point, we can setup this point with \Lkeyset{originT=\{Z\}}. The syntax of this point is the usual PSTricks syntax, but it needs to be enclosed in curly braces and the parentheses are omitted. Especially with the usage of polar coordinates this can be profitable. A typical example is the drawing of a regular polygon. The vertices are mostly setup in polar coordinates so that we can rotate the polygon quite easily. For radius and angle we choose $\text{Z}$ as reference point. As shown in later example, it is no big deal to generate an upright prism as well as an oblique prism. + +Note, that the base line is shifted as well when shifting of the origin. With \Lkeyset{originT=\{2,3\}} we get the base line $y=3$. With the additional setting of \Lkeyset{base=-2} we additionally shift the base line two units down and finally get $y=1$. + +In the following example, we start from $\text{Z}(0|1)$ with a radius of $3$ and an angle of $60^{\circ}$ and a node named $\text{A}$ will be generated. The point $\text{A}$ will now be mapped onto the $x$-axis (\Lkeyset{base=-1}, due to the base was already shifted with the choice of $\text{Z}$ which itself was shifted one unit upwards, see red line) and from there a node named $\text{A}'$ is generated with the angle $\varphi=45^{\circ}$ and with half of its initial length (\Lkeyset{vkf=0.5}). + +\begin{LTXexample}[wide,width=3cm] +\begin{pspicture}[showgrid=true,shift=-4.9](0.5,-0.5)(3,4.4) +{\psset{base=-1,translineA=true,translineB=true,transAcolor=red,transBcolor=blue} +\pnode(0,0){O}% \ba gives the y-value of the base line +\pnode(0,1){Z}% +\pnode(4,0|Z){W1}% +\pstransTS[originT={Z}](3;60){A}{A'}} +\pcline[linewidth=1.3pt](0,0|O)(3,0|O)% draw base line +\psdot(A)% draw point A +\uput{4pt}[90]{0}(A){$\text{A}$} % label point A +\psdot[linecolor=brown](A')% draw point A' +\uput{4pt}[45]{0}(A'){$\text{A}'$}% label point A' +\psdot(Z)% draw point Z +\uput{4pt}[225]{0}(Z){$\text{Z}$}% label point Z +\psarc[linestyle=dashed,linecolor=cyan](Z){3}{15}{100} +\pcline[linecolor=cyan,linestyle=dashed](Z)(A) +\naput[nrot=:U]{$r=3$} +\pstMarkAngle[LabelSep=0.8,MarkAngleRadius=1.2,linecolor=cyan,arrows=->]{W1}{Z}{A}{$60^{\circ}$}% draw and label angle +\pstMarkAngle[LabelSep=1.5,MarkAngleRadius=0.7,linecolor=blue,arrows=->]{3,0}{A|O}{A'}{$\varphi=45^{\circ}$}% draw and label angle +\end{pspicture} +\end{LTXexample} + +\newpage +\subsection{The base given by a point} +\begin{BDef} +\Lcs{pstransTS}[\OptArg*{\Lkeyset{LowPoint=true},\Lkeyset{LowP=\{point\}}}] +\end{BDef} + +There might arise some difficulties in polar coordinates concerning the $y$-value of the point through which the base line should go, cause it is not explicitly known. This value for the base however can be calculated easily in most cases using RPN. + +For more complex points, the described way might be quite complicated. With the options \Lkeyset{LowPoint=true} and \Lkeyset{LowP=point} the base is setup through this point and an explicitly given base is ignored. + +Some examples will be visualized in the following examples. Starting from point $\text{Z}(4|4)$ we setup a point relatively to $\text{Z}$ in polar coordinates. Should the base now go through this point (the transformed point matches with this point), some trigonometrical relations might help. We get however the same result when using the options \Lkeyset{LowPoint=true} and \Lkeyset{LowP=point}. + +\OptArg*{\Lkeyset{base=292.5 360 sub sin 3 mul}} +\begin{LTXexample}[wide,pos=t] +\begin{pspicture}[showgrid=true](1,0.8)(8.5,7) +%------ Vertices of the octagon ------------- +{\pnode(4,4){Z} +\psset{originT=Z,base=292.5 360 sub sin 3 mul,translineA=true,translineB=true} +\pstransTS(3;292.5){A}{A'} +\pstransTS(3;67.5){B}{B'} +\psdot(A)% draw point A +\uput{4pt}[0]{0}(A){$\text{A}$} % label point A +\psdot(B)% draw point B +\uput{4pt}[90]{0}(B){$\text{B}$} % label point B +\psdot(B')% draw point B' +\uput{4pt}[90]{0}(B'){$\text{B}'$} % label point B' +\psdot(Z)% draw point Z +\uput{4pt}[225]{0}(Z){$\text{Z}$}% label point Z +} +\end{pspicture} +\end{LTXexample} + +\newpage +\OptArg*{\Lkeyset{LowPoint=true},\Lkeyset{LowP=\{3;292.5\}}} +\begin{LTXexample}[wide,pos=t] +\begin{pspicture}[showgrid=true](1,0.8)(8.5,7) +%------ Vertices of the octagon ------------- +{\pnode(4,4){Z} +\psset{originT=Z,LowPoint=true,LowP={3;292.5},translineA=true,translineB=true} +\pstransTS(3;292.5){A}{A'} +\pstransTS(3;67.5){B}{B'} +\psdot(A)% draw point A +\uput{4pt}[0]{0}(A){$\text{A}$} % label point A +\psdot(B)% draw point B +\uput{4pt}[90]{0}(B){$\text{B}$} % label point B +\psdot(B')% draw point B' +\uput{4pt}[90]{0}(B'){$\text{B}'$} % label point B' +\psdot(Z)% draw point Z +\uput{4pt}[225]{0}(Z){$\text{Z}$}% label point Z +} +\end{pspicture} +\end{LTXexample} + +\newpage +It must be pointed out, that with the definition of \Lcs{pnode(r;phi)\{point\}} followed by \Lkeyset{LowP=point}, the base is not shifted, which however only becomes noticeable, when the origin was shifted. In this case we write \Lcs{rput(origin)\{}\Lcs{pnode(r;phi)\{point\}}\}. + +Referring to the previous example, this looks as follows. + +\Lcs{pnode(4,4){Z}} \Lcs{rput(Z)\{}\Lcs{pnode(3;292.5)\{LP\}}\} +\OptArg*{\Lkeyset{originT=Z},\Lkeyset{LowPoint=true},\Lkeyset{LowP=\{LP\}}} +\begin{LTXexample}[wide,pos=t] +\begin{pspicture}[showgrid=true](1,0.8)(8.5,7) +%------ Vertices of the octagon ------------- +{\pnode(4,4){Z} +\rput(Z){\pnode(3;292.5){LP}} +\psset{originT=Z,LowPoint=true,LowP={LP},translineA=true,translineB=true} +\pstransTS(3;292.5){A}{A'} +\pstransTS(3;67.5){B}{B'} +\psdot(A)% draw point A +\uput{4pt}[0]{0}(A){$\text{A}$} % label point A +\psdot(B)% draw point B +\uput{4pt}[90]{0}(B){$\text{B}$} % label point B +\psdot(B')% draw point B' +\uput{4pt}[90]{0}(B'){$\text{B}'$} % label point B' +\psdot(Z)% draw point Z +\uput{4pt}[225]{0}(Z){$\text{Z}$}% label point Z +} +\end{pspicture} +\end{LTXexample} + +\newpage + +A typical example is the regular octagon, where the vertices can easily be given in polar coordinates. Without changing the base explicitly, it goes through the center. + +\begin{LTXexample}[wide,pos=t] +\begin{pspicture}[showgrid=true](1,0.8)(8.5,7) +\psset{linejoin=2} +%------ Vertices of the octagon ------------- +{\pnode(4,4){Z} +\psset{originT=Z,translineA=true,translineB=true} +\pstransTS(3;22.5){A}{A'} +\pstransTS(3;67.5){B}{B'} +\pstransTS(3;112.5){C}{C'} +\pstransTS(3;157.5){D}{D'} +\pstransTS(3;202.5){E}{E'} +\pstransTS(3;247.5){F}{F'} +\pstransTS(3;292.5){G}{G'} +\pstransTS(3;337.5){H}{H'} +} +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue](A')(B')(C')(D')(E')(F')(G')(H') +\pspolygon[fillstyle=solid,fillcolor=yellow!40,opacity=0.1,linewidth=0.9pt,linecolor=red](A)(B)(C)(D)(E)(F)(G)(H) +\end{pspicture} +\end{LTXexample} + +\newpage +If we want to have the base through the lower points, we can calculate the base or use a suitable option. + +\begin{LTXexample}[wide,pos=t] +\begin{pspicture}[showgrid=true](1,0.8)(8.5,7) +\psset{linejoin=2} +%------ Vertices of the octagon ------------- +{\pnode(4,4){Z} +\rput(Z){\pnode(3;292.5){LP}} +\psset{originT=Z,LowPoint=true,LowP={LP},translineA=true,translineB=true} +\pstransTS(3;22.5){A}{A'} +\pstransTS(3;67.5){B}{B'} +\pstransTS(3;112.5){C}{C'} +\pstransTS(3;157.5){D}{D'} +\pstransTS(3;202.5){E}{E'} +\pstransTS(3;247.5){F}{F'} +\pstransTS(3;292.5){G}{G'} +\pstransTS(3;337.5){H}{H'} +} +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue](A')(B')(C')(D')(E')(F')(G')(H') +\pspolygon[fillstyle=solid,fillcolor=yellow!40,opacity=0.1,linewidth=0.9pt,linecolor=red](A)(B)(C)(D)(E)(F)(G)(H) +\end{pspicture} +\end{LTXexample} + +\newpage +\subsection{Angle of projection} +\begin{BDef} +\Lcs{pstransTS}[\OptArg*{\nxLkeyword{phi=30}}]. +\end{BDef} + +The angle of projection is $45^{\circ}$ by default. If you like another angle e.\,g. $30^{\circ}$, use the optional argument \Lcs{pstransTS}[\OptArg*{\nxLkeyword{phi=30}}]. + +\begin{LTXexample}[wide,width=3cm] +\begin{pspicture}[showgrid=true,shift=-4.6](0.5,-0.5)(3,4.1) +{\psset{phi=30,base=0,translineA=true,translineB=true,transAcolor=red,transBcolor=blue} +\pnode(0,\ba){O}% \ba gives the y-value of the base line +\pstransTS(1,4){A}{A'} +} +\pcline[linewidth=1.3pt](0,0|O)(3,0|O)% draw base line +\psdot(A)% draw point A +\uput{4pt}[135]{0}(A){$\text{A}$} % label point A +\psdot[linecolor=brown](A')% draw point A' +\uput{4pt}[45]{0}(A'){$\text{A}'$}% label point A' +\pstMarkAngle[LabelSep=1.5,MarkAngleRadius=0.7,linecolor=blue,arrows=->]{3,\ba}{A|O}{A'}{$\varphi=30^{\circ}$}% draw and label angle +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[wide,width=3cm] +\begin{pspicture}[showgrid=true,shift=-4.6](0.5,-0.5)(3,4.1) +{\psset{phi=60,base=0,translineA=true,translineB=true,transAcolor=red,transBcolor=blue} +\pnode(0,\ba){O}% \ba gives the y-value of the base line +\pstransTS(1,4){A}{A'} +} +\pcline[linewidth=1.3pt](0,0|O)(3,0|O)% draw base line +\psdot(A)% draw point A +\uput{4pt}[135]{0}(A){$\text{A}$} % label point A +\psdot[linecolor=brown](A')% draw point A' +\uput{4pt}[45]{0}(A'){$\text{A}'$}% label point A' +\pstMarkAngle[LabelSep=1.5,MarkAngleRadius=0.7,linecolor=blue,arrows=->]{3,\ba}{A|O}{A'}{$\varphi=60^{\circ}$}% draw and label angle +\end{pspicture} +\end{LTXexample} + + + +\newpage +\subsection{Shortening factor} +\begin{BDef} +\Lcs{pstransTS}[\OptArg*{\nxLkeyword{vkf=0.5}}]. +\end{BDef} + +The shortening factor is \Lkeyset{vkf=0.5} by default. This means that the distance from the orthogal projected point to the calculated point only has half the length. A possible example is \Lcs{pstransTS}[\OptArg*{\nxLkeyword{vkf=1.2}}]. We are allowed to calculate the shortening factor in RPN as in the following example: + +\Lcs{pstransTS}[\OptArg*{\Lkeyset{vkf=2 sqrt 2 div}}]. The shortening factor is then approximately $0.707$. + +\begin{LTXexample}[wide,width=4.5cm] +\begin{pspicture}[showgrid=true,shift=-4.9](0.5,-0.5)(5,4.4) +{\psset{vkf=1.2,translineA=true,translineB=true,transAcolor=red,transBcolor=blue} +\pnode(0,\ba){O}% \ba gives the y-value of the base line +\pstransTS(1,4){A}{A'} +} +\pcline[linewidth=1.3pt](0,0|O)(5,0|O)% draw base line +\psdot(A)% draw point A +\uput{4pt}[135]{0}(A){$\text{A}$} % label point A +\psdot[linecolor=brown](A')% draw point A' +\uput{4pt}[45]{0}(A'){$\text{A}'$}% label point A' +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[wide,width=3cm] +\begin{pspicture}[showgrid=true,shift=-4.9](0.5,-0.5)(3,4.4) +{\psset{vkf=0.5 sqrt,base=0,translineA=true,translineB=true,transAcolor=red,transBcolor=blue} +\pnode(0,\ba){O}% \ba gives the y-value of the base line +\pstransTS(1,4){A}{A'} +} +\pcline[linewidth=1.3pt](0,0|O)(3,0|O)% draw base line +\psdot(A)% draw point A +\uput{4pt}[135]{0}(A){$\text{A}$} % label point A +\psdot[linecolor=brown](A')% draw point A' +\uput{4pt}[45]{0}(A'){$\text{A}'$}% label point A' +\end{pspicture} +\end{LTXexample} + +\newpage +\subsection{Subsidiary lines and their options} + +With the two booleans \Lkeyset{translineA=true/false} and \Lkeyset{translineB=true/false} the subsidiary lines can be shown or not. Their defaults are \Lkeyset{translineA=false} and \Lkeyset{translineB=false}. + +\begin{LTXexample}[wide,width=3.5cm] +\begin{pspicture}[showgrid=true,shift=-4.6](0.5,-0.5)(3,4.1) +\pstransTS(1,4){A}{A'} +\psdot(A)% draw point A +\uput{4pt}[135]{0}(A){$\text{A}$} % label point A +\psdot[linecolor=brown](A')% draw point A' +\uput{4pt}[45]{0}(A'){$\text{A}'$}% label point A' +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[wide,width=3.5cm] +\begin{pspicture}[showgrid=true,shift=-4.6](0.5,-0.5)(3,4.1) +{\psset{translineA=true,translineB=false,transAcolor=red,transBcolor=blue} +\pnode(0,\ba){O}% \ba gives the y-value of the base line +\pstransTS(1,4){A}{A'} +} +\pcline[linewidth=1.3pt](0,0|O)(3,0|O)% draw base line +\psdot(A)% draw point A +\uput{4pt}[135]{0}(A){$\text{A}$} % label point A +\psdot[linecolor=brown](A')% draw point A' +\uput{4pt}[45]{0}(A'){$\text{A}'$}% label point A' +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[wide,width=3.5cm] +\begin{pspicture}[showgrid=true,shift=-4.6](0.5,-0.5)(3,4.1) +{\psset{translineA=false,translineB=true,transAcolor=red,transBcolor=blue} +\pnode(0,\ba){O}% \ba gives the y-value of the base line +\pstransTS(1,4){A}{A'} +} +\pcline[linewidth=1.3pt](0,0|O)(3,0|O)% draw base line +\psdot(A)% draw point A +\uput{4pt}[135]{0}(A){$\text{A}$} % label point A +\psdot[linecolor=brown](A')% draw point A' +\uput{4pt}[45]{0}(A'){$\text{A}'$}% label point A' +\end{pspicture} +\end{LTXexample} + +\newpage +Every of the subsidiary lines can individually be setup with three properties: line width, line color and line style. Therefore we define the following options with its defaults. + +\begin{BDef} +\Lcs{pstransTS}[\OptArg*{\nxLkeyword{transAlinewidth=0.7pt}}],\\ +\Lcs{pstransTS}[\OptArg*{\nxLkeyword{transAcolor=green}}],\\ +\Lcs{pstransTS}[\OptArg*{\nxLkeyword{transAlinestyle=dashed}}],\\ +\Lcs{pstransTS}[\OptArg*{\nxLkeyword{transBlinewidth=0.7pt}}],\\ +\Lcs{pstransTS}[\OptArg*{\nxLkeyword{transBcolor=blue}}],\\ +\Lcs{pstransTS}[\OptArg*{\nxLkeyword{transBlinestyle=dashed}}] +\end{BDef} + +\begin{LTXexample}[wide,width=3.5cm] +\begin{pspicture}[showgrid=true,shift=-4.6](0.5,-0.5)(3,4.1) +\pstransTS[translineA=true,translineB=true,transAlinestyle=solid,transBlinestyle=dotted](1,4){A}{A'} +\psdot(A)% draw point A +\uput{4pt}[135]{0}(A){$\text{A}$} % label point A +\psdot[linecolor=brown](A')% draw point A' +\uput{4pt}[45]{0}(A'){$\text{A}'$}% label point A' +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[wide,width=3.5cm] +\begin{pspicture}[showgrid=true,shift=-4.6](0.5,-0.5)(3,4.1) +{\psset{translineA=true,translineB=true,transAcolor=brown,transBcolor=cyan} +\pnode(0,\ba){O}% \ba gives the y-value of the base line +\pstransTS(1,4){A}{A'} +} +\pcline[linewidth=1.3pt](0,0|O)(3,0|O)% draw base line +\psdot(A)% draw point A +\uput{4pt}[135]{0}(A){$\text{A}$} % label point A +\psdot[linecolor=brown](A')% draw point A' +\uput{4pt}[45]{0}(A'){$\text{A}'$}% label point A' +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[wide,width=3.5cm] +\begin{pspicture}[showgrid=true,shift=-4.6](0.5,-0.5)(3,4.1) +{\psset{translineA=true,translineB=true,transAlinewidth=1.2pt,transBlinewidth=2.5pt} +\pnode(0,\ba){O}% \ba gives the y-value of the base line +\pstransTS(1,4){A}{A'} +} +\pcline[linewidth=1.3pt](0,0|O)(3,0|O)% draw base line +\psdot(A)% draw point A +\uput{4pt}[135]{0}(A){$\text{A}$} % label point A +\psdot[linecolor=brown](A')% draw point A' +\uput{4pt}[45]{0}(A'){$\text{A}'$}% label point A' +\end{pspicture} +\end{LTXexample} + +\newpage + +\section{The macro \nxLcs{pstransTSX}} +\begin{BDef} +\Lcs{pstransTSX}\OptArgs\Largr{$x_{\rm{A}},y_{\rm{A}}$}\Largb{\rm{A}}\Largb{\rm{A}'} +\end{BDef} + +The macro \Lcs{pstransTSX}\OptArgs$(x_{\rm{A}},y_{\rm{A}})$\Largb{\rm{A}}\Largb{\rm{A}'} is used like \Lcs{pstransTS}. Also the parameters have the same names. +The only difference is, that the points are projected on a line parallel to the $y$-axis. + +This case we use, when we want to transform points on the lateral face of the perspective. Therefore, the lateral face needs to spread orthogonally backwards related to the $x,y$-plane. + +In the following example, the point $\text{A}(0.5|2)$ is projected orthogonally on the line $x=2$ (see green dashed line) und from there with an angle of $\varphi=45^{\circ}$ and with a shortening factor of a \Largr{\rm{vkf}=0.5} a node named $\text{A}'$ is generated. + +\begin{LTXexample}[wide,width=3cm] +\begin{pspicture}[showgrid=true](0.5,-0.5)(3,4.4) +{\psset{translineA=true,translineB=true,base=2,symline=0,symX=false} +\pnode(2,0.5){O}% +\pstransTSX(0.5,2){A}{A'} +\pstransTSX(1,1.5){B}{B'} +\pstransTSX(0,0.5){C}{C'} +}% +\pcline[linewidth=1.3pt](2,0)(2,4)% draw base line +\psdot(A)% draw point A +\uput{4pt}[135]{0}(A){$\text{A}$} % label point A +\psdot[linecolor=brown](A')% draw point A' +\psdot[linecolor=blue](B')% draw point B' +\psdot[linecolor=red](C')% draw point C' +\uput{4pt}[90]{0}(A'){$\text{A}'$}% label point A' +\pnode(3,0.5){P}% +\pstMarkAngle[LabelSep=1.0,MarkAngleRadius=0.65,linecolor=blue,arrows=->]{P}{O}{C'}{$\scriptstyle 45^{\circ}$}% draw and label angle +\pcline[linestyle=dashed](O)(P) +\end{pspicture} +\end{LTXexample} + + +\subsection{Symmetry of the transformation} + +As shown in the example above the points laying in the object left to the base are transformed further away than those laying right. This might disturb, if we want to transform points onto the lateral face. The following example will discuss this problem. It is three o'clock, after the transformation onto the lateral face it is nine o'clock. (Note: \Lkeyset{base=1} means, that the base is $x=2$, cause \Lkeyset{originT=\{1,2\}} shifts the origin, from which the base is counted positive to the right.) + +\begin{LTXexample}[wide,width=3cm] +\begin{pspicture}[showgrid=true](0.5,-0.5)(3,4.4) +\pnode(1,2){UZ} +{\psset{originT={UZ},base=1,symX=false} +\pstransTSX(0,0){U1}{U1'} +\pstransTSX[translineA=true,translineB=true](0.3;0){zg1}{zg1'} +\pstransTSX[translineA=true,translineB=true](0.5;90){zg2}{zg2'} +%----------------------------------------------------- +\pscircle(UZ){0.5} +\psline[linecolor=yellow!90!black!70]{c-c}(U1)(zg1) +\psline[linecolor=yellow!90!black!70]{c-c}(U1)(zg2) +%----------------------------------------------------- +\psline[linecolor=red]{c-c}(U1')(zg1') +\psline[linecolor=orange]{c-c}(U1')(zg2') +\multido{\i=0+5,\n=5+5}{72}{% +\pstransTSX(0.5;\i){A\i}{A'\i} +\pstransTSX(0.5;\n){B\n}{B'\n} +\psline(A'\i)(B'\n)} +} +\end{pspicture} +\end{LTXexample} + +A corresponding symmetrical transformation we get with \Lkeyset{symX=true,symline=0} which is the default. (Note as well, that \Lkeyset{symline=0} gives the symmetry axis relatively to \Lkeyset{originT=\{UZ\}}. Thus, the symmetry axis is $x=1$.) + +\begin{LTXexample}[wide,width=3cm] +\begin{pspicture}[showgrid=true](0.5,-0.5)(3,4.4) +\pnode(1,2){UZ} +{\psset{originT={UZ},base=1,symX=true,symline=0} +\pstransTSX(0,0){U1}{U1'} +\pstransTSX[translineA=true,translineB=true](0.3;0){zg1}{zg1'} +\pstransTSX[translineA=true,translineB=true](0.5;90){zg2}{zg2'} +%----------------------------------------------------- +\pscircle(UZ){0.5} +\psline[linecolor=yellow!90!black!70]{c-c}(U1)(zg1) +\psline[linecolor=yellow!90!black!70]{c-c}(U1)(zg2) +%----------------------------------------------------- +\psline[linecolor=red]{c-c}(U1')(zg1') +\psline[linecolor=orange]{c-c}(U1')(zg2') +\multido{\i=0+5,\n=5+5}{72}{% +\pstransTSX(0.5;\i){A\i}{A'\i} +\pstransTSX(0.5;\n){B\n}{B'\n} +\psline(A'\i)(B'\n)} +} +\end{pspicture} +\end{LTXexample} + +Another effect with the macro \Lcs{pstransTSX} can be achieved by the parameter \Lkeyset{deltaphi=\ldots} with which we can increase or decrease the projection angle for some objects locally and leaving the setting of \Lkeyset{phi=\ldots} globally. \Lkeyset{deltaphi=\ldots} adds/subtracts the given projection angle by that value. The result looks like an object swinging out the lateral face. + +\begin{LTXexample}[wide,width=3cm] +\begin{pspicture}[showgrid=true](0.5,-0.5)(3,4.4) +\pnode(1,2){UZ} +{\psset{originT={UZ},base=1,phi=15,symX=true,symline=0} +\pstransTSX(0,0){U1}{U1'} +\pstransTSX[translineA=true,translineB=true](0.3;0){zg1}{zg1'} +\pstransTSX[translineA=true,translineB=true](0.5;90){zg2}{zg2'} +%----------------------------------------------------- +\pscircle(UZ){0.5} +\psline[linecolor=yellow!90!black!70]{c-c}(U1)(zg1) +\psline[linecolor=yellow!90!black!70]{c-c}(U1)(zg2) +%----------------------------------------------------- +\psline[linecolor=red]{c-c}(U1')(zg1') +\psline[linecolor=orange]{c-c}(U1')(zg2') +\multido{\i=0+5,\n=5+5}{72}{% +\pstransTSX(0.5;\i){A\i}{A'\i} +\pstransTSX(0.5;\n){B\n}{B'\n} +\psline(A'\i)(B'\n)} +{\psset{deltaphi=45} +\pstransTSX(0,0){U1}{U1'} +\pstransTSX[translineA=true,translineB=true](0.3;0){zg1}{zg1'} +\pstransTSX[translineA=true,translineB=true](0.5;90){zg2}{zg2'} +%----------------------------------------------------- +\psline[linecolor=red]{c-c}(U1')(zg1') +\psline[linecolor=orange]{c-c}(U1')(zg2') +\multido{\i=0+5,\n=5+5}{72}{% +\pstransTSX(0.5;\i){A\i}{A'\i} +\pstransTSX(0.5;\n){B\n}{B'\n} +\psline(A'\i)(B'\n)} +} +} +\end{pspicture} +\end{LTXexample} + +\newpage +\section{The macro \nxLcs{pstransTSK}} +\begin{BDef} +\Lcs{pstransTSK}\OptArgs$(x_{\rm{A}},y_{\rm{A}})$\Largb{\rm{length}}\Largb{\rm{A}}\Largb{\rm{A}'} +\end{BDef} + +If the edges that should be transformed run vertically in the $x,y$-plane, they are projected orthogonally to the base line and from there transformed by a chosen angle and eventually by a shortening factor. The orthogonal projection of all points of a vertical edge end in the intersection point of this edge with the base line. Choosing a proper base, the intersection point of the vertical edge with the base line is a vertex of the geometrical object. In that special case it is sufficient to only project one of the vertices of the vertical line---such as doing it, constructing a perspective of the edges vertical to the $x,y$-plane (leading to the back) of a three-dimensional body with a given projection angle and a choden shortening factor. Thus, the projection can be reduced, cause only half of the vertices need to be transformed by a simple shifting. + +The macro \Lcs{pstransTSK} shifts a point to be setup in parentheses. The length of the shift is calculated by the value given after it in curly braces multiplied with the shortening factor that is \Lkeyset{vkf=0.5} by default. The angle of the shifting in relation to the horizontal ($x$-axis), $45^{\circ}$ by default, can be varied by \Lkeyset{phi=\ldots}. The subsidiary lines can be shown or hidden. The options of the subsidiary lines can be varied. + +The following set of examples will make this clearer. + +First we setup the points of a square that lays in $x,y$-plane. These points we give the node names $\text{A}$, $\text{B}$, $\text{C}$ and $\text{D}$. The transformed points are shifted by two units (the length $4$ is multiplied by the shortening factor $0.5$) and the transformed nodes names $\text{A}'$, $\text{B}'$, $\text{C}'$ and $\text{D}'$ are calculated and stored under that names. + +\begin{LTXexample}[wide,width=5.5cm] +\begin{pspicture}[showgrid=false,shift=-5.0](0.7,-0.4)(7,5.8) +%---- Vertices of the square --- +\pstransTSK(1,0){4}{A}{A'} +\pstransTSK(5,0){4}{B}{B'} +\pstransTSK(5,4){4}{C}{C'} +\pstransTSK(1,4){4}{D}{D'} +\pspolygon[linewidth=0.9pt,linecolor=black](A)(B)(C)(D) +\pspolygon[linewidth=0.9pt,linecolor=black](A')(B')(C')(D') +\end{pspicture} +\end{LTXexample} + +With some other angles this looks as follows: + +\begin{LTXexample}[wide,width=6.5cm] +\begin{pspicture}[showgrid=false,shift=-5.0](0.7,-0.4)(7,5.8) +%---- Vertices of the square --- +\pstransTSK[phi=30](1,0){4}{A}{A'} +\pstransTSK[phi=30](5,0){4}{B}{B'} +\pstransTSK[phi=30](5,4){4}{C}{C'} +\pstransTSK[phi=30](1,4){4}{D}{D'} +\pspolygon[linewidth=0.9pt,linecolor=black](A)(B)(C)(D) +\pspolygon[linewidth=0.9pt,linecolor=black](A')(B')(C')(D') +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[wide,width=5.5cm] +\begin{pspicture}[showgrid=false,shift=-5.0](0.7,-0.4)(7,5.8) +%---- Vertices of the square --- +\psset{phi=60} +\pstransTSK(1,0){4}{A}{A'} +\pstransTSK(5,0){4}{B}{B'} +\pstransTSK(5,4){4}{C}{C'} +\pstransTSK(1,4){4}{D}{D'} +\pspolygon[linewidth=0.9pt,linecolor=black](A)(B)(C)(D) +\pspolygon[linewidth=0.9pt,linecolor=black](A')(B')(C')(D') +\end{pspicture} +\end{LTXexample} + +A change of the shortening factor leads to the following designs. + +\begin{LTXexample}[wide,width=5.5cm] +\begin{pspicture}[showgrid=false,shift=-5.0](0.7,-0.4)(7,5.8) +%---- Vertices of the square --- +\psset{vkf=0.25} +\pstransTSK(1,0){4}{A}{A'} +\pstransTSK(5,0){4}{B}{B'} +\pstransTSK(5,4){4}{C}{C'} +\pstransTSK(1,4){4}{D}{D'} +\pspolygon[linewidth=0.9pt,linecolor=black](A)(B)(C)(D) +\pspolygon[linewidth=0.9pt,linecolor=black](A')(B')(C')(D') +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[wide,width=6.5cm] +\begin{pspicture}[showgrid=false,shift=-5.0](0.7,-0.4)(7,5.8) +%---- Vertices of the square --- +\psset{vkf=0.75} +\pstransTSK(1,0){4}{A}{A'} +\pstransTSK(5,0){4}{B}{B'} +\pstransTSK(5,4){4}{C}{C'} +\pstransTSK(1,4){4}{D}{D'} +\pspolygon[linewidth=0.9pt,linecolor=black](A)(B)(C)(D) +\pspolygon[linewidth=0.9pt,linecolor=black](A')(B')(C')(D') +\end{pspicture} +\end{LTXexample} + +\newpage +\section{Examples} + +\begin{LTXexample}[pos=t] +\begin{pspicture}[showgrid=true](0.5,-0.5)(11.5,8.0) +{\psset{phi=40,translineA=true,translineB=true} +%------ Vertices of the octagon ------------- +\pstransTS(3,0){A}{A'} +\pstransTS(7,0){B}{B'} +\pstransTS(9,2){C}{C'} +\pstransTS(9,6){D}{D'} +\pstransTS(7,8){E}{E'} +\pstransTS(3,8){F}{F'} +\pstransTS(1,6){G}{G'} +\pstransTS(1,2){H}{H'} +%--------------------------------------------- +} +\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)(12,0|O) +\end{pspicture} +\end{LTXexample} + +\newpage +\begin{LTXexample}[pos=t] +\begin{pspicture}[showgrid=true](0.5,-0.5)(10,8.4) +{\psset{base=0,translineA,translineB,linecolor=blue,linestyle=dashed,transAcolor=blue,transBcolor=orange,dash=5pt 5pt} +\pnode(0,\ba){O}% \ba gives the y-value of the base line +%------ Vertices of the "X" ------------- +\pstransTS(1,0){A}{A'} +\pstransTS(2,0){B}{B'} +\pstransTS(4,3){C}{C'} +\pstransTS(6,0){D}{D'} +\pstransTS(7,0){E}{E'} +\pstransTS[transAlinestyle=solid,transAcolor=red,transAlinewidth=2pt](4.5,4){F}{F'} +\pstransTS[linestyle=solid,linecolor=green](7,8){G}{G'} +\pstransTS[transAcolor=red,transBcolor=black,transBlinewidth=1.4pt](6,8){H}{H'} +\pstransTS(4,5){I}{I'} +\pstransTS(2,8){J}{J'} +\pstransTS[linecolor=red](1,8){K}{K'} +\pstransTS(3.5,4){L}{L'} +%------------------------------------- +} +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue](A')(B')(C')(D')(E')(F')(G')(H')(I')(J')(K')(L') +\pspolygon[fillstyle=solid,fillcolor=yellow!30,opacity=0.5,linewidth=0.9pt,linecolor=red](A)(B)(C)(D)(E)(F)(G)(H)(I)(J)(K)(L) +\pcline[linewidth=1.3pt](0,0|O)(10,0|O) +\end{pspicture} +\end{LTXexample} + +\newpage +\begin{LTXexample}[pos=t] +\psscalebox{0.7}{% +\begin{pspicture}[showgrid=false](0.5,-0.5)(10,9.4) +\def\lange{2 sqrt 2 mul} +{\psset{phi=30,base=0,translineK,translinestyle=dashed,linecolor=blue,linejoin=2,fillstyle=solid,opacity=0.5} +%------ Vertices of the "X" ------------- +\pstransTSK(1,0){\lange}{A}{A'} +\pstransTSK(2,0){\lange}{B}{B'} +\pstransTSK(4,3){\lange}{C}{C'} +\pstransTSK(6,0){\lange}{D}{D'} +\pstransTSK(7,0){\lange}{E}{E'} +\pstransTSK(4.5,4){\lange}{F}{F'} +\pstransTSK(7,8){\lange}{G}{G'} +\pstransTSK(6,8){\lange}{H}{H'} +\pstransTSK(4,5){\lange}{I}{I'} +\pstransTSK(2,8){\lange}{J}{J'} +\pstransTSK(1,8){\lange}{K}{K'} +\pstransTSK(3.5,4){\lange}{L}{L'} +%------------------------------------- +\pspolygon[linestyle=dashed](A')(B')(C')(D')(E')(F')(G')(H')(I')(J')(K')(L') +\pspolygon[fillcolor=cyan!30,linestyle=none](B)(B')(C')(C) +} +\psIntersectionPoint(C')(B')(C)(D){S1} +\psline(B)(B')(S1) +\psIntersectionPoint(H)(I)(I')(J'){S2} +\psline(J')(S2) +{\psset{phi=30,base=0,translineK,translinestyle=dashed,linecolor=blue,linejoin=2,fillstyle=solid,opacity=0.5} +\pspolygon[fillcolor=cyan!30](E)(E')(F')(F) +\pspolygon[fillcolor=cyan!30](F)(F')(G')(G) +\pspolygon[fillcolor=cyan!30](G)(G')(H')(H) +\pspolygon[fillcolor=cyan!30,linestyle=none](I)(I')(J')(J) +\pspolygon[fillcolor=cyan!30](J)(J')(K')(K) +\pspolygon[fillcolor=orange!60](A)(B)(C)(D)(E)(F)(G)(H)(I)(J)(K)(L)} +\end{pspicture}} +\end{LTXexample} + +\newpage +\begin{LTXexample}[wide,pos=t] +\psscalebox{0.5}{% +\begin{pspicture}[showgrid=false](0.5,0)(10,5.7) +{\psset{base=0,linecolor=blue,linestyle=dashed,dash=5pt 4pt} +%------ Vertices of the lower "X" ------------- +\pstransTS(1,0){A}{A'} +\pstransTS(2,0){B}{B'} +\pstransTS(4,3){C}{C'} +\pstransTS(6,0){D}{D'} +\pstransTS(7,0){E}{E'} +\pstransTS(4.5,4){F}{F'} +\pstransTS(7,8){G}{G'} +\pstransTS(6,8){H}{H'} +\pstransTS(4,5){I}{I'} +\pstransTS(2,8){J}{J'} +\pstransTS(1,8){K}{K'} +\pstransTS(3.5,4){L}{L'} +%------ Vertices of the upper "X" ------------- +\rput(0,3){% The same "X" shifted 3 units upwards +\pstransTS(1,0){A1}{A1'} +\pstransTS(2,0){B1}{B1'} +\pstransTS(4,3){C1}{C1'} +\pstransTS(6,0){D1}{D1'} +\pstransTS(7,0){E1}{E1'} +\pstransTS(4.5,4){F1}{F1'} +\pstransTS(7,8){G1}{G1'} +\pstransTS(6,8){H1}{H1'} +\pstransTS(4,5){I1}{I1'} +\pstransTS(2,8){J1}{J1'} +\pstransTS(1,8){K1}{K1'} +\pstransTS(3.5,4){L1}{L1'}} +%------------------------------------- +\pcline(F')(F1') +\pcline(H')(H1') +\pcline(I')(I1') +\pcline(J')(J1') +\pcline(K')(K1') +\pcline(L')(L1') +} +\psIntersectionPoint(K')(K1')(A1')(L1'){S1} +\psline[linestyle=solid,linecolor=blue](K1')(S1) +\psIntersectionPoint(E')(E1')(F')(G'){S2} +\psline[linestyle=solid,linecolor=blue](S2)(G')(G1')%(F1')(E1')(E') +{% +\psset{linejoin=2,fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue} +\pspolygon[linestyle=none](K')(L')(L1')(K1') +\pspolygon[linestyle=dashed](A')(B')(C')(D')(E')(F')(G')(H')(I')(J')(K')(L') +\pspolygon(A')(B')(B1')(A1') +\pspolygon(B')(C')(C1')(B1') +\pspolygon(C')(D')(D1')(C1') +\pspolygon(D')(E')(E1')(D1') +\pspolygon[linestyle=none](F')(G')(G1')(F1') +\pspolygon[opacity=0.5](A1')(B1')(C1')(D1')(E1')(F1')(G1')(H1')(I1')(J1')(K1')(L1') +} +\end{pspicture}} +\end{LTXexample} + +\newpage +\begin{LTXexample}[pos=t,wide] +\begin{pspicture}[showgrid=false,shift=-5.0](0.7,-0.4)(7,6) +{\psset{phi=30} +%------ Eckpunkte vom Aufriss -------------- +\pstransTSK(1,0){4}{A}{A'} +\pstransTSK(5,0){4}{B}{B'} +\pstransTSK(5,5){4}{C}{C'} +\pstransTSK(1,5){4}{D}{D'} +%-------------------------------------------- +} +\psIntersectionPoint(A)(B')(B)(A'){S1} +\psIntersectionPoint(C)(D')(D)(C'){S2} +\pspolygon[linewidth=0.9pt,linecolor=black](A)(B)(C)(D) +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.5,linestyle=none](A)(B)(B')(A') +{\psset{linestyle=dashed,dash=4pt 2pt,linewidth=0.9pt,linecolor=black} +\pcline(A')(B') +\pcline(A')(D') +\pcline(A)(A') +\pcline(A)(B') +\pcline(B)(A') +\pcline(D)(C') +\pcline(C)(D') +\pcline(S1)(S2) +} +\pcline(B)(B') +\pcline(C)(C') +\pcline(D)(D') +\pcline(B')(C') +\pcline(C')(D') +\pcline(A)(S2) +\pcline(B)(S2) +\pcline(B')(S2) +\pcline(A')(S2) +\qdisk(S2){2pt}\uput{0.3}[90](S2){S} +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[width=6cm] +\begin{pspicture}[showgrid=true](1,-0.3)(7,6) +\pnode(4,3){M} +{\psset{originT={M}} +\multido{\i=0+10}{36}{\psset{phi=45,vkf=0.5,translineA=true,translineB=true} +\pstransTS[linecolor=blue,linewidth=0.5pt,linestyle=dashed](2.5;\i){A\i}{A'\i} +\psdot[dotsize=1.8pt,linecolor=blue](A\i)\psdot[dotsize=1.8pt,linecolor=red](A'\i) +} +} +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[width=6cm] +\begin{pspicture}[showgrid=false](1,-0.3)(7,6) +\pnode(4,3){M} +{\psset{originT={M}} +\multido{\i=0+5,\n=5+5}{72}{% +\pstransTS[linecolor=blue,linewidth=0.5pt,linestyle=dashed](2.5;\i){A\i}{A'\i} +\pstransTS(2.5;\n){B\n}{B'\n} +\psdot[dotsize=1.8pt,linecolor=blue](A\i)\psdot[dotsize=1.8pt,linecolor=red](A'\i)\psline(A\i)(B\n)\psline[linecolor=orange!50](A'\i)(B'\n) +} +} +\rput(M){\pnode(2.665;7){C'}} +\rput(M){\pnode(2.665;187){D'}} +\pcline[linecolor=cyan](C')(D') +\rput(M){\pnode(0.83;97){E'}} +\rput(M){\pnode(0.83;277){F'}} +\pcline[linecolor=magenta](E')(F') +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[pos=t] +\begin{pspicture}[showgrid=false](-2,0)(8,6) +\pnode(4.5,1){Z}\psset{originT={Z}} +\pstransTS(2;-60){A'}{A} +\pstransTS(2;0){B'}{B} +\pstransTS(2;60){C'}{C} +\pstransTS(2;120){D'}{D} +\pstransTS(2;180){E'}{E} +\pstransTS(2;240){F'}{F} +\pspolygon[fillstyle=solid,fillcolor=yellow!30,opacity=0.5,linewidth=0.9pt,linecolor=blue,linestyle=none](A)(B)(C)(D)(E)(F)%(G)(H)(I)(J)(K)(L) +%\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue](A')(B')(C')(D')(E')(F')%(G')(H') +\psline[linewidth=0.9pt,linecolor=blue](E)(F)(A)(B) +\psline[linewidth=0.9pt,linecolor=blue,linestyle=dashed](D)(E) + +\pnode(4.5,5){Z}\psset{originT={Z}} +\pstransTS(2;-60){I'}{I} +\pstransTS(2;0){J'}{J} +\pstransTS(2;60){K'}{K} +\pstransTS(2;120){L'}{L} +\pstransTS(2;180){M'}{M} +\pstransTS(2;240){N'}{N} +\pspolygon[fillstyle=solid,fillcolor=cyan!60,opacity=0.6,linecolor=blue](A)(B)(J)(I)%(E')(F')%(G')(H') +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue,linestyle=dashed](B)(C)(K)(J)% +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue,linestyle=dashed](C)(D)(L)(K)% +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue,linestyle=none](D)(E)(M)(L)% +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue](E)(F)(N)(M)% +\pspolygon[fillstyle=solid,fillcolor=cyan!50,opacity=0.4,linecolor=blue](F)(A)(I)(N)% +\pspolygon[fillstyle=solid,fillcolor=yellow!30,opacity=0.5,linewidth=0.9pt,linecolor=blue](I)(J)(K)(L)(M)(N)%(G)(H)(I)(J)(K)(L) +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[pos=t,wide] +\begin{pspicture}[showgrid=false](-0.5,0.2)(7,5.6) +\psset{linejoin=2} +\pnode(2.5,1){Z}\psset{originT={Z}} +\pstransTS(2;-90){A'}{A} +\pstransTS(2;-30){B'}{B} +\pstransTS(2;30){C'}{C} +\pstransTS(2;90){D'}{D} +\pstransTS(2;150){E'}{E} +\pstransTS(2;210){F'}{F} +\pspolygon[fillstyle=solid,fillcolor=yellow!30,opacity=0.5,linewidth=0.9pt,linecolor=blue,linestyle=none](A)(B)(C)(D)(E)(F)%(G)(H)(I)(J)(K)(L) +\psline[linewidth=0.9pt,linecolor=blue](B)(C) +\psline[linewidth=0.9pt,linecolor=blue,linestyle=dashed](D)(E) +\pnode(2.5,5){Z}\psset{originT={Z}} +\pstransTS(2;-60){I'}{I} +\pstransTS(2;0){J'}{J} +\pstransTS(2;60){K'}{K} +\pstransTS(2;120){L'}{L} +\pstransTS(2;180){M'}{M} +\pstransTS(2;240){N'}{N} +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue](A)(B)(J)(I)%(E')(F')%(G')(H') +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue,linestyle=dashed](B)(C)(K)(J)% +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue,linestyle=dashed](C)(D)(L)(K)% +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue,linestyle=none](D)(E)(M)(L)% +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue,linestyle=dashed](E)(F)(N)(M)% +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue](F)(A)(I)(N)% +\pspolygon[fillstyle=solid,fillcolor=yellow!30,opacity=0.5,linewidth=0.9pt,linecolor=blue](I)(J)(K)(L)(M)(N)%(G)(H)(I)(J)(K)(L) +\psIntersectionPoint(C)(K)(B)(J){SBJ} +\psIntersectionPoint(E)(M)(F)(N){SFN} +\psline[linewidth=0.9pt,linecolor=blue](C)(SBJ) +\psline[linewidth=0.9pt,linecolor=blue](SFN)(M) +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[pos=t,wide] +\begin{pspicture}[showgrid=false](0,0)(6,6) +\pnode(3.5,1){Z}\psset{originT={Z}} +\pstransTS(2;-60){A'}{A} +\pstransTS(2;0){B'}{B} +\pstransTS(2;60){C'}{C} +\pstransTS(2;120){D'}{D} +\pstransTS(2;180){E'}{E} +\pstransTS(2;240){F'}{F} +\pspolygon[fillstyle=solid,fillcolor=yellow!30,opacity=0.5,linewidth=0.9pt,linecolor=blue,linestyle=none](A)(B)(C)(D)(E)(F)%(G)(H)(I)(J)(K)(L) +\psline[linewidth=0.9pt,linecolor=blue](E)(F)(A)(B) +\psline[linewidth=0.9pt,linecolor=blue,linestyle=dashed](D)(E) +\pnode(3.5,5){Z}\psset{originT={Z}} +\pstransTS(1;-60){I'}{I} +\pstransTS(1;0){J'}{J} +\pstransTS(1;60){K'}{K} +\pstransTS(1;120){L'}{L} +\pstransTS(1;180){M'}{M} +\pstransTS(1;240){N'}{N} +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue](A)(B)(J)(I)%(E')(F')%(G')(H') +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue,linestyle=dashed](B)(C)(K)(J)% +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue,linestyle=none](C)(D)(L)(K)% +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue,linestyle=none](D)(E)(M)(L)% +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue](E)(F)(N)(M)% +\pspolygon[fillstyle=solid,fillcolor=cyan!30,opacity=0.3,linecolor=blue](F)(A)(I)(N)% +\pspolygon[fillstyle=solid,fillcolor=yellow!30,opacity=0.5,linewidth=0.9pt,linecolor=blue](I)(J)(K)(L)(M)(N)%(G)(H)(I)(J)(K)(L) +\psline[linewidth=0.9pt,linecolor=blue,linestyle=dashed](C)(D)(L) +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[pos=t,wide] +\begin{pspicture}[showgrid=false](0,0)(13,3.5) +\psset{linejoin=2,linewidth=1pt} +\psset{transcolor=black,translinestyle=solid}% +\pstransTSK(0,0){3}{A}{A'}% +\pstransTSK(6,0){3}{B}{B'}% +\pstransTSK(5,3){3}{C}{C'}% +\psline[linestyle=dashed](A')(B')% +\pspolygon[fillstyle=solid,fillcolor=yellow!40,opacity=0.3,linewidth=0.9pt,linecolor=black](A)(B)(C)% +\pspolygon[fillstyle=solid,fillcolor=cyan!40,opacity=0.3,linestyle=none](A')(A)(C)(C') +\pspolygon[fillstyle=solid,fillcolor=cyan!40,opacity=0.3,linestyle=none](B)(B')(C')(C) +\psline(A')(C')(B')% +\pcline[linecolor=red](C)(C|A) +\pstransTS(8,3){A}{A'} +\pstransTS(14,3){B}{B'} +\pstransTS(13,0){C}{C'} +\pspolygon[fillstyle=solid,fillcolor=yellow!40,opacity=0.3,linestyle=none](A')(B')(C') +\psline[linestyle=dashed](A')(B') +\psline(A')(C')(B') +{\psset{base=0,originT={0,2}} +\pstransTS(8,3){D}{D'} +\pstransTS(14,3){E}{E'} +\pstransTS(13,0){F}{F'} +\pstransTS(F|D){K}{K'} +\pspolygon[fillstyle=solid,fillcolor=yellow!40,opacity=0.3](D')(E')(F') +\pspolygon[fillstyle=solid,fillcolor=cyan!40,opacity=0.3,linestyle=none](A')(C')(F')(D') +\pspolygon[fillstyle=solid,fillcolor=cyan!40,opacity=0.3,linestyle=none](C')(B')(E')(F') +\psline[linestyle=dashed](D')(E') +\psline(D')(F')(E') +\psline(C')(F') +} +{\psset{phi=-135,transcolor=black} +\pstransTSK(A'){3}{G'}{G} +\pstransTSK(B'){3}{H'}{H} +\pstransTSK(D'){3}{I'}{I} +\pstransTSK(E'){3}{J'}{J} +\pspolygon(G)(H)(J)(I) +} +\pspolygon(B')(H)(J)(E') +\pspolygon(A')(G)(I)(D') +\pcline[linecolor=red](F')(K') +%} +\end{pspicture} +\end{LTXexample} + + +\begin{LTXexample}[pos=t,wide] +\psscalebox{0.6}{% +\begin{pspicture}[showgrid=false](-0.5,0)(17,10.4) +\psset{linejoin=2,phi=30,vkf=0.7} + +{\psset{base=-3} +\multido{\i=0+1,\n=1+1,\ra=-67.5+22.5,\rb=-45+22.5}{14}{% +\pstransTS[originT={4,3}](6;\ra){D\i}{E\i} +\pstransTS[originT={4,3}](6;\rb){F\n}{G\n} +\pstransTS[originT={4,5}](6;\ra){H\i}{I\i} +\pstransTS[originT={4,5}](6;\rb){J\n}{K\n} +\psline[linecolor=orange!50](E\i)(G\n) +\psline[linecolor=orange!50](I\i)(K\n) +\pspolygon[fillstyle=solid,fillcolor=orange,opacity=1](E\i)(G\n)(K\n)(I\i) +}} + +{\psset{translineK=false}% +\pstransTSK(0,0){1}{A1}{B1} +\pstransTSK(2,0){1}{A2}{B2} +\pstransTSK(2,3){1}{A3}{B3} +\pstransTSK(0,2){1}{A4}{B4} +%---------------------------- +\pstransTSK(0,0){6}{A1}{C1} +\pstransTSK(2,0){6}{A2}{C2} +\pstransTSK(2,3){6}{A3}{C3} +\pstransTSK(0,2){6}{A4}{C4} +} +\psline[linestyle=dashed](C1)(C4) +\psline[linestyle=dashed](B1)(C1)(C2) +\pspolygon[fillstyle=solid,fillcolor=green!30,opacity=0.7](B1)(B2)(B3)(B4) +\pspolygon[fillstyle=solid,fillcolor=green!30,opacity=0.7](B2)(C2)(C3)(B3) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.7,hatchangle=120,hatchsep=1.5pt](B4)(B3)(C3)(C4) +%---------------------------- +\pstransTSK(2,0){6}{A5}{C5} +\pstransTSK(6,0){6}{A6}{C6} +\pstransTSK(6,4){6}{A7}{C7} +\pstransTSK(4,6){6}{A8}{C8} +\pstransTSK(2,4){6}{A9}{C9} +%---------------------------- +\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=0.2](C5)(C6)(C7)(C9) +\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=0.2](C7)(C8)(C9) +\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=0.7](A5)(A6)(A7)(A9) +\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=0.7](A7)(A8)(A9) +\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=0.7](A6)(C6)(C7)(A7) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.7,hatchangle=45,hatchsep=1.5pt](A7)(C7)(C8)(A8) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.7,hatchangle=135,hatchsep=1.5pt](A9)(A8)(C8)(C9) +%---------------------------- +\pstransTSK(6,0){2}{A10}{C10} +\pstransTSK(8,0){2}{A11}{C11} +\pstransTSK(8,8){2}{A12}{C12} +\pstransTSK(6,8){2}{A13}{C13} +\pstransTSK(8.2,8){-0.2}{A14}{B14} +\pstransTSK(5.8,8){-0.2}{A15}{B15} +\pstransTSK(8.2,8){2.2}{A14}{C14} +\pstransTSK(5.8,8){2.2}{A15}{C15} +\pstransTSK[translineK=false](8,10){2}{A16}{C16} +\pstransTSK[translineK=false](6,10){2}{A17}{C17} +\psIntersectionPoint(A16)(C17)(A17)(C16){SB1} +%---------------------------- +\pspolygon[fillstyle=solid,fillcolor=cyan!50,opacity=0.2](C10)(C11)(C12)(C13) +\pspolygon[fillstyle=solid,fillcolor=cyan!50,opacity=0.7](A10)(A11)(A12)(A13) +\pspolygon[fillstyle=solid,fillcolor=cyan!50,opacity=0.7](A11)(C11)(C12)(A12) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.2,hatchangle=45,hatchsep=1.5pt](C14)(C15)(SB1) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.2,hatchangle=45,hatchsep=1.5pt](B15)(C15)(SB1) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.7,hatchangle=45,hatchsep=1.5pt](B14)(B15)(SB1) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.7,hatchangle=45,hatchsep=1.5pt](B14)(C14)(SB1) + +{\psset{base=-3} +\multido{\i=0+1,\n=1+1,\ra=-67.5+22.5,\rb=-45+22.5}{4}{% +\pstransTS[originT={4,3}](6;\ra){D\i}{E\i} +\pstransTS[originT={4,3}](6;\rb){F\n}{G\n} +\pstransTS[originT={4,5}](6;\ra){H\i}{I\i} +\pstransTS[originT={4,5}](6;\rb){J\n}{K\n} +\psline[linecolor=orange!50](E\i)(G\n) +\psline[linecolor=orange!50](I\i)(K\n) +\pspolygon[fillstyle=solid,fillcolor=orange,opacity=1](E\i)(G\n)(K\n)(I\i) +}} +\end{pspicture}} +\end{LTXexample} + + +\begin{LTXexample}[pos=t,wide] +\psscalebox{0.6}{% +\begin{pspicture}[showgrid=false](-0.5,0)(17,10.4) +\psset{linejoin=2,phi=80,vkf=0.6} +{\psset{translineK=false}% +\pstransTSK(0,0){1}{A1}{B1} +\pstransTSK(2,0){1}{A2}{B2} +\pstransTSK(2,3){1}{A3}{B3} +\pstransTSK(0,2){1}{A4}{B4} +%---------------------------- +\pstransTSK(0,0){6}{A1}{C1} +\pstransTSK(2,0){6}{A2}{C2} +\pstransTSK(2,3){6}{A3}{C3} +\pstransTSK(0,2){6}{A4}{C4} +} +\psline[linestyle=dashed](C1)(C4) +\psline[linestyle=dashed](B1)(C1)(C2) +\pspolygon[fillstyle=solid,fillcolor=green!30,opacity=0.7](B1)(B2)(B3)(B4) +\pspolygon[fillstyle=solid,fillcolor=green!30,opacity=0.7](B2)(C2)(C3)(B3) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.7,hatchangle=120,hatchsep=1.5pt](B4)(B3)(C3)(C4) +%---------------------------- +\pstransTSK(2,0){6}{A5}{C5} +\pstransTSK(6,0){6}{A6}{C6} +\pstransTSK(6,4){6}{A7}{C7} +\pstransTSK(4,6){6}{A8}{C8} +\pstransTSK(2,4){6}{A9}{C9} +%---------------------------- +\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=0.2](C5)(C6)(C7)(C9) +\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=0.2](C7)(C8)(C9) +\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=0.7](A5)(A6)(A7)(A9) +\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=0.7](A7)(A8)(A9) +\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=0.7](A6)(C6)(C7)(A7) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.7,hatchangle=45,hatchsep=1.5pt](A7)(C7)(C8)(A8) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.7,hatchangle=135,hatchsep=1.5pt](A9)(A8)(C8)(C9) +%---------------------------- +\pstransTSK(6,0){2}{A10}{C10} +\pstransTSK(8,0){2}{A11}{C11} +\pstransTSK(8,8){2}{A12}{C12} +\pstransTSK(6,8){2}{A13}{C13} +\pstransTSK(8.2,8){-0.2}{A14}{B14} +\pstransTSK(5.8,8){-0.2}{A15}{B15} +\pstransTSK(8.2,8){2.2}{A14}{C14} +\pstransTSK(5.8,8){2.2}{A15}{C15} +\pstransTSK[translineK=false](8,10){2}{A16}{C16} +\pstransTSK[translineK=false](6,10){2}{A17}{C17} +\psIntersectionPoint(A16)(C17)(A17)(C16){SB1} +%---------------------------- +\pspolygon[fillstyle=solid,fillcolor=cyan!50,opacity=0.2](C10)(C11)(C12)(C13) +\pspolygon[fillstyle=solid,fillcolor=cyan!50,opacity=0.7](A10)(A11)(A12)(A13) +\pspolygon[fillstyle=solid,fillcolor=cyan!50,opacity=0.7](A11)(C11)(C12)(A12) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.2,hatchangle=45,hatchsep=1.5pt](C14)(C15)(SB1) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.2,hatchangle=45,hatchsep=1.5pt](B15)(C15)(SB1) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.7,hatchangle=45,hatchsep=1.5pt](B14)(B15)(SB1) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.7,hatchangle=45,hatchsep=1.5pt](B14)(C14)(SB1) +\end{pspicture}} +\end{LTXexample} + + +\pstVerb{/radiusT 2 22.5 cos mul def} +\pstVerb{/deltaDach 10 2 22.5 sin mul sub def} +\pstVerb{/deltaDachT 10 2 22.5 sin mul dup 2 sqrt div add sub def} + +\psscalebox{0.6}{% +\begin{pspicture}[showgrid=true](0,-1)(24,20) +\psset{linejoin=2,phi=25,vkf=0.7,opacity=1} + +\pstransTS(4,0){E01'}{E01} +\pstransTS(12,0){E02'}{E02} +\pstransTS(12,5){E03'}{E03} +\pstransTS(16,5){E04'}{E04} +\pstransTS(16,11){E05'}{E05} +\pstransTS(12,11){E06'}{E06} +\pstransTS(12,12){E07'}{E07} +\pstransTS(4,12){E08'}{E08} +\pstransTS(4,11){E09'}{E09} +\pstransTS(0,11){E10'}{E010} +\pstransTS(0,5){E011'}{E011} +\pstransTS(4,5){E012'}{E012} +\rput(0,7){% +\pstransTS(4,0){E11'}{E11} +\pstransTS(12,0){E12'}{E12} +\pstransTS(12,5){E13'}{E13} +\pstransTS(16,5){E14'}{E14} +\pstransTS(16,11){E15'}{E15} +\pstransTS(12,11){E16'}{E16} +\pstransTS(12,12){E17'}{E17} +\pstransTS(4,12){E18'}{E18} +\pstransTS(4,11){E19'}{E19} +\pstransTS(0,11){E110'}{E110} +\pstransTS(0,5){E111'}{E111} +\pstransTS(4,5){E112'}{E112} +} +\multido{\i=1+1,\n=2+1}{11}{% +\pspolygon[fillstyle=solid,fillcolor=brown!30](E0\i)(E0\n)(E1\n)(E1\i) +} +\pspolygon[fillstyle=solid,fillcolor=brown!30](E012)(E01)(E11)(E112) + +\rput(0,15){% +\pstransTS[originT={8,8},base=-8](0,0){T'3}{T3} +} +\rput(0,19){% +\pstransTS[originT={8,1},base=-1](0,0){TV'3}{TV3} +} + +\rput(0,10){% +\multido{\i=0+1,\r=-90+90}{4}{% +\pstransTS[originT={8,8},base=-8](!radiusT \r\space PtoC){DM'\i}{DM\i} +} +\pstransTS(16,8){DMa1'}{DMa1} +\pstransTS(8,12){DMa2'}{DMa2} +\pstransTS(0,8){DMa3'}{DMa3} +\pstransTS(8,0){DMa4'}{DMa4} +} + +\rput(!0 deltaDach){% +\multido{\i=1+1,\r=-22.5+45}{8}{% +\pstransTS[originT={8,8},base=-8](2;\r){DMb\i'}{DMb\i} +} +} +\rput(!0 deltaDachT){% +\multido{\i=1+1,\r=-45+90}{4}{% +\pstransTS[originT={8,8},base=-8](! radiusT \r\space PtoC){DMc\i'}{DMc\i} +} +} +\pspolygon[fillstyle=solid,fillcolor=BrickRed](DMa3)(E110)(E19)(DMc3)(DMb5)(DM3)% hinters Dach linkes Seitenschiff +\pspolygon[fillstyle=solid,fillcolor=BrickRed](DMa2)(E18)(E19)(DMc3)(DMb4)(DM2)% hinters Dach links +\pspolygon[fillstyle=solid,fillcolor=BrickRed](DMa2)(E17)(E16)(DMc2)(DMb3)(DM2)% hinters Dach rechts +\pspolygon[fillstyle=solid,fillcolor=BrickRed](DMa1)(E15)(E16)(DMc2)(DMb2)(DM1)% hinters Dach rechtes Seitenschiff + +%--- Hinterer Turm ----------------------------------- +\multido{\i=0+1,\n=1+1,\ra=22.5+45,\rb=67.5+45}{8}{% +\rput(0,7){% +\pstransTS[originT={8,8},base=-8](2;\ra){T1'\i}{T1\i} +\pstransTS[originT={8,8},base=-8](2;\rb){Tb1'\n}{Tb1\n} +} +%------------------------------------------------- +\rput(0,13){% +\pstransTS[originT={8,8},base=-8](2;\ra){T2'\i}{T2\i} +\pstransTS[originT={8,8},base=-8](2;\rb){Tb2'\n}{Tb2\n} +\pstransTS[originT={8,8},base=-8](2.1;\ra){E'\i}{E\i} +\pstransTS[originT={8,8},base=-8](2.1;\rb){F'\n}{F\n} +} +%\psline(T2\i)(Tb2\n) +\pspolygon[fillstyle=solid,fillcolor=brown!30](T1\i)(Tb1\n)(Tb2\n)(T2\i) % Seitenteile des hinteren Turms +\pspolygon[fillstyle=solid,fillcolor=BrickRed](T3)(E\i)(F\n)% Dach des hinteren Turms +} +%-------------------------------------------------------------- +\pspolygon[fillstyle=solid,fillcolor=BrickRed,opacity=1](T3)(E6)(F7)% Letztes Dachteil des hinteren Turms + +\pspolygon[fillstyle=solid,fillcolor=BrickRed](DMa3)(E111)(E112)(DMc4)(DMb6)(DM3)% vorderes Dach linkes Seitenschiff +\pspolygon[fillstyle=solid,fillcolor=BrickRed](DMa1)(E14)(E13)(DMc1)(DMb1)(DM1)% vorderes Dach rechtes Seitenschiff + + + +%--- Vorderer Turm ----------------------------------- +\multido{\i=0+1,\n=1+1,\rA=22.5+45,\rB=67.5+45}{8}{% +\pstransTS[originT={8,1},base=-1](2;\rA){A'\i}{A\i} +\pstransTS[originT={8,1},base=-1](2;\rB){B'\n}{B\n} +\rput(0,13){% +\pstransTS[originT={8,1},base=-1](2;\rA){C'\i}{C\i} +\pstransTS[originT={8,1},base=-1](2;\rB){D'\n}{D\n} +\pstransTS[originT={8,1},base=-1](2.1;\rA){E'\i}{E\i} +\pstransTS[originT={8,1},base=-1](2.1;\rB){F'\n}{F\n} +} +\pspolygon[fillstyle=solid,fillcolor=brown!30](A\i)(B\n)(D\n)(C\i) % Seitenteile des vorderen Turms +\pspolygon[fillstyle=solid,fillcolor=BrickRed](TV3)(E\i)(F\n) % Dach des vorderen Turms +} +\pspolygon[fillstyle=solid,fillcolor=BrickRed,opacity=1](TV3)(E6)(F7)% Letztes Dachteil des vorderen Turms + +\psIntersectionPoint(A4)(A5)(E01)(E02){SP01}%linker unterer Schnittpunkt der Au{\ss}enwand mit dem vorderen Turm +\psIntersectionPoint(A6)(A7)(E01)(E02){SP02}%rechter unterer Schnittpunkt der Au{\ss}enwand mit dem vorderen Turm +\pspolygon[fillstyle=solid,fillcolor=brown!30](E01)(SP01)(SP01|0,9.4)(E11) +\pspolygon[fillstyle=solid,fillcolor=brown!30](E02)(E12)(SP02|0,9.4)(SP02) +\pspolygon[fillstyle=solid,fillcolor=brown!30](E02)(E03)(E13)(E12) +\pspolygon[fillstyle=solid,fillcolor=brown!30](E03)(E04)(E14)(E13) +\pspolygon[fillstyle=solid,fillcolor=brown!30](E04)(E05)(E15)(DMa1)(E14) + +\pspolygon[fillstyle=solid,fillcolor=BrickRed](C7|0,10)(SP02|0,9.4)(E12)(E13)(DMc1)(DMb8)%(DM0)% vorderes Dach rechts +\end{pspicture} +} + + + +\psscalebox{1}{% +\begin{pspicture}[showgrid=false](-0.5,-3)(12,14.4) +\psset{linejoin=2,phi=35,vkf=0.5} +\pstransTSK[translineK=false](-3,0){11}{GR1}{GR1'} +\pstransTSK[translineK=false](11,0){11}{GR2}{GR2'} +\pstransTSK[translineK=false](-3,0){-8}{GR3}{GR3'} +\pstransTSK[translineK=false](11,0){-8}{GR4}{GR4'} +\pspolygon[fillstyle=solid,fillcolor=green!60!black!80,linestyle=none](GR1')(GR2')(GR4')(GR3') + +{\psset{base=-3} +\multido{\i=0+1,\n=1+1,\ra=-45+22.5,\rb=-22.5+22.5}{12}{% +\pstransTS[originT={4,3}](6;\ra){D\i}{E\i} +\pstransTS[originT={4,3}](6;\rb){F\n}{G\n} +\pstransTS[originT={4,4}](6;\ra){H\i}{I\i} +\pstransTS[originT={4,4}](6;\rb){J\n}{K\n} +\psline(E\i)(G\n) +\psline(I\i)(K\n) +\pspolygon[fillstyle=solid,fillcolor=gray,opacity=1](E\i)(G\n)(K\n)(I\i) +}} + +{\psset{translineK=false}% +\pstransTSK(0,0){1}{A1}{B1} +\pstransTSK(2,0){1}{A2}{B2} +\pstransTSK(2,3){1}{A3}{B3} +\pstransTSK(0,2){1}{A4}{B4} +%---------------------------- +\pstransTSK(0,0){6}{A1}{C1} +\pstransTSK(2,0){6}{A2}{C2} +\pstransTSK(2,3){6}{A3}{C3} +\pstransTSK(0,2){6}{A4}{C4} +} +\psline[linestyle=dashed](C1)(C4) +\psline[linestyle=dashed](B1)(C1)(C2) +\pspolygon[fillstyle=solid,fillcolor=green!30,opacity=1](B1)(B2)(B3)(B4) +\pspolygon[fillstyle=solid,fillcolor=green!30,opacity=1](B2)(C2)(C3)(B3) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=1,hatchangle=-63.5,hatchsep=1.5pt](B4)(B3)(C3)(C4) +%---------------------------- +\pstransTSK(2,0){6}{A5}{C5} +\pstransTSK(6,0){6}{A6}{C6} +\pstransTSK(6,4){6}{A7}{C7} +\pstransTSK(4,6){6}{A8}{C8} +\pstransTSK(2,4){6}{A9}{C9} +%---------------------------- +\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=1](C5)(C6)(C7)(C9) +\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=1](C7)(C8)(C9) +\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=1](A6)(C6)(C7)(A7) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=1,hatchangle=135,hatchsep=1.5pt](A9)(A8)(C8)(C9) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=1,hatchangle=45,hatchsep=1.5pt](A7)(C7)(C8)(A8) +\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=1](A5)(A6)(A7)(A8)(A9) +%\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=1](A7)(A8)(A9) +%---------------------------- +\pstransTSK(6,0){2}{A10}{C10} +\pstransTSK(8,0){2}{A11}{C11} +\pstransTSK(8,10){2}{A12}{C12} +\pstransTSK(6,10){2}{A13}{C13} +\pstransTSK(8.1,10){-0.1}{A14}{B14} +\pstransTSK(5.9,10){-0.1}{A15}{B15} +\pstransTSK(8.1,10){2.1}{A14}{C14} +\pstransTSK(5.9,10){2.1}{A15}{C15} +\pstransTSK[translineK=false](8,11.5){2}{A16}{C16} +\pstransTSK[translineK=false](6,11.5){2}{A17}{C17} +\psIntersectionPoint(A16)(C17)(A17)(C16){SB1} +%---------------------------- +\pspolygon[fillstyle=solid,fillcolor=cyan!50,opacity=1](C10)(C11)(C12)(C13) +\pspolygon[fillstyle=solid,fillcolor=cyan!50,opacity=1](A10)(A11)(A12)(A13) +\pspolygon[fillstyle=solid,fillcolor=cyan!50,opacity=1](A11)(C11)(C12)(A12) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=1,hatchangle=45,hatchsep=1.5pt](C14)(C15)(SB1) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=1,hatchangle=45,hatchsep=1.5pt](B15)(C15)(SB1) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=1,hatchangle=45,hatchsep=1.5pt](B14)(B15)(SB1) +\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=1,hatchangle=45,hatchsep=1.5pt](B14)(C14)(SB1) + +{\psset{base=-3,opacity=1} +\multido{\i=0+1,\n=1+1,\ra=-45+22.5,\rb=-22.5+22.5}{3}{% +\pstransTS[originT={4,3}](6;\ra){D\i}{E\i} +\pstransTS[originT={4,3}](6;\rb){F\n}{G\n} +\pstransTS[originT={4,4}](6;\ra){H\i}{I\i} +\pstransTS[originT={4,4}](6;\rb){J\n}{K\n} +\psline(E\i)(G\n) +\psline(I\i)(K\n) +\pspolygon[fillstyle=solid,fillcolor=gray](E\i)(G\n)(K\n)(I\i) +}} + +%----------- T\"{u}r Nebengeb\"{a}ude ------------------------- +\pstransTSK[translineK=false](1,0){1}{TL}{TL'} +\rput(TL'){% +\pscustom[fillstyle=solid,fillcolor=brown]{% +\psline(0.2,0)(-0.2,0)(-0.2,0.4) +\psarcn(0.2,0.4){0.4}{180}{120} +\psarcn(-0.2,0.4){0.4}{60}{0} +\closepath% +} +\psline[linewidth=0.5pt](0,0)(0,0.75) +\pscircle[linewidth=0.25pt](0.04,0.35){0.025} +\pscircle[linewidth=0.25pt](-0.04,0.35){0.025} +} +%----------- Haupt-T\"{u}r --------------------------------- +\rput(4,0){% +\psscalebox{2.5 2}% +{%\psset{unit=2}% +\psset{linewidth=0.25pt} +\pscustom[fillstyle=solid,fillcolor=brown]{% +\psline(0.2,0)(-0.2,0)(-0.2,0.4) +\psarcn(0.2,0.4){0.4}{180}{120} +\psarcn(-0.2,0.4){0.4}{60}{0} +\closepath% +} +\psline[linewidth=0.25pt](0,0)(0,0.75) +\pscircle[linewidth=0.25pt](0.04,0.35){0.025} +\pscircle[linewidth=0.25pt](-0.04,0.35){0.025} +}} + +%------- Uhr ------------------------- +\pnode(7,7.8){UZ} + +{\psset{originT={UZ},base=1,deltaphi=0} +\pstransTSX(0,0){U1}{U1'} +\pstransTSX(0.3;50){zg1}{zg1'} +\pstransTSX(0.5;-36){zg2}{zg2'} + +\multido{\i=0+5,\n=5+5}{72}{% +\pstransTSX(0.5;\i){A\i}{A'\i} +\pstransTSX(0.5;\n){B\n}{B'\n} +\psline(A'\i)(B'\n)} +\psline[linecolor=yellow!90!black!70]{c-c}(U1')(zg1') +\psline[linecolor=yellow!90!black!70]{c-c}(U1')(zg2') + +\multido{\i=0+30,\n=0+30}{12}{% +%\psset{translineA=true,translineB=true} +\pstransTSX(0.43;\i){A\i}{A'\i} +\pstransTSX(0.57;\n){B\n}{B'\n} +\psline(A'\i)(B'\n) +\psline(A\i)(B\n)} + +\pscircle(UZ){0.5} +\rput(UZ){% +\psline[linecolor=yellow!90!black!70]{c-c}(U1)(zg1) +\psline[linecolor=yellow!90!black!70]{c-c}(U1)(zg2) +} + +%------- Turmfenster und \"{O}ffnungen oben ------------------------ + +\pstransTSX(-0.15,0.75){FU1}{FU1'} +\pstransTSX(0.15,0.75){FU2}{FU2'} +\pstransTSX(0.15,1.5){FU3}{FU3'} +\pstransTSX(-0.15,1.5){FU4}{FU4'} +\pspolygon[fillstyle=solid,fillcolor=black!80](FU1)(FU2)(FU3)(FU4) +\pspolygon[fillstyle=solid,fillcolor=black!80](FU1')(FU2')(FU3')(FU4') + +\pstransTSX(-0.65,0.75){FUL1}{FUL1'} +\pstransTSX(-0.35,0.75){FUL2}{FUL2'} +\pstransTSX(-0.35,1.5){FUL3}{FUL3'} +\pstransTSX(-0.65,1.5){FUL4}{FUL4'} +\pspolygon[fillstyle=solid,fillcolor=black!80](FUL1)(FUL2)(FUL3)(FUL4) +\pspolygon[fillstyle=solid,fillcolor=black!80](FUL1')(FUL2')(FUL3')(FUL4') + +\pstransTSX(0.65,0.75){FUR1}{FUR1'} +\pstransTSX(0.35,0.75){FUR2}{FUR2'} +\pstransTSX(0.35,1.5){FUR3}{FUR3'} +\pstransTSX(0.65,1.5){FUR4}{FUR4'} +\pspolygon[fillstyle=solid,fillcolor=black!80](FUR1)(FUR2)(FUR3)(FUR4) +\pspolygon[fillstyle=solid,fillcolor=black!80](FUR1')(FUR2')(FUR3')(FUR4') + +\pstransTSX(-0.05,-2){FU1}{FU1'} +\pstransTSX(0.05,-2){FU2}{FU2'} +\pstransTSX(0.05,-2.3){FU3}{FU3'} +\pstransTSX(-0.05,-2.3){FU4}{FU4'} +\pspolygon[fillstyle=solid,fillcolor=black!80](FU1)(FU2)(FU3)(FU4) +\pspolygon[fillstyle=solid,fillcolor=black!80](FU1')(FU2')(FU3')(FU4') + +\pstransTSX(-0.05,-4){FU1}{FU1'} +\pstransTSX(0.05,-4){FU2}{FU2'} +\pstransTSX(0.05,-4.3){FU3}{FU3'} +\pstransTSX(-0.05,-4.3){FU4}{FU4'} +\pspolygon[fillstyle=solid,fillcolor=black!80](FU1)(FU2)(FU3)(FU4) +\pspolygon[fillstyle=solid,fillcolor=black!80](FU1')(FU2')(FU3')(FU4') + +\pstransTSX(-0.05,-6){FU1}{FU1'} +\pstransTSX(0.05,-6){FU2}{FU2'} +\pstransTSX(0.05,-6.3){FU3}{FU3'} +\pstransTSX(-0.05,-6.3){FU4}{FU4'} +\pspolygon[fillstyle=solid,fillcolor=black!80](FU1)(FU2)(FU3)(FU4) +\pspolygon[fillstyle=solid,fillcolor=black!80](FU1')(FU2')(FU3')(FU4') + +} + +%------- Turm-T\"{u}r --------------------------- +\rput(7,0){% +\pscustom[fillstyle=solid,fillcolor=brown]{% +\psline(0.2,0)(-0.2,0)(-0.2,0.4) +\psarcn(0.2,0.4){0.4}{180}{120} +\psarcn(-0.2,0.4){0.4}{60}{0} +\closepath% +} +\psline[linewidth=0.5pt](0,0)(0,0.75) +\pscircle[linewidth=0.25pt](0.04,0.35){0.025} +\pscircle[linewidth=0.25pt](-0.04,0.35){0.025} +} + + +%---------- rundes Haupt-Fenster ---------------------- +\pscircle[fillstyle=solid,fillcolor=black!70](4,2.7){0.45} + +%------- Kreuz ----------------------------------------- +\psline[linewidth=2.5pt]{c-c}(4,3.5)(4,5) +\psline[linewidth=2.5pt]{c-c}(3.58,4.5)(4.42,4.5) + +%---------- Weg ----------------------------------------- +\pstransTSK[translineK=false](3.5,0){-8}{W1}{W1'} +\pstransTSK[translineK=false](4.5,0){-8}{W2}{W2'} +\pspolygon[fillstyle=solid,fillcolor=gray!50,linestyle=none](W1)(W1')(W2')(W2) + + +{\psset{translineK=false,linestyle=none} +\multido{\i=1+1,\n=1+1}{8}{% +\pstransTSK(3.5,0){1 \i\space sub}{WM1a\i}{WM1a'\i} +\pstransTSK(3.5,0){0.5 \i\space sub}{WM1\i}{WM1'\i} +\pstransTSK(3.75,0){1 \i\space sub}{WM2a\i}{WM2a'\i} +\pstransTSK(3.75,0){0.7 \i\space sub}{WM2\i}{WM2'\i} +\pstransTSK(4.0,0){1 \i\space sub}{WM3a\i}{WM3a'\i} +\pstransTSK(4.0,0){0.5 \i\space sub}{WM3\i}{WM3'\i} +\pspolygon[fillstyle=solid,fillcolor=green!50,opacity=1](WM1a'\i)(WM1'\i)(WM2'\i)(WM2a'\i) +\pspolygon[fillstyle=solid,fillcolor=black!60,opacity=1](WM1'\i)(WM2'\i)(WM3'\i) +\pspolygon[fillstyle=solid,fillcolor=blue!50,opacity=1](WM2a'\i)(WM2'\i)(WM3'\i)(WM3a'\i) +\pstransTSK(4,0){0.5 \n\space sub}{WM4a\n}{WM4a'\n} +\pstransTSK(4,0){-\n}{WM4\n}{WM4'\n} +\pstransTSK(4.25,0){0.5 \n\space sub}{WM5a\n}{WM5a'\n} +\pstransTSK(4.25,0){.2 \n\space sub}{WM5\n}{WM5'\n} +\pstransTSK(4.5,0){0.5 \n\space sub}{WM6a\n}{WM6a'\n} +\pstransTSK(4.5,0){-\n}{WM6\n}{WM6'\n} +\pspolygon[fillstyle=solid,fillcolor=green!50,opacity=1](WM4a'\n)(WM4'\n)(WM5'\n)(WM5a'\n) +\pspolygon[fillstyle=solid,fillcolor=black!60,opacity=1](WM4'\n)(WM5'\n)(WM6'\n) +\pspolygon[fillstyle=solid,fillcolor=blue!50,opacity=1](WM5a'\n)(WM5'\n)(WM6'\n)(WM6a'\n) +}} +\end{pspicture} +} + + +\def\colA{black!20} +\def\colB{black!50} +\def\colC{black!30} +\def\Pfeiler{% +%--------- Pfeiler ------------- +\pstransTSK(4,0){8}{A}{A'} +\pstransTSK(10,0){8}{B}{B'} +\pstransTSK(9,10){8}{C}{C'} +\pstransTSK(5,10){8}{D}{D'} +\pstransTSK(5,13){8}{E}{E'} +\pstransTSK(9,13){8}{F}{F'} +\pstransTSK(14,18){8}{G}{G'} +\pstransTSK(14,21){8}{H}{H'} +\pstransTSK(0,21){8}{I}{I'} +\pstransTSK(0,18){8}{J}{J'} +\pstransTSK(0,13){8}{M1}{M1'} +\pstransTSK(14,13){8}{M2}{M2'} +%---------------------------------------- +\pspolygon[fillcolor=\colA](A)(B)(C)(D) +\pspolygon[fillcolor=\colB](B)(B')(C')(C) +\pspolygon[fillcolor=\colA](D)(C)(F)(E) +\pspolygon[fillcolor=\colB](C)(C')(F')(F) +%---------------------------------------- +\pscustom[fillcolor=\colB]{% +\psarcn(M2'){5}{180}{90} +\psline(F|G')(F)(F') +} +%---------------------------------------- +\pscustom[fillcolor=\colA]{% +\psarc(M2){5}{90}{180} +\psarc(M1){5}{0}{90} +\psline(I)(H) +} +%---------------------------------------- +\pspolygon[fillcolor=\colB](G)(G')(H')(H) +\pspolygon[fillcolor=\colC](I)(H)(H')(I') +} + +\begin{pspicture}[showgrid=false](0,-.5)(19,14) +\psset{linejoin=2,transcolor=black,translineK=false,arrowlength=2,arrowsize=0.15,arrowinset=0.02,fillstyle=solid,unit=0.6} +\Pfeiler +\psdot(M2) +\rput(M2){\pnode(5;30){R}} +\pcline{->}(M2)(R) +\naput[nrot=:U,labelsep=1pt]{$r=5,0\,\text{m}$} +\pcline[linestyle=dashed]([nodesep=-1.1]J)(J) +\pcline[linestyle=dashed]([nodesep=-1.1]I)(I) +\pcline[linestyle=dashed]([nodesep=-1.8]E)(E) +\pcline[linestyle=dashed]([nodesep=-1.8]D)(D) +\pcline[linestyle=dashed]([nodesep=-0.8]A)(A) +\pcline[linestyle=dashed]([offset=-0.8]A)(A) +\pcline[linestyle=dashed]([offset=-0.8]B)(B) +\pcline[linestyle=dashed]([nodesep=0.8]B)(B) +\pcline[linestyle=dashed]([nodesep=0.8]B')(B') +\pcline[linestyle=dashed]([nodesep=0.8]C)(C) +\pcline[linestyle=dashed]([nodesep=0.8]C')(C') +\pcline[offset=-0.7]{<->}(I)(J) +\ncput*{$3\,\text{m}$} +\pcline[offset=1.5]{<->}(D)(E) +\ncput*{$3\,\text{m}$} +\pcline[offset=.5]{<->}(A)([nodesep=-1]D) +\ncput*{$10\,\text{m}$} +\pcline[offset=-.5]{<->}(A)(B) +\ncput*{$6,0\,\text{m}$} +\pcline{<->}([nodesep=0.7]B)([nodesep=0.7]B') +\ncput*[nrot=:U]{$8,0\,\text{m}$} +\pcline{<->}([nodesep=0.7]C)([nodesep=0.7]C') +\ncput*[nrot=:U,fillcolor=black!50]{$8,0\,\text{m}$} +\pcline[offset=0.5]{<->}(D)(C) +\ncput*[fillcolor=black!20]{$4,0\,\text{m}$} +%---------------------------------------- +\def\colA{white} +\def\colB{white} +\def\colC{white} +\rput(14,0){% +\Pfeiler +\pcline[linestyle=dashed]([nodesep=0.8]G)(G) +\pcline[linestyle=dashed]([nodesep=0.8]G')(G') +\pcline{<->}([nodesep=0.7]G)([nodesep=0.7]G') +\ncput*[nrot=:U]{$8,0\,\text{m}$} +} +\end{pspicture} + + + +\begin{pspicture}[showgrid=false](-0.5,-0.5)(15,11) +\psset{linejoin=2,transcolor=black} +%--------- Torbogen ------------- +\pstransTSK(0,0){5}{A}{A'} +\pstransTSK(1.5,0){5}{B}{B'} +\pstransTSK[translineK=false](6.5,2.5){5}{C}{C'} +\pstransTSK(11.5,0){5}{D}{D'} +\pstransTSK(13,0){5}{E}{E'} +\pstransTSK(0,9){5}{F}{F'} +\pstransTSK(13,9){5}{G}{G'} +\pscustom[fillstyle=solid,fillcolor=brown!90]{% +\psline(A)(B)(B') +\psarcn(C'){5}{180}{110} +\psline(F)(A) +} +\pscustom[fillstyle=solid,fillcolor=brown!60]{% +\psline(A)(B) +\psarcn(C){5}{180}{0} +\psline(D)(E)(G)(F)(A) +} +\psdot[dotstyle=o,dotsize=5pt](C) +\psdot[dotstyle=o,dotsize=5pt](C') +\pspolygon[fillstyle=solid,fillcolor=brown!90](E)(E')(G')(G) +\pspolygon[fillstyle=solid,fillcolor=brown!40](F)(G)(G')(F') +\psline(B|C)([nodesep=0.3]B|C) +\psline(D|C)([nodesep=-0.3]D|C) +\psline(B'|C')([nodesep=0.3]B'|C') +\end{pspicture} + +\begin{pspicture}[showgrid=false](0.75,-.5)(19,5) +\psscalebox{0.2}{% +\psset{linejoin=2,transcolor=black,translineK=false,arrowlength=2,arrowsize=0.15,arrowinset=0.02,fillstyle=solid,linecolor=black!60} +\rput(0,0){\Pfeiler}\rput(14,0){\Pfeiler}\rput(28,0){\Pfeiler}\rput(42,0){\Pfeiler}\rput(56,0){\Pfeiler}\rput(70,0){\Pfeiler}\rput(84,0){\Pfeiler} +} +\end{pspicture} + + +\clearpage +\section{List of all optional arguments for \texttt{pst-perspective}} + +\xkvview{family=pst-perspective,columns={key,type,default}} + +\bgroup +\raggedright +\nocite{*} +\bibliographystyle{plain} +\bibliography{pst-perspective-doc} +\egroup + +\printindex +\end{document} |