summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/pst-optic/pst-optic-doc.tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-07-21 23:46:03 +0000
committerKarl Berry <karl@freefriends.org>2006-07-21 23:46:03 +0000
commit51e3a37989b9f2ace36eb360c42fee6dcff11458 (patch)
treec9205688e89e5e15f5d9c326c1fdbbc77cb1d76f /Master/texmf-dist/doc/generic/pst-optic/pst-optic-doc.tex
parentfe0b11acdb1182a4e0a4068d1876666f270752e8 (diff)
pst-optic 0.95
git-svn-id: svn://tug.org/texlive/trunk@1890 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/generic/pst-optic/pst-optic-doc.tex')
-rw-r--r--Master/texmf-dist/doc/generic/pst-optic/pst-optic-doc.tex555
1 files changed, 296 insertions, 259 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-optic/pst-optic-doc.tex b/Master/texmf-dist/doc/generic/pst-optic/pst-optic-doc.tex
index 67b82d1e258..e25b54a1c94 100644
--- a/Master/texmf-dist/doc/generic/pst-optic/pst-optic-doc.tex
+++ b/Master/texmf-dist/doc/generic/pst-optic/pst-optic-doc.tex
@@ -1,25 +1,27 @@
\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
-\usepackage[vtex]{geometry}
-\usepackage{graphicx}
-\usepackage{subfigure}
-\usepackage{pstcol}
-\usepackage{pst-optic}
+\usepackage{geometry}
+\usepackage{graphicx,lmodern}
+\usepackage{subfig}
+\usepackage{pstricks}
\usepackage{pst-text}
+\usepackage{pst-optic}
+\let\SaveFV\fileversion
\usepackage{url}
\usepackage{amsmath}
\usepackage{tabularx}
\usepackage{lscape}
\usepackage{fancyhdr}
+\usepackage[scaled=0.9]{luximono}
\pagestyle{fancy}
\lfoot{\small\ttfamily\jobname.tex}
\cfoot{}
-\rfoot{}
+\rfoot{\thepage}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\usepackage{listings}
-\lstset{language=TEX,basicstyle=\ttfamily\footnotesize,%
+\lstset{language=PSTricks,basicstyle=\ttfamily\footnotesize,%
extendedchars=true,numbers=left,numberstyle=\tiny}
\usepackage{multicol}
\let\myPart\part
@@ -29,30 +31,48 @@
\newcommand{\PS}{PostScript}
\newcommand\CMD[1]{\texttt{\textbackslash#1}}
\psset{subgriddiv=0,gridlabels=7pt,griddots=5}
-\usepackage[vtex]{hyperref}
+\usepackage[colorlinks,linktocpage]{hyperref}
+\usepackage{breakurl}
\begin{document}
\author{Manuel Luque\thanks{Mluque5130@aol.com} \and Herbert Voß\thanks{voss@perce.de}}
-\date{2003/02/15}
-\title{Lenses and Mirrors: PST-optic v0.9}
+\date{\today}
+\title{Lenses and Mirrors: PST-optic v\SaveFV}
\maketitle
+\begin{abstract}
+This version uses the extended keyval package \verb+xkeyval+, so be sure that you have installed
+this package together with the special one \verb+pst-xkey+ for PSTricks. The \verb+xkeyval+
+package bundle is available at \url{ftp://ftp.dante.de/pub/tex/macros/latex/contrib/xkeyval/}.
+It is also important that after \verb+pst-optic+ no package is loaded, which uses the old keyval interface.
+\vspace*{2cm}
+\end{abstract}%
+
+\clearpage
\tableofcontents
\section*{Introduction}
-\verb|pstricks| writes pure PostScript\cite{PostScript} code, so it is not possible to run \TeX{} files with pdf\LaTeX{} when there are pstricks macros in the document. If you still need a PDF output use the package \verb|pdftricks.sty|\cite{pdftricks} or the for Linux free available program \verb|vlatex| (\url{http://www.micropress-inc.com/linux/}) or build the PDF with \verb|ps2pdf| (\verb|dvi|$\rightarrow$\verb|ps|$\rightarrow$\verb|pdf|).
+\verb|pstricks| writes pure PostScript\cite{PostScript} code, so it is not possible to run
+\TeX{} files with pdf\LaTeX{} when there are pstricks macros in the document. If you still
+need a PDF output use the package \verb|pdftricks.sty|\cite{pdftricks} or the for Linux
+free available program \verb|vlatex| (\url{http://www.micropress-inc.com/linux/}) or
+build the PDF with \verb|ps2pdf| (\verb|dvi|$\rightarrow$\verb|ps|$\rightarrow$\verb|pdf|).
\par
-If you need package \verb|graphicx.sty| load it before any \verb|pstricks| package. You do not need to load \verb|pstricks.sty|, it will be done by \verb|pst-optic| by default.
+If you need package \verb|graphicx.sty| load it before any \verb|pstricks| package.
+You do not need to load \verb|pstricks.sty|, it will be done by \verb|pst-optic.sty| by default.
-\vspace{\fill}
-This PDF file was created with the \textbf{vlatex} program from the free available \textit{VTeX/Lnx v7.530 - the VTeX distribution for Linux (x86)}.
+%\vspace{\fill}
+%This PDF file was created with the \textbf{vlatex} program from the free available
+%\textit{VTeX/Lnx v7.530 - the VTeX distribution for Linux (x86)}.
\part{General Options}
-All options are by default documentwide valid but not supported by all macros. Table \ref{tab:generalOptions} shows the general ones. Others are shown in table \ref{tab:defaultLens} and \ref{tab:defaultSpiegel}.
+All options are by default documentwide valid but not supported by all macros.
+Table \ref{tab:generalOptions} shows the general ones. Others are shown in
+table \ref{tab:defaultLens} and \ref{tab:defaultSpiegel}.
\begin{table}[!htb]
\centering
@@ -83,7 +103,8 @@ All options are by default documentwide valid but not supported by all macros. T
\caption{General options and the defaults}\label{tab:generalOptions}
\end{table}
-\verb|pst-optic| puts the lens and mirror macros in an own \verb|pspicture| environment. The star version enables the clipping option of \verb|pstricks|:
+\verb|pst-optic| puts the lens and mirror macros in an own \verb|pspicture| environment.
+The star version enables the clipping option of \verb|pstricks|:
\begin{lstlisting}
\begin{pspicture}*(xLeft,yBottom)(xRight,yTop)
@@ -93,26 +114,32 @@ All options are by default documentwide valid but not supported by all macros. T
\end{pspicture}
\end{lstlisting}
-If you need other values for the \verb|pspicture| environment, then use the \verb|\rput| command to place the macro at any position.
+If you need other values for the \verb|pspicture| environment, then use the \verb|\rput|
+command to place the macro at any position.
\begin{lstlisting}
\begin{pspicture}(-5,-1.5)(7,4)
\rput(1.5,1.5){%
- \lens[lensType=DVG,lensGlass=true,%
- lensWidth=0.5,rayColor=red]}
+ \lens[lensType=DVG,lensGlass=true,lensWidth=0.5,rayColor=red,%
+ focus=-2,AB=2,spotAi=270,spotBi=90]}
\end{pspicture}
\end{lstlisting}
\par
\begin{center}
+\bgroup
\begin{pspicture}(-5,-1.5)(7,4)
\psgrid[subgriddiv=0,gridlabels=5pt,griddots=5]
- \rput(1.5,1.5){\scalebox{0.75}{\lens[lensType=DVG,%
- lensGlass=true,lensWidth=0.5,rayColor=red]}}
+ \rput(1.5,1.5){%
+ \lens[lensType=DVG,lensGlass=true,lensWidth=0.5,rayColor=red,%
+ focus=-2,AB=2,spotAi=270,spotBi=90]}
\end{pspicture}
+\egroup
\end{center}
-\par
+\vspace{1cm}
+\section{\CMD{resetOpticOptions}}
+This macro resets all \verb+pst-optic+ options to the default value.
\part{Lenses}
@@ -129,28 +156,29 @@ Figure \ref{fig:nodes} shows the coordinates of the predefined nodes (see table
\begin{lstlisting}
\begin{pspicture}*(-8,-3.25)(8,3.25)
- \rput(0,0){%
- \lens[drawing=false]
- \psline[linewidth=1pt](xLeft)(xRight)
- \qdisk(A){1.5pt}
- \qdisk(B){1.5pt}
- \qdisk(A'){1.5pt}\qdisk(B'){1.5pt}
- \qdisk(F){1.5pt}\qdisk(F'){1.5pt}
- \qdisk(O){1.5pt}\qdisk(I){1.5pt}
- \qdisk(I'){1.5pt}\qdisk(I1){1.5pt}
- \qdisk(I2){1.5pt}
- \uput[270](A){A}\uput[90](B){B}
- \uput[270](F){F}\uput[0](I){I}
- \uput[0](I'){$\mathrm{I'}$}\uput[270](F'){$\mathrm{F'}$}
- \uput[270](B'){$\mathrm{B'}$}\uput[90](A'){$\mathrm{A'}$}
- \uput[180](I1){I1}\uput[0](I2){I2}%
- }
+ \rput(0,0){%
+ \lens[drawing=false]
+ \psline[linewidth=1pt](xLeft)(xRight)
+ \qdisk(A){1.5pt}
+ \qdisk(B){1.5pt}
+ \qdisk(A'){1.5pt}\qdisk(B'){1.5pt}
+ \qdisk(F){1.5pt}\qdisk(F'){1.5pt}
+ \qdisk(O){1.5pt}\qdisk(I){1.5pt}
+ \qdisk(I'){1.5pt}\qdisk(I1){1.5pt}
+ \qdisk(I2){1.5pt}
+ \uput[270](A){A}\uput[90](B){B}
+ \uput[270](F){F}\uput[0](I){I}
+ \uput[0](I'){$\mathrm{I'}$}\uput[270](F'){$\mathrm{F'}$}
+ \uput[270](B'){$\mathrm{B'}$}\uput[90](A'){$\mathrm{A'}$}
+ \uput[180](I1){I1}\uput[0](I2){I2}%
+ }
\end{pspicture}
\end{lstlisting}
\begin{figure}[!htb]
\resizebox{\textwidth}{!}{%
+\bgroup
\begin{pspicture}*(-8,-3.25)(8,3.25)
\rput(0,0){%
\lens[drawing=false]
@@ -169,6 +197,7 @@ Figure \ref{fig:nodes} shows the coordinates of the predefined nodes (see table
}
\psgrid[subgriddiv=0,griddots=4,gridlabels=7pt]
\end{pspicture}%
+\egroup
}
\caption{Coodinates of the predefined Nodes}\label{fig:nodes}
\end{figure}
@@ -177,12 +206,14 @@ Figure \ref{fig:nodes} shows the coordinates of the predefined nodes (see table
\begin{figure}[htb]
\centering
- \scalebox{0.75}{\lens[lensType=CVG]}\vspace{-0.5cm}
+\bgroup
+ \psscalebox{0.75}{\lens[lensType=CVG]}\vspace{-0.5cm}
\caption{\texttt{\textbackslash lens[lensType=CVG]} (Collecting lens)}%
\label{fig:defaultCVG}
- \scalebox{0.75}{\lens[lensType=DVG]}\vspace{-0.5cm}
- \caption{\texttt{\textbackslash lens[lensType=DVG]} (Scatter lens)}%
+ \psscalebox{0.75}{\lens[lensType=DVG,focus=-2,spotAi=270,spotBi=90]}\vspace{-0.5cm}
+\egroup
+ \caption{\texttt{\textbackslash lens[lensType=DVG,focus=-2,spotAi=270,spotBi=90]} (Scatter lens)}%
\label{fig:defaultDVG}
\end{figure}
@@ -219,7 +250,7 @@ The origin of the coordinate system is by default vertically and horinzontally s
\begin{lstlisting}
\begin{pspicture}*(-7.5,-3)(7.5,3)
- \rput(0,0){\lens[...]}
+ \rput(0,0){\lens[...]}
\begin{pspicture}
\end{lstlisting}
@@ -245,8 +276,9 @@ The \verb|Transform|-macro renames all existing nodes in names with an additiona
\begin{figure}[htb]
-\subfigure[Definition of two unchained lenses]{%
+\subfloat[Definition of two unchained lenses]{%
\resizebox{0.49\textwidth}{!}{%
+\bgroup
\begin{pspicture}*(-7.5,-3)(7.5,3)
\rput(0,0){%
\lens[lensScale=0.6,XO=-4,%
@@ -259,9 +291,11 @@ The \verb|Transform|-macro renames all existing nodes in names with an additiona
lensGlass=true,lensWidth=0.5]%
}
\end{pspicture}
+\egroup
}}\hfill%
-\subfigure[Definition of two chained lenses with \texttt{\textbackslash lens[...] \textbackslash Transform \textbackslash lens[...]} and \texttt{lensTwo-Option}]{%
+\subfloat[Definition of two chained lenses with \texttt{\textbackslash lens[...] \textbackslash Transform \textbackslash lens[...]} and \texttt{lensTwo-Option}]{%
\resizebox{0.49\textwidth}{!}{%
+\bgroup
\begin{pspicture}*(-7.5,-3)(7.5,3)
\rput(0,0){%
\lens[lensScale=0.6,XO=-4,%
@@ -274,10 +308,12 @@ The \verb|Transform|-macro renames all existing nodes in names with an additiona
lensGlass=true,lensWidth=0.5]%
}
\end{pspicture}
+\egroup
}}
-\subfigure[Definition of two chained lenses and an additional modification of the node labels. \label{fig:lensTwoC}]{%
+\subfloat[Definition of two chained lenses and an additional modification of the node labels. \label{fig:lensTwoC}]{%
\resizebox{\textwidth}{!}{%
+\bgroup
\begin{pspicture}*(-7.5,-3)(7.5,3)
\rput(0,0){%
\lens[lensScale=0.6,XO=-4,%
@@ -297,28 +333,30 @@ The \verb|Transform|-macro renames all existing nodes in names with an additiona
}
\pspolygon[style=rayuresJaunes,linestyle=none](B)(I)(B')(I')(B)
\end{pspicture}
+\egroup
}}
-\caption{The meaning of the \texttt{\textbackslash Transform}-Macro with the default labels}\label{fig:lensTwo}
+\caption{The meaning of the \texttt{\textbackslash Transform}-Macro with the default
+labels}\label{fig:lensTwo}
\end{figure}
\begin{lstlisting}
\begin{pspicture}*(-7.5,-3)(7.5,3)
\rput(0,0){%
- \lens[lensScale=0.6,XO=-4,%
- nameF=F_1,nameA=A_1,nameB=B_1,%
- nameFi=F'_1,nameAi={ },nameBi={},nameO=O_1,
- focus=1,OA=-2,lensGlass=true, lensWidth=0.5]%
+ \lens[lensScale=0.6,XO=-4,%
+ nameF=F_1,nameA=A_1,nameB=B_1,%
+ nameFi=F'_1,nameAi={ },nameBi={},nameO=O_1,
+ focus=1,OA=-2,lensGlass=true, lensWidth=0.5]%
}
\pspolygon[style=rayuresJaunes,linestyle=none](B)(I)(B')(I')(B)
\Transform
\rput(0,0){%
- \lens[lensScale=1.2,XO=2,focus=2,%
- nameA=A'_1,spotA=90,nameB=B'_1,spotB=270,%
- nameO=O_2,nameAi=A'_2,spotAi=270,%
- nameBi=B'_2,spotBi=90,nameF=F_2,nameFi=F'_2,%
- lensTwo=true,%
- lensGlass=true,lensWidth=0.5]%
+ \lens[lensScale=1.2,XO=2,focus=2,%
+ nameA=A'_1,spotA=90,nameB=B'_1,spotB=270,%
+ nameO=O_2,nameAi=A'_2,spotAi=270,%
+ nameBi=B'_2,spotBi=90,nameF=F_2,nameFi=F'_2,%
+ lensTwo=true,%
+ lensGlass=true,lensWidth=0.5]%
}
\pspolygon[style=rayuresJaunes,linestyle=none](B)(I)(B')(I')(B)
\end{pspicture}
@@ -326,7 +364,10 @@ The \verb|Transform|-macro renames all existing nodes in names with an additiona
\section{\CMD{rayInterLens}}
-This macro is only useful for a two-lens-system. Figure \ref{fig:RayInter} shows such a system. The nodes \verb|B1, I11, F'1, B'1| are predefined by the \verb|lens|-macro. To draw the two rays from the left lense via the node \verb|B'1| to the second lens, we need the coordinates of these points. \verb|\rayInterLense| defines such nodes. The Syntax:
+This macro is only useful for a two-lens-system. Figure \ref{fig:RayInter} shows such a system.
+The nodes \verb|B1, I11, F'1, B'1| are predefined by the \verb|lens|-macro. To draw the two rays
+from the left lense via the node \verb|B'1| to the second lens, we need the coordinates of these
+points. \verb|\rayInterLense| defines such nodes. The Syntax:
{\small\begin{verbatim}
\rayInterLense(StartNode)(IntermediatNode)(LensDistance){LensNode}
\end{verbatim}}
@@ -344,6 +385,7 @@ The two parallel lines are drawn with the \verb|\Parallel|-Macro.
\begin{figure}[!htb]
\resizebox{\textwidth}{!}{%
+\bgroup
\begin{pspicture}*(-7.5,-4)(7.5,4)
\rput(0,0){%
\lens[focus=1.5,OA=-2,AB=0.6,XO=-5,lensGlass=true,%
@@ -377,6 +419,7 @@ The two parallel lines are drawn with the \verb|\Parallel|-Macro.
\psgrid[subgriddiv=0,griddots=5, gridlabels=7pt]
\psline[linestyle=dotted, linewidth=2pt,linecolor=black]{->}(0,-4)(0,+4)
\end{pspicture}%
+\egroup
}
\caption{Demonstration of \texttt{\textbackslash rayInterLens}\label{fig:RayInter}}
\end{figure}
@@ -385,18 +428,19 @@ The two parallel lines are drawn with the \verb|\Parallel|-Macro.
\section{\CMD{telescope}}
-Figure {\ref{fig:defaultTele} shows the configuration of a telescope and table \ref{tab:defaultSpiegel} the special options for the \verb|\telescop|-Macro.
+Figure~\ref{fig:defaultTele} shows the configuration of a telescope and table~\ref{tab:defaultSpiegel}
+the special options for the \verb|\telescop|-Macro.
\begin{figure}[!htb]
- \resizebox{\textwidth}{!}{\telescope}\vspace{-0.5cm}
- \caption{\texttt{\textbackslash telescope}-Macro}%
- \label{fig:defaultTele}
+ \abovecaptionskip=-0.5cm
+ \resizebox{\linewidth}{!}{\telescope}
+ \bigskip
+ \caption{\CMD{telescope}-Macro}\label{fig:defaultTele}
\end{figure}
-
\part{Mirrors}
\section{options}
@@ -429,7 +473,8 @@ Figure \ref{fig:Spiegel} shows the available mirrors and table \ref{tab:defaultS
\begin{figure}[!htb]
\centering
-\subfigure[]{%
+\subfloat[]{%
+\bgroup
\begin{pspicture}*(-1,-3)(3,3)
\psgrid[subgriddiv=0,griddots=5]
\rput(0,0){\mirrorCVG[mirrorColor=gray,drawing=false]}
@@ -440,8 +485,10 @@ Figure \ref{fig:Spiegel} shows the available mirrors and table \ref{tab:defaultS
\pcline[arrows=|-|](1,-2.75)(0.75,-2.75)\rput[l](1.1,-2.75){mirrorWidth}
\rput[l](1,-1){mirrorColor}\psline{<-}(0.2,-1)(0.8,-1)
\end{pspicture}%
+\egroup
}\hfill%
-\subfigure[]{%
+\subfloat[]{%
+\bgroup
\begin{pspicture}*(-4,-3)(1,3)
\psgrid[subgriddiv=0,griddots=5]
\rput(0,0){\mirrorDVG[mirrorColor=gray,drawing=false]}
@@ -452,8 +499,10 @@ Figure \ref{fig:Spiegel} shows the available mirrors and table \ref{tab:defaultS
\pcline[arrows=|-|](-1.25,-2.75)(-1,-2.75)\rput[r](-1.3,-2.75){mirrorWidth}
\rput[r](-2,-2){mirrorColor}\psline{->}(-2,-2)(-0.9,-2)
\end{pspicture}
+\egroup
}\hfill
-\subfigure[\label{fig:planMirror}]{%
+\subfloat[\label{fig:planMirror}]{%
+\bgroup
\begin{pspicture}(-2,-2)(2,2)
\psgrid[subgriddiv=0, gridlabels=5pt,griddots=4]
\pnode(-1.5,-1.5){M1}
@@ -469,6 +518,7 @@ Figure \ref{fig:Spiegel} shows the available mirrors and table \ref{tab:defaultS
\pscircle*(A'){2pt}
\psline[linestyle=dashed](A)(A')
\end{pspicture}
+\egroup
}
\caption{The different mirror macros:
a) \texttt{\textbackslash mirrorCVG}
@@ -477,33 +527,34 @@ c) \texttt{\textbackslash planMirrorRay}%
}\label{fig:Spiegel}
\end{figure}
-
\section{\CMD{mirrorCVG}}
Figure \ref{fig:mirrorCVG} shows the default for the \verb|mirrorCVG|-macro with the predefined nodes anf three default rays.
-
\begin{figure}[!htb]
\begin{minipage}{0.48\textwidth}
\resizebox{\textwidth}{!}{%
+\bgroup
\begin{pspicture}*(-1,-3)(6,3)
- \psgrid[subgriddiv=0,gridlabels=5pt,griddots=5]
- \rput(0,0){\mirrorCVG[rayColor=red]}
+ \psgrid[subgriddiv=0,gridlabels=5pt,griddots=5]
+ \rput(0,0){\mirrorCVG[rayColor=red]}
\end{pspicture}%
+\egroup
}
\caption{Parabolic Mirror \texttt{\textbackslash mirrorCVG}}\label{fig:mirrorCVG}
\end{minipage}\hfill
\begin{minipage}{0.48\textwidth}
\resizebox{0.9\textwidth}{!}{%
+\bgroup
\begin{pspicture}*(-0.5,-4)(8,4)
- \rput(0,0){\mirrorCVG[mirrorHeight=8,mirrorDepth=4,drawing=false]}
- \multido{\rY=-4.00+0.25}{33}{%
- \mirrorCVGRay[%
- linewidth=0.5pt,%
- mirrorHeight=8,%
- mirrorDepth=4](10,\rY)(1,\rY){Dummy}%
- }
-\end{pspicture}%
+ \rput(0,0){\mirrorCVG[mirrorHeight=8,mirrorDepth=4,drawing=false]}
+ \multido{\rY=-4.00+0.25}{33}{%
+ \mirrorCVGRay[linewidth=0.5pt,%
+ mirrorHeight=8,%
+ mirrorDepth=4](10,\rY)(1,\rY){Dummy}%
+ }
+\end{pspicture}
+\egroup
}
\caption{Example}\label{fig:CVGAnwendung}
\end{minipage}
@@ -615,16 +666,16 @@ The two nodes define the mirror axis and the graphics object is in most cases a
\begin{lstlisting}
\newcommand{\dtk}{%
- \pstextpath(0,0){%
- \psplot[linestyle=none]{0}{8}{x sqrt sqrt 2 mul}}%
- {\Large Die \TeX{}nische Komödie von DANTE}%
+ \pstextpath(0,0){%
+ \psplot[linestyle=none]{0}{8}{x sqrt sqrt 2 mul}}%
+ {\Large Die \TeX{}nische Komödie von DANTE}%
}
\begin{pspicture}(-4.5,-2)(2.5,5)
- \pnode(-4,-2){M1} \uput[-90](M1){M1}
- \pnode(4,4){M2}\uput[90](M2){M2}
- \psline[linewidth=5\pslinewidth,linecolor=lightgray](M1)(M2)
- \rput(-3.5,-1.75){\dtk}% Original schreiben
- \symPlan(M1)(M2){\rput(-3.5,-1.75){\dtk}}% Spiegelbild schreiben
+ \pnode(-4,-2){M1} \uput[-90](M1){M1}
+ \pnode(4,4){M2}\uput[90](M2){M2}
+ \psline[linewidth=5\pslinewidth,linecolor=lightgray](M1)(M2)
+ \rput(-3.5,-1.75){\dtk}% Original schreiben
+ \symPlan(M1)(M2){\rput(-3.5,-1.75){\dtk}}% Spiegelbild schreiben
\end{pspicture}
\end{lstlisting}
@@ -660,7 +711,7 @@ This macro is useful for the demonstration of high and low beam light. The synta
The predefined options especially for the \verb|pspicture|-coordinates are
\begin{lstlisting}
-\setkeys{psset}{xLeft=-5,xRight=5,yBottom=-5,yTop=5,drawing=false}% the default
+\psset[pst-optic]{xLeft=-5,xRight=5,yBottom=-5,yTop=5,drawing=false}% the default
\end{lstlisting}
You can place this macro with the \verb|\rput|-command at any place in your own \verb|pspicture|-environment.
@@ -689,11 +740,10 @@ You can place this macro with the \verb|\rput|-command at any place in your own
\begin{lstlisting}
\begin{pspicture}(-1,-5.5)(5,5.5)
- \rput(0,0){%
- \beamLight[mirrorDepth=4.75,%
- mirrorWidth=0.1,%
- mirrorHeight=10,%
- linecolor=lightgray]}
+ \rput(0,0){%
+ \beamLight[mirrorDepth=4.75,%
+ mirrorWidth=0.1,mirrorHeight=10,%
+ linecolor=lightgray]}
\end{pspicture}%
\end{lstlisting}
\caption{\CMD{beamLight} with Options}
@@ -756,7 +806,10 @@ A total reflection instead of a refraction is possible, when the ray starts in a
\end{pspicture}
-The macro needs the values for the four nodes, the two refractionnumbers and the name for the end node. As you can see in the figure the end node of the ray is the intermediate point between the linear ray and the linear medium. The end node of the refracted ray has the same name with an additional single quotation mark. In the figure the macro was called as
+The macro needs the values for the four nodes, the two refractionnumbers and the name for
+the end node. As you can see in the figure the end node of the ray is the intermediate
+point between the linear ray and the linear medium. The end node of the refracted ray has
+the same name with an additional single quotation mark. In the figure the macro was called as
\medskip
\verb|\refractionRay(A)(B)(C)(D){1}{4}{E}|
@@ -886,7 +939,6 @@ The refractionnumbers have the internal names \verb|refractA| and \verb|refractB
\section{\CMD{mirrorCVG}}
-
The syntax is
\bigskip
@@ -894,13 +946,11 @@ The syntax is
\bigskip
-Without the option \verb|mirrorType=SPH| you'll get a parabolic mirror, which is the default.
+\resetOpticOptions
\mirrorCVG[mirrorType=SPH]
-
-
-
+Without the option \verb|mirrorType=SPH| you'll get a parabolic mirror, which is the default.
\section{\CMD{mirrorDVG}}
@@ -912,11 +962,11 @@ The syntax is
-Without the option \verb|mirrorType=SPH| you'll get a parabolic mirror (option PARA).
-\par
\mirrorDVG[mirrorType=SPH]
+Without the option \verb|mirrorType=SPH| you'll get a parabolic mirror (option PARA).
+
\section{\CMD{ABinterSPHLens}}
The syntax is
@@ -948,7 +998,8 @@ The syntax is
\psgrid
\end{pspicture}
-The macro needs two nodes for the rays, the coordinates/nodes of the center/middle of the sperical lens and a name of the intermediate node.In the figure the macro was called as
+The macro needs two nodes for the rays, the coordinates/nodes of the center/middle of the
+sperical lens and a name of the intermediate node.In the figure the macro was called as
\bigskip
@@ -1073,29 +1124,27 @@ This macro calculates the coordinates of the given ray $\overline{\mathrm{AB}}$
\begin{lstlisting}
\begin{pspicture*}(-1,-3)(6,3)
- \rput(0,0){%
- \mirrorCVG[%
- mirrorType=SPH,%
- mirrorHeight=5,%
- mirrorWidth=0.2,%
- yBottom=-3,yTop=3,%
- drawing=false,%
- mirrorDepth=3]%
- \qdisk(Center){2pt}\qdisk(Focus){2pt}
- \uput[-90](Center){Center}\uput[-90](Focus){F}
- \psline(O)(xRight)
- }
- \ABinterSPHLens(5,1)(3,1)(Center){C}
- \reflectionRay[mirrorType=CVG-SPH](5,1)(C){D}
- \qdisk(5,1){2pt}\uput[-90](5,1){A}
- \qdisk(3,1){2pt}\uput[-90](3,1){B}
- \qdisk(C){2pt}\uput[180](C){C}
- \qdisk(D){2pt}\uput[45](D){D}
- \psset{linewidth=1.5pt,linecolor=red,arrows=->}
- \psline(5,1)(3,1)
- \psline(3,1)(C)
- \psline(C)(D)
- \psgrid
+ \rput(0,0){%
+ \mirrorCVG[%
+ mirrorType=SPH,%
+ mirrorHeight=5, mirrorWidth=0.2,%
+ yBottom=-3,yTop=3,drawing=false,%
+ mirrorDepth=3]%
+ \qdisk(Center){2pt}\qdisk(Focus){2pt}
+ \uput[-90](Center){Center}\uput[-90](Focus){F}
+ \psline(O)(xRight)
+ }
+ \ABinterSPHLens(5,1)(3,1)(Center){C}
+ \reflectionRay[mirrorType=CVG-SPH](5,1)(C){D}
+ \qdisk(5,1){2pt}\uput[-90](5,1){A}
+ \qdisk(3,1){2pt}\uput[-90](3,1){B}
+ \qdisk(C){2pt}\uput[180](C){C}
+ \qdisk(D){2pt}\uput[45](D){D}
+ \psset{linewidth=1.5pt,linecolor=red,arrows=->}
+ \psline(5,1)(3,1)
+ \psline(3,1)(C)
+ \psline(C)(D)
+ \psgrid
\end{pspicture*}
\end{lstlisting}
@@ -1133,31 +1182,29 @@ This macro calculates the coordinates of the given ray $\overline{\mathrm{AB}}$
\begin{lstlisting}
\begin{pspicture}*(-10,-4)(3,4)
- \psgrid[subgriddiv=0,griddots=5,gridlabels=7pt]
- \rput(0,0){\lensSPH[%
- lensType=CVG,%
- lensHeight=12,%
- lensWidth=10,%
- yBottom=-4,yTop=4,xLeft=-5,xRight=5,%
- drawing=false]}
- \psset{linecolor=red,linewidth=1.5pt,dotstyle=|}
- \pnode(-9,0){P}\psdots(P)\uput[-90](P){P}
- \psline(P)(xRight)
- \lensSPHRay(P)(-5,2){1}{9}{Q}%
- \psline(P)(Q)(Q')
- \psdots(Q)\uput[90](Q){B}
- \ABinterCD(Q)(Q')(0,0)(5,0){P'}
- \psdots(Q')\uput[-90](P'){P'}
- \psline[linewidth=0.5pt,linecolor=black](Center')(Q)
- \psline[linewidth=0.5pt,linecolor=black](Q)(Q|0,0)
- \psdots(Center')\uput[-90](Center'){C}
+\psgrid[subgriddiv=0,griddots=5,gridlabels=7pt]
+\rput(0,0){\lensSPH[%
+ lensType=CVG,%
+ lensHeight=12,lensWidth=10,%
+ yBottom=-4,yTop=4,xLeft=-5,xRight=5,drawing=false]}
+\psset{linecolor=red,linewidth=1.5pt,dotstyle=|}
+\pnode(-9,0){P}\psdots(P)\uput[-90](P){P}
+\psline(P)(xRight)
+\lensSPHRay(P)(-5,2){1}{9}{Q}%
+\psline(P)(Q)(Q')
+\psdots(Q)\uput[90](Q){B}
+\ABinterCD(Q)(Q')(0,0)(5,0){P'}
+\psdots(Q')\uput[-90](P'){P'}
+\psline[linewidth=0.5pt,linecolor=black](Center')(Q)
+\psline[linewidth=0.5pt,linecolor=black](Q)(Q|0,0)
+\psdots(Center')\uput[-90](Center'){C}
\end{pspicture}
\end{lstlisting}
\subsection[Height of an Image]{Construction for determining the height of an image formed by refraction at a sperical surface}
-\begin{pspicture}*(-13,-3)(3,5)
+\begin{pspicture*}[showgrid=true](-13,-3)(3,5)
\psgrid[subgriddiv=0,griddots=5,gridlabels=7pt]
\rput(0,0){\lensSPH[%
lensType=CVG,%
@@ -1180,34 +1227,31 @@ This macro calculates the coordinates of the given ray $\overline{\mathrm{AB}}$
\uput[90](P'){P'}
\uput[-90](Q'){Q'}
\psdots(Center')\uput[90](Center'){C}
-\end{pspicture}
+\end{pspicture*}
\bigskip
\begin{lstlisting}
-\begin{pspicture}*(-13,-3)(3,5)
- \psgrid[subgriddiv=0,griddots=5,gridlabels=7pt]
- \rput(0,0){\lensSPH[%
- lensType=CVG,%
- lensHeight=12,%
- lensWidth=10,%
- yBottom=-4,yTop=4,xLeft=-5,xRight=5,%
- drawing=false]}
- \psset{linecolor=red,linewidth=1.5pt,dotstyle=|}
- \pnode(-12,0){P}\psdots(P)\uput[-90](P){P}
- \pnode(-12,4){Q}\psdots(Q)\uput[90](Q){Q}
- \psline[linecolor=blue,linewidth=3pt,arrows=->](P)(Q)
- \psline(P)(xRight)
- \lensSPHRay(Q)(Center'){1}{9}{S1}%
- \lensSPHRay(Q)(-5,0){1}{9}{S2}%
- \psline(Q)(S1')
- \psline(Q)(S2)(S2')
- \ABinterCD(Q)(S1')(S2)(S2'){Q'}
- \pnode(Q'|0,0){P'}
- \psline[linecolor=blue,linewidth=3pt,arrows=->](P')(Q')
- \uput[90](P'){P'}
- \uput[-90](Q'){Q'}
- \psdots(Center')\uput[90](Center'){C}
-\end{pspicture}
+\begin{pspicture*}[showgrid=true](-13,-3)(3,5)
+\rput(0,0){\lensSPH[%
+ lensType=CVG,%
+ lensHeight=12,lensWidth=10,%
+ yBottom=-4,yTop=4,xLeft=-5,xRight=5,drawing=false]}
+\psset{linecolor=red,linewidth=1.5pt,dotstyle=|}
+\pnode(-12,0){P}\psdots(P)\uput[-90](P){P}
+\pnode(-12,4){Q}\psdots(Q)\uput[90](Q){Q}
+\psline[linecolor=blue,linewidth=3pt,arrows=->](P)(Q)
+\psline(P)(xRight)
+\lensSPHRay(Q)(Center'){1}{9}{S1}%
+\lensSPHRay(Q)(-5,0){1}{9}{S2}%
+\psline(Q)(S1')
+\psline(Q)(S2)(S2')
+\ABinterCD(Q)(S1')(S2)(S2'){Q'}
+\pnode(Q'|0,0){P'}
+\psline[linecolor=blue,linewidth=3pt,arrows=->](P')(Q')
+\uput[90](P'){P'}
+\uput[-90](Q'){Q'}
+\psdots(Center')\uput[90](Center'){C}
+\end{pspicture*}
\end{lstlisting}
@@ -1236,7 +1280,7 @@ Use the \verb|\rput|-macro to put the eye elsewhere:
\begin{lstlisting}
\begin{pspicture}(-1,-0.75)(1,0.75)
- \rput(1,0){\eye}
+ \rput(1,0){\eye}
\end{pspicture}
\end{lstlisting}
@@ -1359,57 +1403,57 @@ The only special option for \verb|Parallel| is \verb|length=<value>|.
The nodes \verb|nodeA| and \verb|nodeB| are known nodes of a given line and \verb|Start node| is the given node of a parallel line. \verb|End node| is the name of the calculated line end. The use of \verb|Parallel| is shown for an example (figure \ref{fig:Parallel}).
\begin{lstlisting}
-\begin{pspicture}*(-5,-3.5)(5,3.5)
- \psgrid[subgriddiv=0,griddots=5]
- \pnode(2,-2){FF}\qdisk(FF){1.5pt}
- \pnode(-5,5){A}
- \pnode(0,0){O}
- \multido{\nCountA=-2.4+0.4}{9}{%
- \Parallel[linecolor=red,length=9](O)(A)(0,\nCountA){P1}
- \psline[linecolor=red](0,\nCountA)(FF)
- \psOutLine[linecolor=red,length=9](0,\nCountA)(FF){P2}
- }
- \psline[linecolor=blue](A)(FF)
- \psOutLine[linecolor=blue,length=5](A)(FF){END1}
- \rput(0,0){%
- \lens[yBottom=-3.5,yTop=3.5,lensGlass=true,%
- lensHeight=6.5,%
- drawing=false,spotFi=315,lensWidth=0.5]%
- \psline[linewidth=1pt](xLeft)(xRight)
- \psline[length=2,linewidth=2pt,arrows=->](F')(FF)
- }
-\end{pspicture}
+\begin{pspicture*}[showgrid=true](-5,-3.5)(5,3.5)
+\pnode(2,-2){FF}\qdisk(FF){1.5pt}
+\pnode(-5,5){A}
+\pnode(0,0){O}
+\multido{\nCountA=-2.4+0.4}{9}{%
+ \Parallel[linecolor=red,length=9](O)(A)(0,\nCountA){P1}
+ \psline[linecolor=red](0,\nCountA)(FF)
+ \psOutLine[linecolor=red,length=9](0,\nCountA)(FF){P2}
+}
+\psline[linecolor=blue](A)(FF)
+\psOutLine[linecolor=blue,length=5](A)(FF){END1}
+\rput(0,0){%
+ \lens[yBottom=-3.5,yTop=3.5,lensGlass=true,%
+ lensHeight=6.5,drawing=false,spotFi=315,lensWidth=0.5]%
+ \psline[linewidth=1pt](xLeft)(xRight)
+ \psline[length=2,linewidth=2pt,arrows=->](F')(FF)
+}
+\end{pspicture*}
\end{lstlisting}
\begin{figure}[htb]
\centering
-\begin{pspicture}*(-5,-3.5)(5,3.5)
- \psgrid[subgriddiv=0,griddots=5]
- \pnode(2,-2){FF}\qdisk(FF){1.5pt}
- \pnode(-5,5){A}
- \pnode(0,0){O}
- \multido{\nCountA=-2.4+0.4}{9}{%
- \Parallel[linecolor=red,length=9](O)(A)(0,\nCountA){P1}
- \psline[linecolor=red](0,\nCountA)(FF)
- \psOutLine[linecolor=red,length=9](0,\nCountA)(FF){P2}
- }
- \psline[linecolor=blue](A)(FF)
- \psOutLine[linecolor=blue,length=5](A)(FF){END1}
- \rput(0,0){%
- \lens[yBottom=-3.5,yTop=3.5,lensGlass=true,lensHeight=6.25,%
- drawing=false,spotFi=315,lensWidth=0.5]%
- \psline[linewidth=1pt](xLeft)(xRight)
- \psline[length=2,linewidth=2pt,arrows=->](F')(FF)
- }
-\end{pspicture}
+\begin{pspicture*}[showgrid=true](-5,-3.5)(5,3.5)
+\pnode(2,-2){FF}\qdisk(FF){1.5pt}
+\pnode(-5,5){A}
+\pnode(0,0){O}
+\multido{\nCountA=-2.4+0.4}{9}{%
+ \Parallel[linecolor=red,length=9](O)(A)(0,\nCountA){P1}
+ \psline[linecolor=red](0,\nCountA)(FF)
+ \psOutLine[linecolor=red,length=9](0,\nCountA)(FF){P2}
+}
+\psline[linecolor=blue](A)(FF)
+\psOutLine[linecolor=blue,length=5](A)(FF){END1}
+\rput(0,0){%
+ \lens[yBottom=-3.5,yTop=3.5,lensGlass=true,%
+ lensHeight=6.5,drawing=false,spotFi=315,lensWidth=0.5]%
+ \psline[linewidth=1pt](xLeft)(xRight)
+ \psline[length=2,linewidth=2pt,arrows=->](F')(FF)
+}
+\end{pspicture*}
\caption{The \texttt{\textbackslash Parallel}-Macro}\label{fig:Parallel}
\end{figure}
\section{\texttt{\textbackslash ABinterCD}}
-This macro is used by the \verb|\telescop| macro. It determines the intersection point of two lines, in this case a ray and the mirror axis.
-Figure \ref{fig:ABinterCD} shows a part of figure \ref{fig:defaultTele}. Given are the points A, B (focus), C/D (mirror axis). We need the point E to draw the other rays for the ocular, which can be done with the \verb|\ABinterCD| macro. The syntax is:
+This macro is used by the \verb|\telescop| macro. It determines the intersection
+point of two lines, in this case a ray and the mirror axis.
+Figure \ref{fig:ABinterCD} shows a part of figure \ref{fig:defaultTele}. Given are
+the points A, B (focus), C/D (mirror axis). We need the point E to draw the other
+rays for the ocular, which can be done with the \verb|\ABinterCD| macro. The syntax is:
\par
\bigskip
@@ -1485,10 +1529,10 @@ The coordinates of the node \verb|A| are changed to the new ones. Negative value
\begin{lstlisting}
\begin{pspicture}(4,4)
- \pnode(3,1){A}
- \qdisk(A){2pt}\uput[20](A){A}
- \rotateNode(A){45}
- \qdisk(A){2pt}\uput[20](A){A}
+\pnode(3,1){A}
+\qdisk(A){2pt}\uput[20](A){A}
+\rotateNode(A){45}
+\qdisk(A){2pt}\uput[20](A){A}
\end{pspicture}
\end{lstlisting}
@@ -1530,18 +1574,18 @@ The coordinates of the nodes \verb|A,B,C| are changed to the new ones. Negative
\columnbreak
\begin{lstlisting}
\begin{pspicture}(-1,0)(4,4)
- \pnode(1,1){A}
- \pnode(3,1){B}
- \pnode(2,3){C}
- \qdisk(A){2pt}\uput[180](A){A}
- \qdisk(B){2pt}\uput[0](B){B}
- \qdisk(C){2pt}\uput[90](C){C}
- \psline(A)(B)(C)(A)
- \rotateTriangle(A)(B)(C){45}
- \qdisk(A){2pt}\uput[180](A){A}
- \qdisk(B){2pt}\uput[0](B){B}
- \qdisk(C){2pt}\uput[90](C){C}
- \psline[linecolor=red](A)(B)(C)(A)
+\pnode(1,1){A}
+\pnode(3,1){B}
+\pnode(2,3){C}
+\qdisk(A){2pt}\uput[180](A){A}
+\qdisk(B){2pt}\uput[0](B){B}
+\qdisk(C){2pt}\uput[90](C){C}
+\psline(A)(B)(C)(A)
+\rotateTriangle(A)(B)(C){45}
+\qdisk(A){2pt}\uput[180](A){A}
+\qdisk(B){2pt}\uput[0](B){B}
+\qdisk(C){2pt}\uput[90](C){C}
+\psline[linecolor=red](A)(B)(C)(A)
\end{pspicture}
\end{lstlisting}
@@ -1589,21 +1633,21 @@ The coordinates of the nodes \verb|A,B,C,D| are changed to the new ones. Negativ
\columnbreak
\begin{lstlisting}
\begin{pspicture}(-2,0)(4,5)
- \pnode(1,1){A}
- \pnode(3,1){B}
- \pnode(3,3){C}
- \pnode(1,3){D}
- \qdisk(A){2pt}\uput[180](A){A}
- \qdisk(B){2pt}\uput[0](B){B}
- \qdisk(C){2pt}\uput[90](C){C}
- \qdisk(D){2pt}\uput[180](D){D}
- \psline(A)(B)(C)(D)(A)
- \rotateFrame(A)(B)(C)(D){45}
- \qdisk(A){2pt}\uput[180](A){A}
- \qdisk(B){2pt}\uput[0](B){B}
- \qdisk(C){2pt}\uput[90](C){C}
- \qdisk(D){2pt}\uput[180](D){D}
- \psline[linecolor=red](A)(B)(C)(D)(A)
+\pnode(1,1){A}
+\pnode(3,1){B}
+\pnode(3,3){C}
+\pnode(1,3){D}
+\qdisk(A){2pt}\uput[180](A){A}
+\qdisk(B){2pt}\uput[0](B){B}
+\qdisk(C){2pt}\uput[90](C){C}
+\qdisk(D){2pt}\uput[180](D){D}
+\psline(A)(B)(C)(D)(A)
+\rotateFrame(A)(B)(C)(D){45}
+\qdisk(A){2pt}\uput[180](A){A}
+\qdisk(B){2pt}\uput[0](B){B}
+\qdisk(C){2pt}\uput[90](C){C}
+\qdisk(D){2pt}\uput[180](D){D}
+\psline[linecolor=red](A)(B)(C)(D)(A)
\end{pspicture}
\end{lstlisting}
@@ -1631,13 +1675,11 @@ Draws a line from \verb|Start| to \verb|End| with \verb|ArrowNumber| arrows insi
\columnbreak
\begin{lstlisting}
\begin{pspicture}(4,4)
- \arrowLine[linecolor=red](0,0)(4,3){3}
- \arrowLine[linecolor=green,%
- arrowsize=6pt,%
- arrows=-|](0,0)(3,1){2}
- \arrowLine[linecolor=blue,%
- arrowOffset=0.75,%
- arrowsize=6pt](4,0)(0,3){3}
+ \arrowLine[linecolor=red](0,0)(4,3){3}
+ \arrowLine[linecolor=green,%
+ arrowsize=6pt,arrows=-|](0,0)(3,1){2}
+ \arrowLine[linecolor=blue,%
+ arrowOffset=0.75,arrowsize=6pt](4,0)(0,3){3}
\end{pspicture}
\end{lstlisting}
@@ -1667,24 +1709,19 @@ A special option is \verb|arrowOffset|, which makes it possible to draw lines wi
\columnbreak
\begin{lstlisting}
\begin{pspicture}(4,2)
- \arrowLine[arrowsize=6pt,%
- linecolor=red](0,0.5)(4,0.5){3}
- \arrowLine[arrowsize=6pt,%
- linecolor=red,%
- arrows=<-](0,1)(4,1){3}
- \arrowLine[arrowsize=6pt,%
- linecolor=red](0,1.5)(4,1.5){3}
- \arrowLine[arrowsize=6pt,%
- linecolor=blue,%
- arrows=<-,%
- arrowOffset=0.2](0,1.5)(4,1.5){3}
+\arrowLine[arrowsize=6pt,linecolor=red](0,0.5)(4,0.5){3}
+\arrowLine[arrowsize=6pt,linecolor=red, arrows=<-](0,1)(4,1){3}
+\arrowLine[arrowsize=6pt,linecolor=red](0,1.5)(4,1.5){3}
+\arrowLine[arrowsize=6pt,linecolor=blue,%
+ arrows=<-,arrowOffset=0.2](0,1.5)(4,1.5){3}
\end{pspicture}
\end{lstlisting}
\end{multicols}
-
+\section{Credits}
+Aranud Schmittbuhl |