diff options
author | Karl Berry <karl@freefriends.org> | 2009-02-15 00:42:49 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2009-02-15 00:42:49 +0000 |
commit | 6ffb78835e54834c65b3bd1c35e3ad939b61c5d9 (patch) | |
tree | f0cdbd0dcb1ceb28f7473b1cbbe3c12da5cd9e64 /Master/texmf-dist/doc/generic/pst-optic | |
parent | 81a77270b7c03f59f2370af7c9b45d250e363fd2 (diff) |
pst-optic 1.00 (11feb09)
git-svn-id: svn://tug.org/texlive/trunk@12158 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/generic/pst-optic')
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-optic/Changes | 10 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-optic/pst-optic-doc.bib | 82 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-optic/pst-optic-doc.pdf | bin | 375128 -> 435503 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-optic/pst-optic-doc.tex | 2240 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-optic/pst-optic-examples.pdf | bin | 380247 -> 290331 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-optic/pst-optic-examples.tex | 1966 |
6 files changed, 1348 insertions, 2950 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-optic/Changes b/Master/texmf-dist/doc/generic/pst-optic/Changes index 59138a5728b..e74873c0281 100644 --- a/Master/texmf-dist/doc/generic/pst-optic/Changes +++ b/Master/texmf-dist/doc/generic/pst-optic/Changes @@ -1,5 +1,8 @@ ---- pst-optic.tex -0.96 2006-12-26 - new macros for setting a prism +1.00 2009-02-10 - new style opticalAxis to allow different line styles + - cosmetic changes to the code and the documentation +0.97 2007-01-07 - new option rayWidth for psprism +0.96 2006-08-03 - new macros for setting a prism - new option for a plan convex and divergent lens 0.95 2006-07-20 - fix spurious blanks @@ -13,14 +16,15 @@ 0.91 2004-10-23 use pst-xkey instead of pst-key ---- pst-optic.sty - 2004-11-09 new version to get a TeX output - of the used version + 2004-11-09 new version to get a TeX output of the used version ---- pst-optic-doc.tex + 2009-02-10 new documentation 2005-10-24 the parallel line image was wrong 2005-05-18 small update to some examples ---- pst-optic-examples.tex + 2009-02-10 new documentation 2005-05-18 small update to some examples
\ No newline at end of file diff --git a/Master/texmf-dist/doc/generic/pst-optic/pst-optic-doc.bib b/Master/texmf-dist/doc/generic/pst-optic/pst-optic-doc.bib index 6f777d67d99..85aea905da3 100644 --- a/Master/texmf-dist/doc/generic/pst-optic/pst-optic-doc.bib +++ b/Master/texmf-dist/doc/generic/pst-optic/pst-optic-doc.bib @@ -1,3 +1,5 @@ +@STRING{dtk = {{D}ie {\TeX}nische {K}om{\"o}die} } + @Book{PostScript, Author = {Kollock, Nikolai G.}, Title = {PostScript richtig eingesetzt: vom Konzept zum @@ -21,7 +23,7 @@ Title = {PSTricks Support for pdf}, Author = {Herbert Voss}, Organization = {}, - Address = {\url{http://PSTricks.tug.org}}, + Address = {\url{http://PSTricks.de/pdf/pdfoutput.phtml}}, Note = {}, year = 2002, } @@ -45,12 +47,82 @@ year = 2001, } -@Manual{pstoptic:2001, - Title = {Lentilles convergentes: {PST}-optic v. 0.2}, +@Manual{vue3d:2002, + Title = {Vue en 3D}, Author = {Manuel Luque}, Organization = {}, - Address = {\url{http://members.aol.com/ManuelLuque2/optique.htm}}, + Address = {\url{http://members.aol.com/Mluque5130/vue3d16112002.zip}}, Note = {}, - year = 2001, + year = 2002, +} + +@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}ostscript}, + journal = dtk, + year = 2002, + volume = {1/02}, + altvolume = 1, + altnumber = 14, + month = mar, + pages = {40-47}, + 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{companion, + author = {Michel Goosens and Frank Mittelbach and Serbastian Rahtz and Denis Roegel and Herbert Vo\ss}, + title = {The {\LaTeX} {G}raphics {C}ompanion}, + publisher = {{Addison-Wesley Publishing Company}}, + year = {2007}, + edition = {2nd}, + address = {Reading, Mass.} +} + +@Book{PSTricks2, + author = {Herbert Vo\ss}, + title = {\texttt{PSTricks} -- {G}rafik f\"ur \TeX{} und \LaTeX}, + edition = {5.}, + publisher = {DANTE -- Lehmanns}, + year = {2008}, + address = {Heidelberg/Hamburg} +} + +@Book{voss:math, + author = {Herbert Vo\ss}, + title = {\LaTeX\ in {M}athematik und {N}aturwissenschaften}, + publisher = {{Franzis-Verlag}}, + year = {2006}, + address = {Poing} } diff --git a/Master/texmf-dist/doc/generic/pst-optic/pst-optic-doc.pdf b/Master/texmf-dist/doc/generic/pst-optic/pst-optic-doc.pdf Binary files differindex e0b5bbe4a81..d905d98dac7 100644 --- a/Master/texmf-dist/doc/generic/pst-optic/pst-optic-doc.pdf +++ b/Master/texmf-dist/doc/generic/pst-optic/pst-optic-doc.pdf 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 95948c38db4..719cea89bb0 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,779 +1,582 @@ -\listfiles -\documentclass[12pt]{article} -\usepackage[T1]{fontenc} -\usepackage[latin9]{inputenc} -\usepackage[scaled=0.9]{luximono} -\usepackage{geometry} -\usepackage{graphicx,lmodern} -\usepackage{subfig} -\usepackage{pstricks} -\usepackage{pst-text} -\usepackage{pst-optic} -\let\SaveFV\fileversion -\usepackage{amsmath} -\usepackage{tabularx} -\usepackage{lscape} -\usepackage{fancyhdr} -\pagestyle{fancy} -\lfoot{\small\ttfamily\jobname.tex} -\cfoot{} -\rfoot{\thepage} -\renewcommand{\headrulewidth}{0pt} -\renewcommand{\footrulewidth}{0pt} -\usepackage{listings} -\lstset{language=PSTricks,basicstyle=\ttfamily\footnotesize,% - extendedchars=true,numbers=left,numberstyle=\tiny} -\usepackage{multicol} -\let\myPart\part -\renewcommand{\part}[1]{\clearpage\myPart{#1}} -\newcommand{\PS}{PostScript} -\newcommand\CMD[1]{\texttt{\textbackslash#1}} -\psset{subgriddiv=0,gridlabels=7pt,griddots=5} -\usepackage[ps2pdf,colorlinks,linktocpage]{hyperref} -\usepackage{breakurl} - +%% $Id: pst-func-doc.tex 64 2008-12-08 22:14:27Z herbert $ +\documentclass[11pt,english,BCOR10mm,DIV13,bibliography=totoc,parskip=false,smallheadings + headexclude,footexclude,oneside]{pst-doc} +\usepackage[utf8]{inputenc} +\usepackage{pst-optic,pst-text} +\let\pstOpticFV\fileversion +\lstset{pos=t,wide=true,language=PSTricks,basicstyle=\footnotesize\ttfamily} +\let\belowcaptionskip\abovecaptionskip +% \begin{document} -\author{Manuel Luque\thanks{\url{Mluque5130@aol.com}} \and Herbert Voß\thanks{\url{voss@perce.de}}} -\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}% +\title{\texttt{pst-optic}} +\subtitle{Lenses and Mirrors; v.\pstOpticFV} +\author{Manuel Luque \\Herbert Vo\ss} +\docauthor{Herbert Vo\ss} +\date{\today} +\maketitle -\clearpage \tableofcontents +\clearpage -\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|). -\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.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)}. - -\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}. +\begin{abstract} +\noindent +\LPack{pst-optic} loads by default the following packages: +\LPack{pstricks}, \LPack{pst-node}, \LPack{pst-plot}, \LPack{pst-3d}, +\LPack{pst-grad}, \LPack{pst-math}, \LPack{multido}, and \LPack{pst-xke}. +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 newest version. + +\vfill\noindent +Thanks to: \\ +Jean-C\^ome Charpentier, +Arnaud Schmittbuhl, +and +Timothy Van Zandt +\end{abstract} + +\section{General Options} + +All options are by default document wide 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 - \begin{tabular}{l|l|l} - \textbf{Option} & \textbf{Name} & \textbf{Default}\\\hline - Left value of the picture in cm & xLeft & -7.5\\ - Right value of the picture in cm & xRight & 7.5\\ - Lowest value of the picture in cm & xBottom & -3\\ - Highest value of the picture in cm & xTop & 3\\ - x-Offset & XO & 0\\ - y-Offset & YO & 0\\ - Node A as string & nameA & A\\ - Angle A in degrees & spotA & 270\\ - Node B as string & nameB & B\\ - Angle B in degrees & spotB & 270\\ - Node F as string & nameF & F\\ - Angle F in degrees & spotF & 270\\ - Node O as string & nameO & O\\ - Angle O in degrees & spotO & 225\\ - Node A' as string & nameAi & A'\\ - Angle A' in degrees & spotAi & 90\\ - Node B' as string & nameBi & B'\\ - Angle B' in degrees & spotBi & 270\\ - Node F' as string & nameFi & B'\\ - Angle F' in degrees & spotFi & 270\\ - Ray color & rayColor & black\\\hline - \end{tabular} - \caption{General options and the defaults}\label{tab:generalOptions} +\centering +\caption{General options and the defaults}\label{tab:generalOptions} +\begin{tabular}{@{}l l l @{}} + \emph{Option} & \emph{Name} & \emph{Default}\\\hline + Left value of the picture in cm & \Lkeyword{xLeft} & -7.5\\ + Right value of the picture in cm & \Lkeyword{xRight} & 7.5\\ + Lowest value of the picture in cm & \Lkeyword{xBottom} & -3\\ + Highest value of the picture in cm & \Lkeyword{xTop} & 3\\ + x-Offset & \Lkeyword{XO} & 0\\ + y-Offset & \Lkeyword{YO} & 0\\ + Node A as string & \Lkeyword{nameA} & A\\ + Angle A in degrees & \Lkeyword{spotA} & 270\\ + Node B as string & \Lkeyword{nameB} & B\\ + Angle B in degrees & \Lkeyword{spotB} & 270\\ + Node F as string & \Lkeyword{nameF} & F\\ + Angle F in degrees & \Lkeyword{spotF} & 270\\ + Node O as string & \Lkeyword{nameO} & O\\ + Angle O in degrees & \Lkeyword{spotO} & 225\\ + Node A' as string & \Lkeyword{nameAi} & A'\\ + Angle A' in degrees & \Lkeyword{spotAi} & 90\\ + Node B' as string & \Lkeyword{nameBi} & B'\\ + Angle B' in degrees & \Lkeyword{spotBi} & 270\\ + Node F' as string & \Lkeyword{nameFi} & B'\\ + Angle F' in degrees & \Lkeyword{spotFi} & 270\\ + Ray color & \Lkeyword{rayColor} & black\\\hline +\end{tabular} \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|: +\Lcs{pst-optic} puts the lens and mirror macros in an own \Lenv{pspicture} environment. +The star version enables the clipping option of \LPack{pstricks}: -\begin{lstlisting} +\begin{lstlisting}[style=syntax] \begin{pspicture}*(xLeft,yBottom)(xRight,yTop) - \lens[% - focus=2,OA=-3,AB=1,XO=0,YO=0,% - xLeft=-7.5,xRight=7.5,yBottom=-3,yTop=3] + \lens[focus=2,OA=-3,AB=1,XO=0,YO=0,xLeft=-7.5,xRight=7.5,yBottom=-3,yTop=3] \end{pspicture} \end{lstlisting} -If you need other values for the \verb|pspicture| environment, then use the \verb|\rput| +If you need other values for the \Lenv{pspicture} environment, then use the \Lcs{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,% +\begin{LTXexample} +\begin{pspicture}[showgrid=true](-5,-2.2)(7,4) +\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} -\end{lstlisting} +\end{LTXexample} -\par -\begin{center} -\bgroup -\begin{pspicture}(-5,-1.5)(7,4) - \psgrid[subgriddiv=0,gridlabels=5pt,griddots=5] - \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} +\subsection{\nxLcs{resetOpticOptions}} +The Macro \Lcs{resetOpticOptions} resets all \LPack{pst-optic} options to the default value. -\vspace{1cm} -\section{\CMD{resetOpticOptions}} -This macro resets all \verb+pst-optic+ options to the default value. +\subsection{Optical axis line style} +\LPack{pst-optic} definies a line style \Lnotation{opticalAxis} with the predefines values +of: +\begin{lstlisting}[style=syntax] +\newpsstyle{opticalAxis}{linewidth=0.5pt,linecolor=black,linestyle=solid} +\end{lstlisting} +It can be overwritten in the same way with \Lcs{newpsstyle}. -\part{Lenses} +\begin{LTXexample} +\newpsstyle{opticalAxis}{linewidth=0.5pt,linecolor=blue,linestyle=dashed} +\lens +\end{LTXexample} -There are macros for the convergent and divergent lens -\begin{description} - \item \verb|\lensCVG| \textbf{C}on\textbf{v}er\textbf{g}ent (Collecting lens ) - default - \item \verb|\lensDVG| \textbf{D}i\textbf{v}er\textbf{g}ent (Scatter lens ) -\end{description} +\newpsstyle{opticalAxis}{linewidth=0.5pt,linecolor=black,linestyle=solid}% reset the changes -\section{The Coordinates of the predefined Nodes} +\clearpage +\section{Lenses} -Figure \ref{fig:nodes} shows the coordinates of the predefined nodes (see table \ref{tab:generalOptions}). +There are macros for the convergent and divergent lens +\begin{BDef} +\Lcs{lens}\OptArgs\\ +\Lcs{lensCVG}\OptArgs\% \textbf{C}on\textbf{v}er\textbf{g}ent (Collecting lens ) -- default\\ +\Lcs{lensDVG}\OptArgs\% \textbf{D}i\textbf{v}er\textbf{g}ent (Scatter lens ) +\end{BDef} -\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}% - } -\end{pspicture} -\end{lstlisting} +\subsection{The Coordinates of the predefined Nodes} +The following figure shows the coordinates of the predefined nodes (see Table~\ref{tab:generalOptions}). -\begin{figure}[!htb] \resizebox{\textwidth}{!}{% -\bgroup -\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}% - } +\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}} \psgrid[subgriddiv=0,griddots=4,gridlabels=7pt] -\end{pspicture}% -\egroup -} -\caption{Coodinates of the predefined Nodes}\label{fig:nodes} -\end{figure} +\end{pspicture*}} +\captionof{figure}{Coodinates of the predefined Nodes}\label{fig:nodes} -\section{The Lens Type} +\subsection{The Lens Type} -\begin{figure}[htb] -\centering -\bgroup -\psscalebox{0.75}{\lens[lensType=CVG]}\vspace{-0.5cm} -\caption{\texttt{\textbackslash lens[lensType=CVG]} (Collecting lens)}% -\label{fig:defaultCVG} +\begin{LTXexample}[wide=false] +\lens[lensType=CVG] +\end{LTXexample} +\vspace*{-2ex} +\captionof{figure}{Collecting lens}\label{fig:defaultCVG} -\psscalebox{0.75}{\lens[lensType=PCVG]}\vspace{-0.5cm} -\caption{\texttt{\textbackslash lens[lensType=PCVG]} (Plan Collecting lens)}% -\egroup -\end{figure} +\begin{LTXexample}[wide=false] +\lens[lensType=PCVG] +\end{LTXexample} +\vspace*{-2ex} +\captionof{figure}{Plan Collecting lens} +\enlargethispage{2ex} +\begin{LTXexample}[wide=false] +\psscalebox{0.75}{\lens[lensType=DVG,focus=-2,spotAi=270,spotBi=90]} +\end{LTXexample} +\vspace*{-2ex} +\captionof{figure}{Scatter lens}\label{fig:defaultDVG} -\begin{figure}[htb] -\centering -\bgroup -\psscalebox{0.75}{\lens[lensType=DVG,focus=-2,spotAi=270,spotBi=90]}\vspace{-0.5cm} -\caption{\texttt{\textbackslash lens[lensType=DVG,focus=-2,spotAi=270,spotBi=90]} (Scatter lens)}% -\label{fig:defaultDVG} +\begin{LTXexample}[wide=false] +\lens[lensType=PDVG,focus=-2,spotAi=270,spotBi=90] +\end{LTXexample} +\vspace*{-2ex} +\captionof{figure}{Plan Scatter lens} + +\clearpage + +Using \Lcs{lens}\OptArg{\Lkeyword{lensType}=\ldots} gives the in figures \ref{fig:defaultCVG} and +\ref{fig:defaultDVG} shown lenses with the default values from Table~\ref{tab:defaultLens}. -\psscalebox{0.75}{\lens[lensType=PDVG,focus=-2,spotAi=270,spotBi=90]}\vspace{-0.5cm} -\caption{\texttt{\textbackslash lens[lensType=PDVG,focus=-2,spotAi=270,spotBi=90]} (Plan Scatter lens)}% -\egroup -\end{figure} -Using \verb|\lens[<lensType>]| gives the in figure \ref{fig:defaultCVG} and \ref{fig:defaultDVG} shown lenses with the default values from table \ref{tab:defaultLens}. -\par \begin{table}[!htb] - \centering +\centering \begin{minipage}{\columnwidth} - \centering - \begin{tabular}{l|l|l} - \textbf{Option} & \textbf{Name} & \textbf{Default}\\\hline - Lense type & lensType & CVG\\ - Lense height in cm & lensHeight & 5cm\\ - Lense width in cm & lensWidth & 0.5cm\footnotemark\\ - vertical scale (obsolet) & lensScale& 1\\ - View the lens & lensGlass& false\\ - Second lens & lensTwo & false\\ - Focus in cm & focus & 2\\ - Distance $\mathrm{\overline{OA}}$& OA & -4\\ - Distance $\mathrm{\overline{AB}}$& AB & 1.5\\ - Lens color & lenscolor& black\\ - Arrow length in cm & lensarrowsize &0.2\\ - Arrow inset in cm & lensarrowinset&0.5\\ - \end{tabular} - \caption{Available options for lenses with the defaults}\label{tab:defaultLens} -\footnotetext{\textsuperscript{1} only for \texttt{lensGlass=true}, otherwise set to \texttt{2\textbackslash pslinewidth}} +\centering +\caption{Available options for lenses with the defaults}\label{tab:defaultLens} +\begin{tabular}{@{} l l l @{}} + \emph{Option} & \emph{Name} & \emph{Default}\\\hline + Lense type (\Lkeyval{CVG}|\Lkeyval{DVG}|\Lkeyval{PCVG}|\Lkeyval{PDVG}) & \Lkeyword{lensType} & \Lkeyval{CVG}\\ + Lense height in cm & \Lkeyword{lensHeight} & 5cm\\ + Lense width in cm & \Lkeyword{lensWidth} & 0.5cm\footnotemark\\ + vertical scale (obsolet) & \Lkeyword{lensScale} & 1\\ + View the lens & \Lkeyword{lensGlass} & \false\\ + Second lens & \Lkeyword{lensTwo} & \false\\ + Focus in cm & \Lkeyword{focus} & 2\\ + Distance $\mathrm{\overline{OA}}$& \Lkeyword{OA} & -4\\ + Distance $\mathrm{\overline{AB}}$& \Lkeyword{AB} & 1.5\\ + Lens color & \Lkeyword{lenscolor} & \black\\ + Arrow length in cm & \Lkeyword{lensarrowsize} & 0.2\\ + Arrow inset in cm & \Lkeyword{lensarrowinset} & 0.5\\ +\end{tabular} +\footnotetext{\textsuperscript{1} only for \Lkeyset{lensGlass=true}, otherwise set to \texttt{2\textbackslash pslinewidth}} \end{minipage} \end{table} -The origin of the coordinate system is by default vertically and horinzontally symmetric. If you want to place the lens at another coordinates then define your own \verb|pspicture|-environment and use the \verb|\rput|-command: +The origin of the coordinate system is by default vertically and horinzontally symmetric. +If you want to place the lens at another coordinates then define your own +\Lenv{pspicture}-environment and use the \Lcs{rput}-command: -\begin{lstlisting} -\begin{pspicture}*(-7.5,-3)(7.5,3) - \rput(0,0){\lens[...]} +\begin{lstlisting}[style=syntax] +\begin{pspicture}(-7.5,-3)(7.5,3) + \rput(x,y){\lens[...]} \begin{pspicture} +\begin{pspicture*}(-7.5,-3)(7.5,3) + \rput(x,y){\lens[...]} +\begin{pspicture*} \end{lstlisting} The star version enables the clipping option. -\section{\CMD{Transform}} -The \verb|Transform|-macro renames all existing nodes in names with an additional "{}1"{}. Table \ref{tab:Transform} shows a list of all nodes. \verb|Transform| also defines a new node \verb|factice| with the coordinates \verb|(XO1,YO1)|. The renaming of all nodes makes it easier to handle objects with more than one lens. With the option \verb|lensTwo=true| it is possible to chain the different rays of the lenses (figure \ref{fig:lensTwo}). +\subsection{\nxLcs{Transform}} -\par +The \Lcs{Transform}-macro renames all existing nodes in names with an additional +,,1``. Table~\ref{tab:Transform} shows a list of all nodes. +\Lcs{Transform} also defines a new node \verb|factice|\index{factice@\texttt{factice}} with the coordinates +\verb|(XO1,YO1)|. The renaming of all nodes makes it easier to handle objects with more than one lens. +With the option \Lkeyset{lensTwo=true} it is possible to chain the different rays of the lenses +(Figure~\ref{fig:lensTwoC}). \begin{table}[!htb] -\addtolength{\tabcolsep}{-3pt} +\addtolength{\tabcolsep}{-2pt} +\caption{Renaming of the nodes after calling the macro \nxLcs{Transform}}\label{tab:Transform} \centering -{\small\begin{tabular}{l|lllllllllllll} -\textbf{Alt}& A & B & A' & B' & O & F & F' & I & I' & XO & YO & OA' & A'B'\\\hline -\textbf{Neu} &A1& B1& A'1& B'1& O1& F1& F'1& I1& I'1& XO1& YO1& O1A1'& A'1B'1 +{\ttfamily\begin{tabular}{@{}l|lllllllllllll @{}} +\emph{old} & A & B & A' & B' & O & F & F' & I & I' & XO & YO & OA' & A'B'\\\hline +\emph{new} &A1& B1& A'1& B'1& O1& F1& F'1& I1& I'1& XO1& YO1& O1A1'& A'1B'1 \end{tabular}} -\addtolength{\tabcolsep}{3pt} -\caption{Renaming of the nodes after calling the macro \texttt{\textbackslash Transform}}\label{tab:Transform} \end{table} -\begin{figure}[htb] -\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,% - focus=1,OA=-2,lensGlass=true, lensWidth=0.5]% -} -%\Transform -\rput(0,0){% - \lens[lensScale=1.2,XO=2,focus=2,% -% lensTwo=true,% - lensGlass=true,lensWidth=0.5]% -} -\end{pspicture} -\egroup -}}\hfill% -\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,% - focus=1,OA=-2,lensGlass=true, lensWidth=0.5]% -} -\Transform -\rput(0,0){% - \lens[lensScale=1.2,XO=2,focus=2,% - lensTwo=true,% - lensGlass=true,lensWidth=0.5]% -} -\end{pspicture} -\egroup -}} +\begin{LTXexample}[wide=false] +\begin{pspicture*}(-7.5,-2.75)(7.5,3) +\rput(0,0){\lens[lensScale=0.6,XO=-4,focus=1,OA=-2,lensGlass=true, lensWidth=0.5]} +\rput(0,0){\lens[lensScale=1.2,XO=2,focus=2,lensGlass=true,lensWidth=0.5]} +\end{pspicture*} +\end{LTXexample} +\vspace*{-2ex} +\captionof{figure}{Definition of two unchained lenses} -\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,% - 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) +\begin{LTXexample}[wide=false] +\begin{pspicture*}(-7.5,-2.75)(7.5,3) +\rput(0,0){\lens[lensScale=0.6,XO=-4,focus=1,OA=-2,lensGlass=, lensWidth=0.5]} \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]% -} -\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} -\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]% -} +\rput(0,0){\lens[lensScale=1.2,XO=2,focus=2,lensTwo=true,lensGlass=true,lensWidth=0.5]} +\end{pspicture*} +\end{LTXexample} +\vspace*{-2ex} +\captionof{figure}{Definition of two chained lenses} + +\begin{LTXexample}[wide=false] +\begin{pspicture*}(-7.5,-2.75)(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]} \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]% -} +\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]} \pspolygon[style=rayuresJaunes,linestyle=none](B)(I)(B')(I')(B) -\end{pspicture} -\end{lstlisting} +\end{pspicture*} +\end{LTXexample} +\vspace*{-2ex} +\captionof{figure}{Definition of two chained lenses and an additional modification of the node labels.}\label{fig:lensTwoC} -\section{\CMD{rayInterLens}} +\clearpage -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}} +\subsection{\nxLcs{rayInterLens}} -For the node of figure \ref{fig:RayInter} we have +This macro is only useful for a two-lens-system. Figure~\ref{fig:RayInter} shows such a system. +The nodes \Lnotation{B1}, \Lnotation{I11}, \Lnotation{F'1}, and \Lnotation{B'1} are predefined +by the \Lcs{lens}-macro. To draw the two rays +from the left lense via the node \Lnotation{B'1} to the second lens, we need the coordinates of these +points. \Lcs{rayInterLense} defines such nodes. The Syntax: -\begin{lstlisting} -\rayInterLens(I11)(B'1){4}{Inter1L2} -\psline(B1)(I11)(B'1)(Inter1L2) -\rayInterLens(O1)(B'1){4}{Inter2L2} -\psline(B1)(O1)(B'1)(Inter2L2) -\end{lstlisting} +\begin{BDef} +\Lcs{rayInterLense}\Largr{StartNode}\Largr{IntermediatNode}\Largr{LensDistance}\Largb{LensNode} +\end{BDef} -The two parallel lines are drawn with the \verb|\Parallel|-Macro. +Two parallel lines are drawn with the \Lcs{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,% - yBottom=-4,yTop=4,drawing=false,lensWidth=0.5,lensScale=0.5,% - nameF=F_1,nameFi=F'_1]% - \psline[linewidth=1pt](xLeft)(xRight) -} +\begin{LTXexample} +\begin{pspicture*}(-7.5,-4)(7.5,4) +\rput(0,0){\lens[focus=1.5,OA=-2,AB=0.6,XO=-5,lensGlass,yBottom=-4,yTop=4,drawing=false, + lensWidth=0.5,lensScale=0.5,nameF=F_1,nameFi=F'_1]} +\psline[linewidth=1pt](xLeft)(xRight) \Transform -\rput(0,0){% - \lens[focus=2,XO=4,lensGlass=true,% - yBottom=-4,yTop=4,drawing=false,lensWidth=0.5,lensHeight=7,% - nameF=F_2,nameFi=F'_2,spotF=90,spotFi=90]% - } +\rput(0,0){\lens[focus=2,XO=4,lensGlass,yBottom=-4,yTop=4,drawing=false,lensWidth=0.5, + lensHeight=7,nameF=F_2,nameFi=F'_2,spotF=90,spotFi=90]} \psline{->}(A1)(B1)\psline{->}(A'1)(B'1) \psset{linecolor=red} -\uput[45](B1){B1} -\uput[90](O){O} -\uput[225](O1){O1} -\uput[45](I11){I11} -\uput[45](B'1){$B'_1$} -\rayInterLens(I11)(B'1){4}{Inter1L2} -\rayInterLens(O1)(B'1){4}{Inter2L2} +\uput[45](B1){B1} \uput[90](O){O} \uput[225](O1){O1} \uput[45](I11){I11} \uput[45](B'1){$B'_1$} +\rayInterLens(I11)(B'1){4}{Inter1L2} \rayInterLens(O1)(B'1){4}{Inter2L2} \uput[350](Inter1L2){Inter1L2} -\psline(B1)(I11)(B'1)(Inter1L2) -\psline(B1)(O1)(B'1)(Inter2L2) -\Parallel(B'1)(O)(Inter2L2){B2inftyRigth} -\Parallel(B'1)(O)(Inter1L2){B3inftyRigth} +\psline(B1)(I11)(B'1)(Inter1L2) \psline(B1)(O1)(B'1)(Inter2L2) +\Parallel(B'1)(O)(Inter2L2){B2inftyRigth} \Parallel(B'1)(O)(Inter1L2){B3inftyRigth} \psset{length=-2,linestyle=dashed} -\Parallel(B'1)(O)(Inter2L2){B2inftyLeft} -\Parallel(B'1)(O)(Inter1L2){B3inftyLeft} +\Parallel(B'1)(O)(Inter2L2){B2inftyLeft} \Parallel(B'1)(O)(Inter1L2){B3inftyLeft} \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} +\end{pspicture*} +\end{LTXexample} +\captionof{figure}{Demonstration of \nxLcs{rayInterLens}\label{fig:RayInter}} -\clearpage -\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. -\begin{figure}[!htb] - \abovecaptionskip=-0.5cm - \resizebox{\linewidth}{!}{\telescope} - \bigskip - \caption{\CMD{telescope}-Macro}\label{fig:defaultTele} -\end{figure} +\subsection{\nxLcs{telescope}} +Figure~\ref{fig:defaultTele} shows the configuration of a telescope and Table~\ref{tab:defaultSpiegel} +the special options for the \Lcs{telescop}-Macro. -\part{Mirrors} +\begin{LTXexample}[wide=false] +\telescope +\end{LTXexample} +\captionof{figure}{\nxLcs{telescope}-Macro}\label{fig:defaultTele} -\section{options} -Figure \ref{fig:Spiegel} shows the available mirrors and table \ref{tab:defaultSpiegel} the possible options. -\begin{table}[!htb] - \centering - \begin{tabular}{p{5cm}|l|l} - \textbf{Option} & \textbf{Name} & \textbf{Default}\\\hline - Left value of the picture in cm & xLeft & -0.5\\ - Right value of the picture in cm & xRight & 11\\ - Lowest value of the picture in cm & xBottom & -6\\ - Highest value of the picture in cm & xTop & 2.5\\ - Mirror height in cm & mirrorHeight & 5\\ - Mirror depth in cm & mirrorDepth & 1\\ - Mirror width in cm & mirrorWidth & 0.25\\ - Mirror color & mirrorColor & lightgray\\ - Ray color & rayColor & black\\ - Focus in cm - (only together with the option \verb|posMirrorTwo| senseful) & mirrorFocus & 8\\ - Position of the 2. mirror in cm & posMirrorTwo & 8\\ - Inclination of the 2. mirror in degrees & mirrorTwoAngle & 45\\ - Draw lines & drawing & true\\ - \end{tabular} - \caption{List of options for mirrors with the predefines values}\label{tab:defaultSpiegel} -\end{table} +\section{Mirrors} -\par +\subsection{options} +Figure~\ref{fig:Spiegel} shows the available mirrors and Table~\ref{tab:defaultSpiegel} the possible options. -\begin{figure}[!htb] + + + +\begin{table}[!htb] \centering -\subfloat[]{% -\bgroup -\begin{pspicture}*(-1,-3)(3,3) - \psgrid[subgriddiv=0,griddots=5] - \rput(0,0){\mirrorCVG[mirrorColor=gray,drawing=false]} - \psaxes[linestyle=dashed,linecolor=red,linewidth=1pt,arrows=->](0,0)(-1,-3)(3,3) - \qdisk(Focus){2pt}\rput(Focus){\rput(0,0.25){Focus}} - \pcline[arrows=|-|](-0.75,-2.5)(-0.75,2.5)\ncput*[nrot=:U]{mirrorHeight} - \pcline[arrows=|-|](0,2.75)(1,2.75)\rput[l](1.1,2.75){mirrorDepth} - \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% -\subfloat[]{% -\bgroup -\begin{pspicture}*(-4,-3)(1,3) - \psgrid[subgriddiv=0,griddots=5] - \rput(0,0){\mirrorDVG[mirrorColor=gray,drawing=false]} - \psaxes[linestyle=dashed,linecolor=red,linewidth=1pt,arrows=->](0,0)(-4,-3)(1,3) - \qdisk(Focus){2pt}\rput(Focus){\rput(0,0.25){Focus}} - \pcline[arrows=|-|](.5,-2.5)(.5,2.5)\ncput*[nrot=:U]{mirrorHeight} - \pcline[arrows=|-|](-1.25,2.75)(-.25,2.75)\rput[r](-1.3,2.75){mirrorDepth} - \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 -\subfloat[\label{fig:planMirror}]{% -\bgroup -\begin{pspicture}(-2,-2)(2,2) - \psgrid[subgriddiv=0, gridlabels=5pt,griddots=4] - \pnode(-1.5,-1.5){M1} - \pnode(1,1){M2} - \uput[-90](M1){$\mathrm{M_1}$} - \uput[90](M2){$\mathrm{M_2}$} - \pnode(-1.5,1.5){A} - \planMirrorRay(A)(M1)(M2){A'} - \psline[linewidth=5pt](M1)(M2) - \pscircle*(A){2pt} - \uput[0](A){A} - \uput[0](A'){$\mathrm{A'}$} - \pscircle*(A'){2pt} - \psline[linestyle=dashed](A)(A') +\caption{List of options for mirrors with the predefines values}\label{tab:defaultSpiegel} +\begin{tabularx}{\linewidth}{@{} >{\RaggedRight}X l l @{}} +\emph{Option} & \emph{Name} & \emph{Default}\\\hline +Left value of the picture in cm & \Lkeyword{xLeft} & -0.5\\ +Right value of the picture in cm & \Lkeyword{xRight} & 11\\ +Lowest value of the picture in cm & \Lkeyword{xBottom} & -6\\ +Highest value of the picture in cm & \Lkeyword{xTop} & 2.5\\ +Mirror height in cm & \Lkeyword{mirrorHeight} & 5\\ +Mirror depth in cm & \Lkeyword{mirrorDepth} & 1\\ +Mirror width in cm & \Lkeyword{mirrorWidth} & 0.25\\ +Mirror color & \Lkeyword{mirrorColor} & lightgray\\ +Ray color & \Lkeyword{rayColor} & black\\ +Focus in cm +(only together with the option \Lkeyword{posMirrorTwo} senseful) & \Lkeyword{mirrorFocus} & 8\\ +Position of the 2. mirror in cm & \Lkeyword{posMirrorTwo} & 8\\ +Inclination of the 2. mirror in degrees & \Lkeyword{mirrorTwoAngle} & 45\\ +Draw lines & \Lkeyword{drawing} & true\\ +\end{tabularx} +\end{table} + + +\begin{LTXexample}[width=4cm,pos=l] +\begin{pspicture*}[showgrid=true](-1,-3)(3,3) +\rput(0,0){\mirrorCVG[mirrorColor=gray,drawing=false]} +\psaxes[linestyle=dashed,linecolor=red,linewidth=1pt,arrows=->](0,0)(-1,-3)(3,3) +\qdisk(Focus){2pt} \rput(Focus){\rput(0,0.25){Focus}} +\pcline[arrows=|-|](-0.75,-2.5)(-0.75,2.5)\ncput*[nrot=:U]{mirrorHeight} +\pcline[arrows=|-|](0,2.75)(1,2.75) \rput[l](1.1,2.75){mirrorDepth} +\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*} +\end{LTXexample} + +\begin{LTXexample}[width=5cm,pos=l] +\begin{pspicture*}[showgrid=true](-4,-3)(1,3) +\rput(0,0){\mirrorDVG[mirrorColor=gray,drawing=false]} +\psaxes[linestyle=dashed,linecolor=red,linewidth=1pt,arrows=->](0,0)(-4,-3)(1,3) +\qdisk(Focus){2pt} \rput(Focus){\rput(0,0.25){Focus}} +\pcline[arrows=|-|](.5,-2.5)(.5,2.5) \ncput*[nrot=:U]{mirrorHeight} +\pcline[arrows=|-|](-1.25,2.75)(-.25,2.75) \rput[r](-1.3,2.75){mirrorDepth} +\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*} +\end{LTXexample} + +\begin{LTXexample}[width=4cm,pos=l] +\begin{pspicture}[showgrid=true](-2,-2)(2,2) +\pnode(-1.5,-1.5){M1} \pnode(1,1){M2} +\uput[-90](M1){$\mathrm{M_1}$}\uput[90](M2){$\mathrm{M_2}$} +\pnode(-1.5,1.5){A} +\planMirrorRay(A)(M1)(M2){A'} +\psline[linewidth=5pt](M1)(M2)\pscircle*(A){2pt} +\uput[0](A){A} \uput[0](A'){$\mathrm{A'}$} +\pscircle*(A'){2pt} \psline[linestyle=dashed](A)(A') \end{pspicture} -\egroup -} -\caption{The different mirror macros: -a) \texttt{\textbackslash mirrorCVG} -b) \texttt{\textbackslash mirrorDVG} -c) \texttt{\textbackslash planMirrorRay}% -}\label{fig:Spiegel} -\end{figure} +\end{LTXexample} +\captionof{figure}{The different mirror macros: a) \nxLcs{mirrorCVG} b) \nxLcs{mirrorDVG} c) +\nxLcs{planMirrorRay}}\label{fig:Spiegel}\label{fig:planMirror} -\section{\CMD{mirrorCVG}} +\subsection{\nxLcs{mirrorCVG}} -Figure \ref{fig:mirrorCVG} shows the default for the \verb|mirrorCVG|-macro with the predefined nodes anf three default rays. +Figure~\ref{fig:mirrorCVG} shows the default for the \Lcs{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] + +\begin{LTXexample}[width=7cm,pos=l] +\begin{pspicture*}[showgrid=true](-1,-3)(6,3) \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) +\end{pspicture*} +\end{LTXexample} +\captionof{figure}{Parabolic Mirror \nxLcs{mirrorCVG}}\label{fig:mirrorCVG} + +\begin{LTXexample}[width=8.5cm,pos=l] +\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} -\egroup -} -\caption{Example}\label{fig:CVGAnwendung} -\end{minipage} -\end{figure} + \mirrorCVGRay[linewidth=0.5pt,mirrorHeight=8, + mirrorDepth=4](10,\rY)(1,\rY){Dummy}} +\end{pspicture*} +\end{LTXexample} +\captionof{figure}{Example}\label{fig:CVGAnwendung} + -\section{\CMD{mirrorDVG}} +\clearpage -Figure \ref{fig:mirrorDVG} shows the defaults for the macro \verb|mirrorDVG|-Makros. +\section{\nxLcs{mirrorDVG}} -\begin{figure}[!htb] -\begin{minipage}{0.48\textwidth} -\resizebox{\textwidth}{!}{% -\begin{pspicture}*(-2,-3)(5,3) - \psgrid[subgriddiv=0,gridlabels=5pt,griddots=5] - \rput(0,0){\mirrorDVG[rayColor=red]} -\end{pspicture}% -}% -\caption{\texttt{\textbackslash mirrorDVG}}\label{fig:mirrorDVG} -\end{minipage}\hfill -\begin{minipage}{0.48\textwidth} -\resizebox{\textwidth}{!}{% -\begin{pspicture}*(-4,-4)(6,4) - \psgrid[subgriddiv=0,gridlabels=5pt,griddots=5] - \rput(0,0){\mirrorCVG[drawing=false,mirrorDepth=0.75,mirrorHeight=7]} - \qdisk(Focus){2pt} - \rput(6,2.5){\eye} - \pnode(1.75,-1.5){A}\pnode(1.75,1){B} - \psline[arrows=->,linewidth=4pt](A)(B) - \uput{0.2}[0](2,0){\Huge G} - \psset{linecolor=red} - \mirrorCVGRay[% - rayColor=red,% - mirrorHeight=7,% - mirrorDepth=0.75](A)(0,-0.9){P1} - \psOutLine[length=3](P1)(P1'){PEnd} - \psBeforeLine[length=5,linestyle=dashed](P1)(P1'){PBegin} - \mirrorCVGRay[rayColor=red,% - mirrorHeight=7,% - mirrorDepth=0.75](A)(0,-0.2){P2} - \psOutLine[length=3](P2)(P2''){PEnd} - \psBeforeLine[length=5,linestyle=dashed](P2)(P2'){PBegin} +%Figure~\ref{fig:mirrorDVG} shows the defaults for the macro \Lcs{mirrorDVG}-Makros. + + +\begin{LTXexample}[width=7cm,pos=l] +\begin{pspicture*}[showgrid=true](-2,-2.6)(5,3) + \rput(0,0){\mirrorDVG[rayColor=red]} +\end{pspicture*} +\end{LTXexample} +\vspace{-10mm} +\captionof{figure}{\nxLcs{mirrorDVG}}\label{fig:mirrorDVG} + + +\enlargethispage{13mm} + +\begin{LTXexample} +\begin{pspicture*}[showgrid=true](-4,-4)(6,4) +\rput(0,0){\mirrorCVG[drawing=false,mirrorDepth=0.75,mirrorHeight=7]} +\qdisk(Focus){2pt} \rput(6,2.5){\eye} +\pnode(1.75,-1.5){A}\pnode(1.75,1){B}\psline[arrows=->,linewidth=4pt](A)(B) +\uput{0.2}[0](2,0){\Huge G} \psset{linecolor=red} +\mirrorCVGRay[rayColor=red,mirrorHeight=7,mirrorDepth=0.75](A)(0,-0.9){P1} +\psOutLine[length=3](P1)(P1'){PEnd}\psBeforeLine[length=5,linestyle=dashed](P1)(P1'){PBegin} +\mirrorCVGRay[rayColor=red,mirrorHeight=7,mirrorDepth=0.75](A)(0,-0.2){P2} +\psOutLine[length=3](P2)(P2''){PEnd}\psBeforeLine[length=5,linestyle=dashed](P2)(P2'){PBegin} % - \mirrorCVGRay[% - rayColor=red,% - mirrorHeight=7,% - mirrorDepth=0.75](B)(0,2.75){P3} - \psOutLine[length=3](P3)(P3'){PEnd} - \psBeforeLine[length=5,linestyle=dashed](P3)(P3'){PBegin} - \mirrorCVGRay[% - rayColor=red,% - mirrorHeight=7,% - mirrorDepth=0.75](B)(0,1.8){P4} - \psOutLine[length=3](P4)(P4'){PEnd} - \psBeforeLine[length=5,linestyle=dashed](P4)(P4'){PBegin} - \ABinterCD(P3)(P3')(P4)(P4'){A'} - \ABinterCD(P1)(P1')(P2)(P2'){B'} - \psline[arrows=->,linewidth=4pt,linestyle=dashed](B')(A') - \nodeBetween(A')(B'){G''} - \uput{0}[0](G''){\Huge G'} -\end{pspicture}% -} -\caption{Example as a magnifier}\label{fig:DVGAnwendung} -\end{minipage} -\end{figure} +\mirrorCVGRay[rayColor=red,mirrorHeight=7,mirrorDepth=0.75](B)(0,2.75){P3} +\psOutLine[length=3](P3)(P3'){PEnd}\psBeforeLine[length=5,linestyle=dashed](P3)(P3'){PBegin} +\mirrorCVGRay[rayColor=red,mirrorHeight=7,mirrorDepth=0.75](B)(0,1.8){P4} +\psOutLine[length=3](P4)(P4'){PEnd}\psBeforeLine[length=5,linestyle=dashed](P4)(P4'){PBegin} +\ABinterCD(P3)(P3')(P4)(P4'){A'}\ABinterCD(P1)(P1')(P2)(P2'){B'} +\psline[arrows=->,linewidth=4pt,linestyle=dashed](B')(A') +\nodeBetween(A')(B'){G''}\uput{0}[0](G''){\Huge G'} +\end{pspicture*} +\end{LTXexample} +\captionof{figure}{Example as a magnifier}\label{fig:DVGAnwendung} +\clearpage \subsection{Drawing Rays in the Mirror Macros} There are two different macros for drawing rays: -\par -\bigskip -\begin{minipage}{\textwidth} -\verb|\mirrorCVGRay[options](Node1)(Node2){MirrorNode}|\\ -\verb|\mirrorDVGRay[options](Node1)(Node2){MirrorNode}| -\end{minipage} -\par -\bigskip -The \verb|MirrorNode| maybe -\par -\bigskip + + + + +\begin{BDef} +\Lcs{mirrorCVGRay}\OptArgs\Largr{Node1}\Largr{Node2}\Largb{MirrorNode}\\ +\Lcs{mirrorDVGRay}\OptArgs\Largr{Node1}\Largr{Node2}\Largr{MirrorNode} +\end{BDef} + +The \Lnotation{MirrorNode} maybe : + \begin{tabularx}{\textwidth}{l|X} -MirrorNode & first point on the mirror\\ -MirrorNode' & end node or second point on the mirror if one more reflection happens\\ -MirrorNode'' & end node for a second reflection +\Lnotation{MirrorNode} & first point on the mirror\\ +\Lnotation{MirrorNode'} & end node or second point on the mirror if one more reflection happens\\ +\Lnotation{MirrorNode''} & end node for a second reflection \end{tabularx} -\smallskip -If there are only one reflection, then \verb|MirrorNode'| and \verb|MirrorNode''| are the same. +If there are only one reflection, then \Lnotation{MirrorNode'} and \Lnotation{MirrorNode''} are the same. -\subsection{\CMD{planMirrorRay}} +\subsection{\nxLcs{planMirrorRay}} + +The \Lcs{planMirrorRay}-Macro caculates the coordinates of a mirrored point. In +Figure~\ref{fig:planMirror} is a given node \verb|A|, whereas \verb|A'| is calculated by the macro. The syntax is: + +\begin{BDef} +\Lcs{planMirrorRay}\Largr{Mirrorbegin}\Largr{Mirrorend}\Largr{Originalpoint}\Largb{New point} +\end{BDef} -The \verb|planMirrorRay|-Macro caculates the coordinates of a mirrored point. In figure \ref{fig:planMirror} is a given node \verb|A|, whereas \verb|A'| is calculated by the macro. The syntax is: -\par -\bigskip -\verb|\planMirrorRay(Mirrorbegin)(Mirrorend)(Originalpoint){New point}| -\bigskip -\par The macro doesn't draw any lines, only the coordinates of the new point are saved by the new node name. -\subsection{\CMD{symPlan}} +\subsection{\nxLcs{symPlan}} \verb|\symPlan| allows to mirroring complete plain graphical objects along a virtual center line. Figure \ref{fig:symPlan} shows that this mirroring is a mathematical one and not a physical one. For more examples look at \cite{pstoptic:2001}. The syntax is: -\par -\verb|\symPlan(node1)(node2){Graphicobject}| -\par +\begin{BDef} +\Lcs{symPlan}\Largr{node1}\Largr{node2}\Largb{graphic object} +\end{BDef} The two nodes define the mirror axis and the graphics object is in most cases a user defined macro, f.ex: +This example needs the package \LPack{pst-text} for the \Lcs{pstextpath} macro. -\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}% -} -\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 +\begin{center} +\begin{LTXexample}[wide=false] +\newcommand{\dtk}{\pstextpath(0,0){% + \psplot[linestyle=none]{0}{8}{x sqrt sqrt 2 mul}}% + {\Large Die \TeX{}nische Kom\"odie von DANTE}} +\begin{pspicture}(-4.5,-2.5)(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} +\symPlan(M1)(M2){\rput(-3.5,-1.75){\dtk}} \end{pspicture} -\end{lstlisting} - -This example needs the package \verb|pst-text.sty| for the \verb|\pstextpath| macro ( -\url{CTAN:/graphics/pstricks/generic/pst-text.tex}). +\end{LTXexample} +\captionof{figure}{Demonstration of the \nxLcs{symPlan}-Macro} \label{fig:symPlan} +\end{center} -\begin{figure}[!htb] -\centering -\newcommand{\dtk}{% - \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.5)(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} - \symPlan(M1)(M2){\rput(-3.5,-1.75){\dtk}} -\end{pspicture}% -\caption{Demonstration of the \texttt{\textbackslash symPlan}-Macro} \label{fig:symPlan} -\end{figure} +\clearpage -\section{Beam Light} +\subsection{Beam Light} This macro is useful for the demonstration of high and low beam light. The syntax for this macro is: -\par -\bigskip -\verb|\beamLight[<Options>]| -\par -\bigskip +\begin{BDef} +\Lcs{beamLight}\OptArgs +\end{BDef} -The predefined options especially for the \verb|pspicture|-coordinates are -\begin{lstlisting} +The predefined options especially for the \Lenv{pspicture}-coordinates are +\begin{lstlisting}[style=syntax] \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. +You can place this macro with the \Lcs{rput}-command at any place in your own \Lenv{pspicture}-environment. -\begin{figure}[!htb] -\begin{minipage}{0.35\textwidth} - \begin{pspicture}(-1,-3)(3,3) - \rput(0,0){\beamLight} - \end{pspicture} -\begin{lstlisting} +\begin{minipage}[b]{0.35\textwidth} +\begin{LTXexample} \begin{pspicture}(-1,-3)(3,3) - \rput(0,0){\beamLight} + \rput(0,0){\beamLight} \end{pspicture} -\end{lstlisting} - \caption{\CMD{beamLight} without any Options} +\end{LTXexample} +\captionof{figure}{\nxLcs{beamLight} without any Options} \end{minipage}\hfill% -\begin{minipage}{0.5\textwidth} +\begin{minipage}[b]{0.5\textwidth} \centering +\begin{LTXexample} \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} - -\begin{lstlisting} -\begin{pspicture}(-1,-5.5)(5,5.5) - \rput(0,0){% - \beamLight[mirrorDepth=4.75,% - mirrorWidth=0.1,mirrorHeight=10,% - linecolor=lightgray]} -\end{pspicture}% -\end{lstlisting} -\caption{\CMD{beamLight} with Options} +\end{LTXexample} +\captionof{figure}{\nxLcs{beamLight} with Options} \end{minipage} -\end{figure} - +\clearpage -\part{Refraction} +\section{Refraction} -\section{\CMD{refractionRay}} +\section{\nxLcs{refractionRay}} The syntax is -\medskip -\verb|\refractionRay(A)(B)(C)(D){n1}{n2}{EndNode}| -\medskip +\begin{BDef} +\Lcs{refractionRay}\Largr{A}\Largr{B}\Largr{C}\Largr{D}\Largb{n1}\Largb{n2}\Largb{EndNode} +\end{BDef} The macro uses the law of Snell @@ -791,174 +594,149 @@ where the $n_1$ and $n_2$ are the refraction numbers with the predefined values and $\alpha$ the incoming abd $\beta$ the outgoing angle of the ray. -The refractionnumbers have the internal names \verb|refractA| and \verb|refractB|. - -A total reflection instead of a refraction is possible, when the ray starts in a medium with a higher refrectionnumber. This happens when $\sin\beta>1$ in equ.\ref{snell}. In this case we have $\alpha =\beta$, a total reflection. - - -\begin{multicols}{2} - -\begin{pspicture}(5,5) - \psgrid - \pnode(0.5,1.5){A}\qdisk(A){2pt}\uput[90](A){A} - \pnode(2,3){B}\qdisk(B){2pt}\uput[90](B){B} - \psline[linewidth=1.5pt,linecolor=red]{->}(A)(B) - \pnode(3,5){C}\qdisk(C){2pt}\uput[225](C){C} - \pnode(4,0){D}\qdisk(D){2pt}\uput[135](D){D} - \pspolygon[fillstyle=solid,% - fillcolor=lightgray,% - linecolor=lightgray](C)(D)(5,0)(5,5)(C) - \psline[linewidth=1.5pt,linecolor=red](C)(D) - \rput(2,2){\Large$n_1$} - \rput(4.5,2){\Large$n_2$} - \refractionRay(A)(B)(C)(D){1}{4}{E} - \psline[linestyle=dashed,linecolor=red](B)(E) - \psline[linestyle=dashed,linecolor=red](E)(E') - \qdisk(E){2pt}\uput[-20](E){E} - \qdisk(E'){2pt}\uput[-90](E'){E'} +The refractionnumbers have the internal names \Lnotation{refractA} and \Lnotation{refractB}. + +A total reflection instead of a refraction is possible, +when the ray starts in a medium with a higher refrectionnumber. This happens when +$\sin\beta>1$ in Equ.~\ref{snell}. In this case we have $\alpha =\beta$, a +total reflection. + + +\begin{LTXexample}[width=5cm,pos=l,wide=false] +\begin{pspicture}[showgrid=true](5,5) +\pnode(0.5,1.5){A}\qdisk(A){2pt}\uput[90](A){A} +\pnode(2,3){B}\qdisk(B){2pt}\uput[90](B){B} +\psline[linewidth=1.5pt,linecolor=red]{->}(A)(B) +\pnode(3,5){C}\qdisk(C){2pt}\uput[225](C){C} +\pnode(4,0){D}\qdisk(D){2pt}\uput[135](D){D} +\pspolygon[fillstyle=solid,fillcolor=lightgray, + linecolor=lightgray](C)(D)(5,0)(5,5)(C) +\psline[linewidth=1.5pt,linecolor=red](C)(D) +\rput(2,2){\Large$n_1$} \rput(4.5,2){\Large$n_2$} +\refractionRay(A)(B)(C)(D){1}{4}{E} +\psline[linestyle=dashed,linecolor=red](B)(E) +\psline[linestyle=dashed,linecolor=red](E)(E') +\qdisk(E){2pt}\uput[-20](E){E} +\qdisk(E'){2pt}\uput[-90](E'){E'} \end{pspicture} - +\end{LTXexample} 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}| -\medskip +\begin{BDef} +\Lcs{refractionRay}\Largr{A}\Largr{B}\Largr{C}\Largr{D}\Largb{1}\Largb{4}\Largb{E} +\end{BDef} \begin{align}n_1&<n_2\end{align} -\end{multicols} - -It is no problem to draw a ray which is going straight through another medium. It can be done by using the macro twice as shown in the following examples. - -\section{Total Reflection} +It is no problem to draw a ray which is going straight through another medium. +It can be done by using the macro twice as shown in the following examples. +\subsection{Total Reflection} -\begin{multicols}{2} -\begin{pspicture}(5,5) - \psgrid - \pnode(0.5,1.5){A} - \pnode(2,3){B} - \pnode(3,5){C} - \pnode(4,0){D} - \pspolygon[fillstyle=solid,% - fillcolor=lightgray,% - linecolor=lightgray](C)(D)(0,0)(0,5)(C) - \qdisk(A){2pt}\uput[90](A){A} - \qdisk(B){2pt}\uput[90](B){B} - \qdisk(C){2pt}\uput[225](C){C} - \qdisk(D){2pt}\uput[135](D){D} - \psline[linewidth=1.5pt,linecolor=red]{->}(A)(B) - \psline[linewidth=1.5pt,linecolor=red](C)(D) - \rput(2,2){\Large$n_1$} - \rput(4.5,2){\Large$n_2$} - \refractionRay(A)(B)(C)(D){4}{1}{E} - \psline[linestyle=dashed,linecolor=red](B)(E) - \psline[linestyle=dashed,linecolor=red](E)(E') - \qdisk(E){2pt}\uput[-20](E){E} - \qdisk(E'){2pt}\uput[-90](E'){E'} +\begin{LTXexample}[width=5cm,pos=l,wide=false] +\begin{pspicture}[showgrid=true](5,5) +\pnode(0.5,1.5){A}\pnode(2,3){B} +\pnode(3,5){C} \pnode(4,0){D} +\pspolygon[fillstyle=solid,fillcolor=lightgray, + linecolor=lightgray](C)(D)(0,0)(0,5)(C) +\qdisk(A){2pt}\uput[90](A){A} +\qdisk(B){2pt}\uput[90](B){B} +\qdisk(C){2pt}\uput[225](C){C} +\qdisk(D){2pt}\uput[135](D){D} +\psline[linewidth=1.5pt,linecolor=red]{->}(A)(B) +\psline[linewidth=1.5pt,linecolor=red](C)(D) +\rput(2,2){\Large$n_1$}\rput(4.5,2){\Large$n_2$} +\refractionRay(A)(B)(C)(D){4}{1}{E} +\psline[linestyle=dashed,linecolor=red](B)(E) +\psline[linestyle=dashed,linecolor=red](E)(E') +\qdisk(E){2pt}\uput[-20](E){E} +\qdisk(E'){2pt}\uput[-90](E'){E'} \end{pspicture} +\end{LTXexample} In the figure the macro was called as -\medskip -\verb|\refractionRay(A)(B)(C)(D){4}{1}{E}| -\medskip +\begin{lstlisting}[style=syntax] +\refractionRay(A)(B)(C)(D){4}{1}{E} +\end{lstlisting} \begin{align}n_1&>n_2\end{align} -\end{multicols} -\part{Prism} -\newcommand\cadre[1]{% - \psframebox[fillstyle=solid,fillcolor=black]{\textcolor{white}{\texttt{#1}}}} +\section{Prism} This command allows to simulate the deviation of a mono-chromatic light ray with a prism. There are only few parameters. The indicated values are the default ones. -\begin{itemize} -\item The angle to the top of prism : \cadre{AnglePrism=60}. -\item The angle between the plane (1), where the tranmitter takes - place, and the vertical : \cadre{AnglePlan}. Negative - values are allowed. -\item The angle between the plane (2) (the screen), and the vertical : - \cadre{+AnglePlan2=55}. Negative values are allowed. -\item Position of transmitter relative to choosen origin $C_1$ on the - plane : $\overrightarrow{C_1E_1} = k\overrightarrow{u_1}$, \cadre{k=1}. -\item The wavelength \cadre{lambda=632.8}, in nm. -\item The plane where transmitting source takes place, with all + +\smallskip\noindent +\begin{tabularx}{\linewidth}{@{} l X l @{}} +\emph{name} & \emph{meaning} & \emph{default} \\\hline +\Lkeyword{AnglePrism} & The angle to the top of prism. & 60\\ +\Lkeyword{AnglePlan1} & The angle between the plane (1), where the tranmitter takes + place, and the vertical. Negative values are allowed. & 25 \\ +\Lkeyword{AnglePlan2} & The angle between the plane (2) (the screen), and the vertical. + Negative values are allowed. & 55\\ +\Lkeyword{k} & Position of transmitter relative to choosen origin $C_1$ on the + plane : $\overrightarrow{C_1E_1} = k\overrightarrow{u_1}$. & 1 \\ +\Lkeyword{lambda} & The wavelength , in nm. & 632.8 \\ +\Lkeyword{notations} & The plane where transmitting source takes place, with all indications, origin, angle, etc., as well as the screen are displayed by default. This can be useful in order to finalize a figure, but it is possible to deactivate this feature with the - option \cadre{[notations=false]} -\end{itemize} -Thanks to the \cadre{AnglePlan1}, the incident ray direction can be changed. The incidence spot changes according to \cadre{k}. + option. & \false\\\hline +\end{tabularx} + +\bigskip +With \Lkeyword{AnglePlan1} the incident ray direction can be changed. The incidence spot changes according to \Lkeyword{k}. The outline of processing we have adopted is the Gernot Hoffmann -one. He details it in its document : +one. For more details look into the document: \url{http://www.fho-emden.de/~hoffmann/prism16072005.pdf} -\section{Figure with Default Values and Construction Indications} - -\begin{lstlisting} -\psframebox{% - \begin{pspicture*}(-8,-2)(8,8) - \psprism - \end{pspicture*}} -\end{lstlisting} +\subsection{Figure with default values and construction indications} -\begin{center} -\psframebox{% -\begin{pspicture*}(-8,-2)(8,8) -\psprism% -\end{pspicture*}} -\end{center} +\begin{LTXexample}[wide=false] +\begin{pspicture*}(-8,0)(8,8) +\psprism +\end{pspicture*} +\end{LTXexample} -\section{Figure with Default Values, without Construction Indications} +\subsection{Figure with default values, without construction indications} -\begin{lstlisting} -\psframebox{% - \begin{pspicture*}(-8,-2)(8,8) - \psprism[notations=false] - \end{pspicture*}} -\end{lstlisting} +\begin{LTXexample}[wide=false] +\begin{pspicture*}(-8,0)(8,6) +\psprism[notations=false] +\end{pspicture*} +\end{LTXexample} -\begin{center} -\psframebox{% - \begin{pspicture*}(-8,-2)(8,8) - \psprism[notations=false]% - \end{pspicture*}} -\end{center} +\subsection{Color matches wavelength} -\section{Color matches Wavelength} -\begin{lstlisting} -\begin{pspicture*}(-7,-2)(7,8) - \psprismColor[lambda=530]% +\begin{LTXexample}[wide=false] +\begin{pspicture*}(-8,0)(8,8) +\psprism[lambda=530]% \end{pspicture*} -\end{lstlisting} +\end{LTXexample} -\begin{center} -\psframebox{% - \begin{pspicture*}(-8,-2)(8,8) - \psprism[lambda=530]% - \end{pspicture*}} -\end{center} -\section{What is not Planned!} -We have not planned physical impossibilities. When $r_2$ is greater +Note: we have not planned physical impossibilities. When $r_2$ is greater than the limit angle, there is no transmission in air, and it's impossible to calculate $i_2$. Then, we have a PostScript message: + + + \begin{lstlisting} Displaying page 1 Displaying page 2 @@ -968,87 +746,77 @@ Error: /rangecheck in --sqrt-- Operand stack: alpha2 -1.02701 -0.0547467 \end{lstlisting} -We remind you that \cadre{alpha2} is $i_2$. +We remind you that \Lkeyword{alpha2} is $i_2$. -For instance, \cadre{\texttt{AnglePrism=65}}, other default parameters -remains unchanged. +For instance, \Lkeyword{AnglePrism}=65, other default parameters remains unchanged. -\begin{lstlisting} -\psframebox{% - \begin{pspicture*}(-7,-2)(7,8) - \psprism[AnglePrism=65] - \end{pspicture*}} -\end{lstlisting} +\begin{LTXexample}[wide=false] +\begin{pspicture*}(-7,-0.2)(7,8) +\psprism[AnglePrism=65] +\end{pspicture*} +\end{LTXexample} It will become right when we change the incident ray slope: -\begin{lstlisting} -\psframebox{% - \begin{pspicture*}(-7,-2)(7,8) - \psprism[AnglePrism=65,AnglePlan1=51,k=-1.5] - \end{pspicture*}} -\end{lstlisting} - -\begin{center} -\psframebox{% -\begin{pspicture*}(-8,-2)(8,8) +\begin{LTXexample}[wide=false] +\begin{pspicture*}(-8,-0.2)(8,8) \psprism[AnglePrism=65,AnglePlan1=51,k=-1.5] -\end{pspicture*}} -\end{center} +\end{pspicture*} +\end{LTXexample} -We choose \cadre{k=-1.5} in order to have a incident ray +We choose \Lkeyword{k}=-1.5 in order to have a incident ray which strikes (?) the input side roudly in its center. But, in these particular cases, the physicist know-how is important (\emph{bis repetita}). Isn't it? -\part{Spherical Optic} - - -\section{\CMD{lensSPH}} -\subsection{Convergent Lens} +\section{Spherical Optic} +\subsection{\nxLcs{lensSPH}} The syntax is -\bigskip +\begin{BDef} +\Lcs{lensSPH}\OptArgs +\end{BDef} -\verb|\lensSPH[<Options>]|\\ -\verb|\lensSPH[lensType=CVG,<Options>]| -\bigskip +It changes some default values for the options to: -Without any option it draws a spherical convergent lens: -\bigskip -\lensSPH[lensType=CVG] -\bigskip +\begin{center} +\begin{tabular}{@{} lll @{}} +\textbf{meaning} & \textbf{name} & \textbf{default}\\\hline +Object Distance in cm & \Lkeyword{OA} & -7 \\ +Lens Height in cm & \Lkeyword{lensHeight} & 6 \\ +Lens Width in cm & \Lkeyword{lensWidth} & 1.5\\ +Refraction Number $n_2$ & \Lkeyword{refractB} & 2 +\end{tabular} +\end{center} -It changes some default values for the options to: -\begin{tabular}{lll} -\textbf{Meaning} & \textbf{Name} & \textbf{Default}\\\hline -Object Distance in cm & OA & -7 \\ -Lens Height in cm & lensHeight & 6 \\ -Lens Width in cm & lensWidth & 1.5\\ -Refraction Number $n_2$ & refractB & 2 -\end{tabular} +\subsubsection{Convergent Lens} +Without any option it draws a spherical convergent lens. \Lcs{lensSPH} is equivilant to +\Lcs{lensSPH}\Largs{\Lkeyset{lensType=CVG}}. +\begin{LTXexample}[wide=false] +\lensSPH +\end{LTXexample} -\subsection{Divergent Lens} +\subsubsection{Divergent Lens} The syntax is -\medskip -\verb|\lensSPH[lensType=DVG,<Options>]| -\medskip +\begin{BDef} +\Lcs{lensSPH}\OptArg{\Lkeyset{lensType=DVG},\ldots} +\end{BDef} It draws a spherical divergent lens: -\bigskip +\begin{LTXexample}[wide=false] \lensSPH[lensType=DVG,lensWidth=0.5] -\bigskip +\end{LTXexample} It changes some default values for the options in the same way as for the convergent lens. @@ -1070,379 +838,245 @@ where the $n_1$ and $n_2$ are the refraction numbers with the predefined values and $\alpha$ the incoming abd $\beta$ the outgoing angle of the ray. -The refractionnumbers have the internal names \verb|refractA| and \verb|refractB|. +The refractionnumbers have the internal names \Lnotation{refractA} and \Lnotation{refractB}. +\clearpage -\section{\CMD{mirrorCVG}} +\section{\nxLcs{mirrorCVG}} The syntax is -\bigskip -\verb|\mirrorCVG[mirrorType=SPH]| -\bigskip +\begin{BDef} +\Lcs{mirrorCVG}\OptArg{\Lkeyset{mirrorType=SPH}} +\end{BDef} \resetOpticOptions +\begin{LTXexample}[wide=false] \mirrorCVG[mirrorType=SPH] +\end{LTXexample} -Without the option \verb|mirrorType=SPH| you'll get a parabolic mirror, which is the default. +Without the option \Lkeyset{mirrorType=SPH} you'll get a parabolic mirror, which is the default. -\section{\CMD{mirrorDVG}} +\section{\nxLcs{mirrorDVG}} The syntax is -\bigskip -\verb|\mirrorDVG[mirrorType=SPH]| -\bigskip - - +\begin{BDef} +\Lcs{mirrorDVG}\OptArg{\Lkeyset{mirrorType=SPH}} +\end{BDef} +\begin{LTXexample}[wide=false] \mirrorDVG[mirrorType=SPH] +\end{LTXexample} -Without the option \verb|mirrorType=SPH| you'll get a parabolic mirror (option PARA). +Without the option \Lkeyset{mirrorType=SPH} you'll get a parabolic mirror (option PARA). -\section{\CMD{ABinterSPHLens}} +\section{\nxLcs{ABinterSPHLens}} The syntax is -\bigskip -\verb|\ABinterSPHLens(A)(B)(Center){NodeName}| -\bigskip -\begin{pspicture}(-6,-3)(6,3) - \rput(0,0){\lensSPH[lensType=CVG,lensHeight=8,lensWidth=3,drawing=false]} - \qdisk(Center){2pt}\uput[-90](Center){Center} - \qdisk(Center'){2pt}\uput[-90](Center'){Center'} - \pnode(-5,1){A}\qdisk(A){2pt}\uput[90](A){A} - \pnode(-3,0){B}\qdisk(B){2pt}\uput[90](B){B} - \psline[linewidth=1.5pt,linecolor=red]{->}(A)(B) - \pnode(5,-2.5){C}\qdisk(C){2pt}\uput[90](C){C} - \pnode(3,-2){D}\qdisk(D){2pt}\uput[90](D){D} - \psline[linewidth=1.5pt,linecolor=red]{->}(C)(D) - \rput(-4.5,2){\Large $n_1$} - \rput(0,2){\Large $n_2$} - \rput(4.5,2){\Large $n_1$} - \ABinterSPHLens(A)(B)(Center'){E} - \ABinterSPHLens(C)(D)(Center){F} - \psline[linestyle=dashed,linecolor=red](B)(E) - \psline[linestyle=dashed,linecolor=red](D)(F) - \qdisk(E){2pt}\uput[-20](E){E} - \qdisk(F){2pt}\uput[-90](F){F} - \psgrid +\begin{LTXexample}[wide=false] +\begin{pspicture}[showgrid=true](-6,-3)(6,3) +\rput(0,0){\lensSPH[lensType=CVG,lensHeight=8,lensWidth=3,drawing=false]} +\qdisk(Center){2pt}\uput[-90](Center){Center} +\qdisk(Center'){2pt}\uput[-90](Center'){Center'} +\pnode(-5,1){A}\qdisk(A){2pt}\uput[90](A){A} +\pnode(-3,0){B}\qdisk(B){2pt}\uput[90](B){B} +\psline[linewidth=1.5pt,linecolor=red]{->}(A)(B) +\pnode(5,-2.5){C}\qdisk(C){2pt}\uput[90](C){C} +\pnode(3,-2){D}\qdisk(D){2pt}\uput[90](D){D} +\psline[linewidth=1.5pt,linecolor=red]{->}(C)(D) +\rput(-4.5,2){\Large $n_1$}\rput(0,2){\Large $n_2$}\rput(4.5,2){\Large $n_1$} +\ABinterSPHLens(A)(B)(Center'){E}\ABinterSPHLens(C)(D)(Center){F} +\psline[linestyle=dashed,linecolor=red](B)(E) +\psline[linestyle=dashed,linecolor=red](D)(F) +\qdisk(E){2pt}\uput[-20](E){E}\qdisk(F){2pt}\uput[-90](F){F} \end{pspicture} - +\end{LTXexample} 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 -\verb|\ABinterSPHLens(A)(B)(Center'){E}| -\verb|\ABinterSPHLens(C)(D)(Center){F}| +\begin{lstlisting}[style=syntax] +\ABinterSPHLens(A)(B)(Center'){E} +\ABinterSPHLens(C)(D)(Center){F} +\end{lstlisting} -\bigskip -\section{\CMD{lensSPHRay}} +\section{\nxLcs{lensSPHRay}} The syntax is -\bigskip -\verb|\lensSPHRay[Option](A)(B){refractA}{refractB}{NodeName}| -\bigskip - -This macro calculates the coordinates of the given ray $\overline{\mathrm{AB}}$ on its way into the lens. The only possible option \verb*rightRay=false|true*\footnote{Default is \texttt{false}} enables rays from the right to the left. There are still some problems with this option but try it out. - - - -\bigskip - -\begin{pspicture*}(-5,-3)(7,3) - \psgrid - \rput(0,0){\lensSPH[lensType=CVG,lensHeight=8,lensWidth=3,drawing=false]} - \qdisk(Center){2pt}\uput[-90](Center){Center} - \qdisk(Center'){2pt}\uput[-90](Center'){Center'} - \pnode(-4,1){A}\qdisk(A){2pt}\uput[90](A){A} - \pnode(-2,0.5){B}\qdisk(B){2pt}\uput[90](B){B} - \rput(-4.5,2.5){\Large $n_1$} - \rput(0,2.5){\Large $n_2=1.5$} - \rput(4,2.5){\Large $n_1=1$} - \multido{\rA=3+-0.5,\rB=2.5+-0.5}{9}{% - \lensSPHRay[rightRay=false](-4,\rA)(-2,\rB){1}{1.5}{F} - \psline[linewidth=1.5pt,linecolor=red]{->}(-4,\rA)(F) - \psline[linestyle=dashed,linecolor=red](-4,\rA)(F)(F')(F'') - \psOutLine[linestyle=dashed,linecolor=red,length=4.5](F')(F''){FEnd} - } - \psline[linewidth=1.5pt,linecolor=blue]{->}(A)(B) - \lensSPHRay[lensType=CVG](A)(B){1}{1.5}{E} - \psline[linestyle=dashed,linecolor=blue](B)(E)(E')(E'') - \qdisk(E){2pt}\uput[-20](E){E} - \qdisk(E'){2pt}\uput[-20](E'){E'} - \qdisk(E''){2pt}\uput[-20](E''){E''} +\begin{BDef} +\Lcs{lensSPHRay}\OptArgs\Largr{A}\Largr{B}\Largb{refractA}\Largb{refractB}\Largb{NodeName} +\end{BDef} + +This macro calculates the coordinates of the given ray $\overline{\mathrm{AB}}$ on its way +into the lens. The only possible option \Lkeyword{rightRay}=\false|\true\footnote{Default is \texttt{false}} +enables rays from the right to the left. There are still some problems with this option but try it out. + +\begin{LTXexample} +\begin{pspicture*}[showgrid=true](-5,-3)(7,3) +\rput(0,0){\lensSPH[lensType=CVG,lensHeight=8,lensWidth=3,drawing=false]} +\qdisk(Center){2pt}\uput[-90](Center){Center} +\qdisk(Center'){2pt}\uput[-90](Center'){Center'} +\pnode(-4,1){A}\qdisk(A){2pt}\uput[90](A){A} +\pnode(-2,0.5){B}\qdisk(B){2pt}\uput[90](B){B} +\rput(-4.5,2.5){\Large $n_1$}\rput(0,2.5){\Large $n_2=1.5$}\rput(4,2.5){\Large $n_1=1$} +\multido{\rA=3+-0.5,\rB=2.5+-0.5}{9}{% + \lensSPHRay[rightRay=false](-4,\rA)(-2,\rB){1}{1.5}{F} + \psline[linewidth=1.5pt,linecolor=red]{->}(-4,\rA)(F) + \psline[linestyle=dashed,linecolor=red](-4,\rA)(F)(F')(F'') + \psOutLine[linestyle=dashed,linecolor=red,length=4.5](F')(F''){FEnd}} +\psline[linewidth=1.5pt,linecolor=blue]{->}(A)(B) +\lensSPHRay[lensType=CVG](A)(B){1}{1.5}{E} +\psline[linestyle=dashed,linecolor=blue](B)(E)(E')(E'') +\qdisk(E){2pt}\uput[-20](E){E}\qdisk(E'){2pt}\uput[-20](E'){E'} +\qdisk(E''){2pt}\uput[-20](E''){E''} \end{pspicture*} - - -\bigskip +\end{LTXexample} And the same with $n_2=3$: - -\bigskip - - -\begin{pspicture*}(-5,-3)(7,3) - \psgrid - \rput(0,0){\lensSPH[lensType=CVG,lensHeight=8,lensWidth=3,drawing=false]} - \qdisk(Center){2pt}\uput[-90](Center){Center} - \qdisk(Center'){2pt}\uput[-90](Center'){Center'} - \pnode(-4,1){A}\qdisk(A){2pt}\uput[90](A){A} - \pnode(-2,0.5){B}\qdisk(B){2pt}\uput[90](B){B} - \rput(-4.5,2.5){\Large $n_1$} - \rput(0,2.5){\Large $n_2=3$} - \rput(4,2.5){\Large $n_1=1$} - \multido{\rA=3+-0.5,\rB=2.5+-0.5}{11}{% - \lensSPHRay[rightRay=false](-4,\rA)(-2,\rB){1}{3}{F} - \psline[linewidth=1.5pt,linecolor=red]{->}(-4,\rA)(F) - \psline[linestyle=dashed,linecolor=red](-4,\rA)(F)(F')(F'') - \psOutLine[linestyle=dashed,linecolor=red](F')(F''){FEnd} - } - \psline[linewidth=1.5pt,linecolor=blue]{->}(A)(B) - \lensSPHRay[lensType=CVG](A)(B){1}{3}{E} - \psline[linestyle=dashed,linecolor=blue](B)(E)(E')(E'') - \qdisk(E){2pt}\uput[-20](E){E} - \qdisk(E'){2pt}\uput[-20](E'){E'} - \qdisk(E''){2pt}\uput[-20](E''){E''} +\begin{LTXexample} +\begin{pspicture*}[showgrid=true](-5,-3)(7,3) +\rput(0,0){\lensSPH[lensType=CVG,lensHeight=8,lensWidth=3,drawing=false]} +\qdisk(Center){2pt}\uput[-90](Center){Center} +\qdisk(Center'){2pt}\uput[-90](Center'){Center'} +\pnode(-4,1){A}\qdisk(A){2pt}\uput[90](A){A} +\pnode(-2,0.5){B}\qdisk(B){2pt}\uput[90](B){B} +\rput(-4.5,2.5){\Large $n_1$}\rput(0,2.5){\Large $n_2=3$}\rput(4,2.5){\Large $n_1=1$} +\multido{\rA=3+-0.5,\rB=2.5+-0.5}{11}{% + \lensSPHRay[rightRay=false](-4,\rA)(-2,\rB){1}{3}{F} + \psline[linewidth=1.5pt,linecolor=red]{->}(-4,\rA)(F) + \psline[linestyle=dashed,linecolor=red](-4,\rA)(F)(F')(F'') + \psOutLine[linestyle=dashed,linecolor=red](F')(F''){FEnd}} +\psline[linewidth=1.5pt,linecolor=blue]{->}(A)(B) +\lensSPHRay[lensType=CVG](A)(B){1}{3}{E} +\psline[linestyle=dashed,linecolor=blue](B)(E)(E')(E'') +\qdisk(E){2pt}\uput[-20](E){E}\qdisk(E'){2pt}\uput[-20](E'){E'} +\qdisk(E''){2pt}\uput[-20](E''){E''} \end{pspicture*} +\end{LTXexample} +\clearpage - -\section{\CMD{reflectionRay}} +\section{\nxLcs{reflectionRay}} The syntax is -\bigskip -\verb|\reflectionRay[Option](A)(B){NodeName}| -\bigskip +\begin{BDef} +\Lcs{reflectionRay}\OptArgs\Largr{A}\Largr{B}\Largb{NodeName} +\end{BDef} -This macro calculates the coordinates of the given ray $\overline{\mathrm{AB}}$ on its way out of the mirror. The only senseful option is \verb$mirrorType=CVG|DVG$. The most important fact is that the point \verb|B| must be the one on the mirror. If you do not know it's coordinates you can use the macro \verb|ABinterSPHLens[lensType=CVG](A1)(A2)(Center){NodeName)|, which calculates the coordinates of the intermediate point. - -\bigskip +This macro calculates the coordinates of the given ray $\overline{\mathrm{AB}}$ +on its way out of the mirror. The only senseful option is \Lkeyset{mirrorType=CVG} or \Lkeyset{mirrorType=DVG}. +The most important fact is that the point \verb|B| must be the one on the mirror. +If you do not know it's coordinates you can use the macro +\verb|ABinterSPHLens[lensType=CVG](A1)(A2)(Center){NodeName)|, which calculates the coordinates of the intermediate point. -\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 -\end{pspicture*} - -\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 +\begin{LTXexample} +\begin{pspicture*}[showgrid=true](-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) \end{pspicture*} -\end{lstlisting} - +\end{LTXexample} -\section{Refraction at a Spherical Surface} - -\subsection[Simple Example]{Construction for finding the position of the image point P' of a point object P formed by refraction at a sperical surface} - - -\begin{pspicture*}(-10,-4)(3,4) - \psgrid[subgriddiv=0,griddots=5,gridlabels=7pt] - \rput(0,0){\lensSPH[% - lensType=CVG,% - lensHeight=12,% - lensWidth=10,% - yBottom=-6,yTop=6,xLeft=-6,xRight=6,% - 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*} +\clearpage +\subsection{Refraction at a Spherical surface} -\bigskip +Construction for finding the position of the image point P' of a point object P formed by refraction at a sperical surface. -\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]} +\begin{LTXexample} +\begin{pspicture*}[showgrid=true](-10,-4)(3,4) +\rput(0,0){% + \lensSPH[lensType=CVG,lensHeight=12,lensWidth=10,yBottom=-6,yTop=6,xLeft=-6,xRight=6,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) +\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} - +\end{pspicture*} +\end{LTXexample} -\subsection[Height of an Image]{Construction for determining the height of an image formed by refraction at a sperical surface} -\begin{pspicture*}[showgrid=true](-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*} +\clearpage +Construction for determining the height of an image formed by refraction at a sperical surface. -\bigskip -\begin{lstlisting} +\begin{LTXexample} \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]} +\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'} +\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} +\uput[90](P'){P'}\uput[-90](Q'){Q'}\psdots(Center')\uput[90](Center'){C} \end{pspicture*} -\end{lstlisting} +\end{LTXexample} +\section{Utility Macros} -\part{Utility Macros} - -\section{\texttt{\textbackslash eye}} +\subsection{\nxLcs{eye}} Syntax: -\begin{verbatim} -\eye -\end{verbatim} -There are no Options for this symbol of an human eye (figure \ref{fig:auge}). - -\begin{figure}[htb] -\centering% -\begin{pspicture}(-1,-0.75)(1,0.75) - \rput(1,0){\eye} -\end{pspicture} -\caption{The \texttt{\textbackslash eye}-Macro}\label{fig:auge} -\end{figure} - -Use the \verb|\rput|-macro to put the eye elsewhere: +\begin{BDef} +\Lcs{eye} +\end{BDef} +There are no Options for this symbol of an human eye (Figure~\ref{fig:auge}). +Use the \Lcs{rput}-macro to put the eye elsewhere. -\begin{lstlisting} +\begin{LTXexample}[width=2cm,pos=l,wide=false] \begin{pspicture}(-1,-0.75)(1,0.75) \rput(1,0){\eye} \end{pspicture} -\end{lstlisting} +\end{LTXexample} +\section{\nxLcs{Arrows}} +Syntax wirh the following options: -\section{\texttt{\textbackslash Arrows}} +\begin{BDef} +\Lcs{Arrows}\OptArgs\Largr{NodeA}\Largr{NodeB} +\end{BDef} -Syntax: +\begin{center} +\begin{tabular}{@{} l l l @{}} +\emph{Option} & \emph{Name} & \emph{Standard}\\\hline +Offset for arrow start in cm & \Lkeyword{posStart} & 0\\ +Length of the arrow in cm & \Lkeyword{length} & 2\\\hline +\end{tabular} +\end{center} -\begin{verbatim} -\Arrows[Options](NodeA)(NodeB) -\end{verbatim} -\begin{table}[!htb] - \centering - \begin{tabular}{l|l|l} - \textbf{Option} & \textbf{Name} & \textbf{Standard}\\\hline - Offset for arrow start in cm & posStart & 0\\ - Length of the arrow in cm & length & 2\\\hline - \end{tabular} - \caption{Options for the \texttt{Arrows}-Macro}\label{tab:Arrows} -\end{table} -\begin{figure}[!htb] -\centering -\begin{pspicture}(-3,-3)(3,3) -\psgrid[subgriddiv=0, griddots=5,gridlabels=5pt] + +\begin{LTXexample}[width=6cm,pos=l] +\begin{pspicture}[showgrid=true](-3,-3)(3,3) \psset{linecolor=red} \Arrows[posStart=2,length=4](-3,-3)(3,3) \qdisk(-3,-3){2pt}\uput[45](-3,-3){A} @@ -1456,37 +1090,29 @@ Syntax: \qdisk(3,0){2pt}\uput[-90](3,0){A} \qdisk(2,3){2pt}\uput[-90](2,3){B} \psset{linecolor=black} -\Arrows[posStart=1,linewidth=5pt,linestyle=dotted,length=3](-3,2)(1,2) +\Arrows[posStart=1,linewidth=5pt,linestyle=dotted, + length=3](-3,2)(1,2) \qdisk(-3,2){2pt}\uput[-45](-3,2){A} \qdisk(1,2){2pt}\uput[-90](1,2){B} \end{pspicture} -\caption{Arrows Demo}\label{fig:Arrows} -\end{figure} +\end{LTXexample} -The code for figure \ref{fig:Arrows}: -\begin{lstlisting} -\Arrows[posStart=2,length=4](-3,-3)(3,3) -\Arrows[linewidth=3pt,length=2](0,-3)(0,0.5) -\Arrows[linewidth=5pt,linestyle=dashed](3,0)(2,3) -\Arrows[posStart=1,linewidth=5pt,linestyle=dotted,length=4](-3,2)(1,2) -\end{lstlisting} -\section{\texttt{\textbackslash psOutLine}} +\section{\nxLcs{psOutLine} and \nxLcs{psBeforeLine}} Syntax: -\begin{verbatim} -\psOutLine[Options](NodeA)(NodeB){EndNode} -\end{verbatim} +\begin{BDef} +\Lcs{psOutLine}\OptArgs\Largr{NodeA}\Largr{NodeB}\Largb{EndNode}\\ +\Lcs{psBeforeLine}\OptArgs\Largr{NodeA}\Largr{NodeB}\Largb{StartNode} +\end{BDef} -The only special option is \verb|length=<avlue>|. All other which are possible for -\verb|\psline| can be used, too. +The only special option is \Lkeyword{length}=\Larga{value}. All other which are possible for +\Lcs{psline} can be used, too. -\begin{figure}[htb] -\centering -\begin{pspicture}(-3,-3)(3,3) -\psgrid[subgriddiv=0, griddots=5,gridlabels=5pt] +\begin{LTXexample}[width=6cm,pos=l] +\begin{pspicture}[showgrid=true](-3,-3)(3,3) \psset{linecolor=red, linewidth=1.5pt} \psOutLine[length=3](-2,-2)(0,0){End} \qdisk(-2,-2){2pt}\uput[80](-2,-2){A} @@ -1498,371 +1124,195 @@ The only special option is \verb|length=<avlue>|. All other which are possible f \qdisk(3,2){2pt}\uput[80](3,2){B} \qdisk(1,0){2pt}\uput[-45](1,0){A} \qdisk(-1.12,-2.12){2pt}\uput[-90](-1.12,-2.12){START} -% \end{pspicture} -\caption{psOutLine and psBeforeLine Demo}\label{fig:psOutLine} -\end{figure} - -The code for figure \ref{fig:psOutLine}: -\begin{lstlisting} -\psOutLine[length=3](-2,-2)(0,0){End} -\end{lstlisting} - - -\section{\texttt{\textbackslash psBeforeLine}} - -Syntax: - -\begin{verbatim} -\psBeforeLine[Options](NodeA)(NodeB){StartNode} -\end{verbatim} - -The only special option is \verb|length=<value>|. All other which are possible for -\verb|\psline| can be used, too. - - -The code for figure \ref{fig:psOutLine}: -\begin{lstlisting} -\psBeforeLine[length=3](0,0)(2,2){START} -\end{lstlisting} +\end{LTXexample} -\section{\texttt{\textbackslash Parallel}} +\section{\nxLcs{Parallel}} Syntax: -\begin{verbatim} -\Parallel[Options](NodeA)(NodeB)(Start node){End node} -\end{verbatim} +\begin{BDef} +\Lcs{Parallel}\OptArgs\Largr{NodeA}\Largr{NodeB}\Largr{StartNode}\Largb{End node} +\end{BDef} -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}). +The only special option for \Lcs{Parallel} is \Lkeyword{length}=\Larga{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. -\begin{lstlisting} +\begin{LTXexample} \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} +\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} -} + \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]% +\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) -} + \psline[length=2,linewidth=2pt,arrows=->](F')(FF)} \end{pspicture*} -\end{lstlisting} - -\begin{figure}[htb] -\centering -\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} +\end{LTXexample} -\section{\texttt{\textbackslash ABinterCD}} +\section{\nxLcs{ABinterCD} and \Lcs{nodeBetween}} -This macro is used by the \verb|\telescop| macro. It determines the intersection +This macro is used by the \Lcs{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 following figure 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 -\verb|\ABinterCD(A)(B)(C)(D){E}| -\par -\bigskip +rays for the ocular, which can be done with the \Lcs{ABinterCD} macro. The syntax is: + + +\begin{BDef} +\Lcs{ABinterCD}\Largr{A}\Largr{B}\Largr{C}\Largr{D}\Largb{E}\\ +\Lcs{nodeBetween}\Largr{A}\Largr{B}\Largb{C} +\end{BDef} + +\begin{LTXexample} +\begin{pspicture*}(-0.5,-2.25)(9,2.25) +\rput(0,0){\mirrorCVG[mirrorHeight=4,mirrorWidth=0.25,mirrorDepth=0.25,drawing=false]} +\mirrorCVGRay[mirrorHeight=4,mirrorWidth=0.25,mirrorDepth=0.25,drawing=false](8,1.25)(2,1.25){A} +\psline[linewidth=0.5\pslinewidth](9,0) +\rput{-45}(6,0){\mirrorTwo} +\qdisk(A){2pt}\uput[30](A){A}\pnode(8,0){B}\qdisk(B){2pt}\uput[-45](B){B} +\pnode(! 6 1 45 cos mul sub 1 45 sin mul){C} +\qdisk(C){2pt}\uput[90](C){C}\pnode(! 6 1 45 cos mul add 1 45 sin mul neg){D} +\uput[-45](D){D}\qdisk(D){2pt}\psline[linestyle=dashed](A)(B) +\ABinterCD(A)(B)(C)(D){Inter1}\qdisk(A){2pt} +\nodeBetween(A)(B){M}\qdisk(M){2pt} +{\psset{linecolor=red} +\qdisk(Inter1){2pt}\uput[220](Inter1){E}\uput[220](M){M}} +\end{pspicture*} +\end{LTXexample} -\begin{figure}[htb] -\centering -\begin{pspicture}*(-0.5,-2.25)(9,2.25) - \rput(0,0){% - \mirrorCVG[% - mirrorHeight=4,% - mirrorWidth=0.25,% - mirrorDepth=0.25,% - drawing=false]% - } - \mirrorCVGRay[% - mirrorHeight=4,% - mirrorWidth=0.25,% - mirrorDepth=0.25,% - drawing=false](8,1.25)(2,1.25){A} - \psline[linewidth=0.5\pslinewidth](9,0) - \rput{-45}(6,0){\mirrorTwo} - \qdisk(A){2pt}\uput[30](A){A} - \pnode(8,0){B} - \qdisk(B){2pt}\uput[-45](B){B} - \pnode(! 6 1 45 cos mul sub 1 45 sin mul){C} - \qdisk(C){2pt}\uput[90](C){C} - \pnode(! 6 1 45 cos mul add 1 45 sin mul neg){D} - \uput[-45](D){D}\qdisk(D){2pt} - \psline[linestyle=dashed](A)(B) - \ABinterCD(A)(B)(C)(D){Inter1}\qdisk(A){2pt} - \nodeBetween(A)(B){M}\qdisk(M){2pt} - {\psset{linecolor=red} - \qdisk(Inter1){2pt}\uput[220](Inter1){E}\uput[220](M){M}} -\end{pspicture} -\caption{\texttt{\textbackslash ABinterCD}-Makro}% -\label{fig:ABinterCD} -\end{figure} - - -\section{\texttt{\textbackslash nodeBetween}} - -This macro determines the coordinates of the center of a line. The syntax is: -\par -\verb|\nodeBetween(A)(B){C}| -\par - -Figure \ref{fig:ABinterCD} shows an example, where the node \verb|M| was determined by the \verb|\nodeBetween| macro. - - - -\section{\CMD{rotateNode}} +\section{\nxLcs{rotateNode}} The syntax is -\medskip -\verb|\rotateNode{NodeName}{Degrees}| -\medskip +\begin{BDef} +\Lcs{rotateNode}\Largb{NodeName}\Largb{Degrees} +\end{BDef} The coordinates of the node \verb|A| are changed to the new ones. Negative values are possible for rotating clockwise. -\begin{multicols}{2} -\begin{pspicture}(4,4) - \psgrid - \pnode(3,1){A} - \qdisk(A){2pt}\uput[20](A){A} - \rotateNode(A){45} - \qdisk(A){2pt}\uput[20](A){A} - \psarc[linecolor=red,linewidth=0.5pt]{->}(0,0){3.16}{19.47}{64.47} - \rput(2,3.5){\CMD{rotateNode(A)\{45\}}} -\end{pspicture} - -\begin{lstlisting} -\begin{pspicture}(4,4) -\pnode(3,1){A} -\qdisk(A){2pt}\uput[20](A){A} +\begin{LTXexample}[width=4cm,pos=l] +\begin{pspicture}[showgrid=true](4,4) +\pnode(3,1){A}\qdisk(A){2pt}\uput[20](A){A} \rotateNode(A){45} \qdisk(A){2pt}\uput[20](A){A} +\psarc[linecolor=red, + linewidth=0.5pt]{->}(0,0){3.16}{19.47}{64.47} \end{pspicture} -\end{lstlisting} - -\end{multicols} +\end{LTXexample} -\section{\CMD{rotateTriangle}} +\section{\nxLcs{rotateTriangle}} The syntax is -\medskip -\verb|\rotateNode{NodeNameA}{NodeNameB}{NodeNameC}{Degrees}| -\medskip +\begin{BDef} +\Lcs{rotateNode}\Largb{NodeNameA}\Largb{NodeNameB}\Largb{NodeNameC}\Largb{Degrees} +\end{BDef} The coordinates of the nodes \verb|A,B,C| are changed to the new ones. Negative values are possible for rotating clockwise. -\begin{multicols}{2} - -\begin{pspicture}(-1,0)(4,4) - \psgrid - \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) - \psarc[linecolor=red,linewidth=0.5pt]{->}(0,0){3.16}{19.47}{64.47} - \psarc[linecolor=red,linewidth=0.5pt]{->}(0,0){1.41}{45}{90} - \psarc[linecolor=red,linewidth=0.5pt]{->}(0,0){3.61}{56.31}{101.31} - \rput(1.5,0.5){\CMD{rotateNode(A)(B)(C)\{45\}}} -\end{pspicture} - - -\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} +\begin{LTXexample}[width=5cm,pos=l] +\begin{pspicture}[showgrid=true](-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) +\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) +\psarc[linecolor=red,linewidth=0.5pt]{->}(0,0){3.16}{19.47}{64.47} +\psarc[linecolor=red,linewidth=0.5pt]{->}(0,0){1.41}{45}{90} +\psarc[linecolor=red,linewidth=0.5pt]{->}(0,0){3.61}{56.31}{101.31} \end{pspicture} -\end{lstlisting} - -\end{multicols} +\end{LTXexample} -\section{\CMD{rotateFrame}} +\section{\nxLcs{rotateFrame}} The syntax is -\medskip -\verb|\rotateNode{NodeNameA}{NodeNameB}{NodeNameC}{NodeNameD}{Degrees}| -\medskip +\begin{BDef} +\Lcs{rotateFrame}\Largb{NodeNameA}\Largb{NodeNameB}\Largb{NodeNameC}\Largb{NodeNameD}\Largb{Degrees} +\end{BDef} The coordinates of the nodes \verb|A,B,C,D| are changed to the new ones. Negative values are possible for rotating clockwise. -\clearpage - -\begin{multicols}{2} -\begin{pspicture}(-2,0)(4,5) - \psgrid - \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) - \psarc[linecolor=red,linewidth=0.5pt]{->}(0,0){3.16}{19.47}{64.47} - \psarc[linecolor=red,linewidth=0.5pt]{->}(0,0){1.41}{45}{90} - \psarc[linecolor=red,linewidth=0.5pt]{->}(0,0){4.24}{45}{90} - \psarc[linecolor=red,linewidth=0.5pt]{->}(0,0){3.16}{71.57}{116.57} - \rput(1,0.5){\CMD{rotateNode(A)(B)(C)(D)\{45\}}} -\end{pspicture} - - -\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} +\begin{LTXexample}[width=6cm,pos=l] +\begin{pspicture}[showgrid=true](-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} +\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) +\psarc[linecolor=red,linewidth=0.5pt]{->}(0,0){3.16}{19.47}{64.47} +\psarc[linecolor=red,linewidth=0.5pt]{->}(0,0){1.41}{45}{90} +\psarc[linecolor=red,linewidth=0.5pt]{->}(0,0){4.24}{45}{90} +\psarc[linecolor=red,linewidth=0.5pt]{->}(0,0){3.16}{71.57}{116.57} \end{pspicture} -\end{lstlisting} - -\end{multicols} +\end{LTXexample} -\section{\CMD{arrowLine}} +\section{\nxLcs{arrowLine}} The syntax is -\medskip -\verb|\arrowLine[Options](Start)(End){ArrowNumber}| -\medskip +\begin{BDef} +\Lcs{arrowLine}\OptArgs\Largr{Start}\Largr{End}\Largb{ArrowNumber} +\end{BDef} Draws a line from \verb|Start| to \verb|End| with \verb|ArrowNumber| arrows inside. -\begin{multicols}{2} -\begin{pspicture}(4,4) - \psgrid - \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} - \rput(2,3.5){\CMD{arrowLine(Start)(End)\{n\}}} -\end{pspicture} - -\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} +\begin{LTXexample}[width=4cm,pos=l] +\begin{pspicture}[showgrid=true](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} \end{pspicture} -\end{lstlisting} - -\end{multicols} +\end{LTXexample} \subsection{Options} -A special option is \verb|arrowOffset|, which makes it possible to draw lines with different arrows. By default the arrows are placed symetrically. This can be moved by \verb|arrowOffset|. Additionally all other valid options for pslines are possible her, too. - -\begin{multicols}{2} -\begin{pspicture}(4,2) - \psgrid - \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} +A special option is \Lkeyword{arrowOffset}, which makes it possible to draw lines with +different arrows. By default the arrows are placed symetrically. This can be moved by +\Lkeyword{arrowOffset}. Additionally all other valid options for pslines are possible her, too. -\columnbreak -\begin{lstlisting} -\begin{pspicture}(4,2) +\begin{LTXexample}[width=4cm,pos=l] +\begin{pspicture}[showgrid=true](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, + 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=blue,arrows=<-, + arrowOffset=0.2](0,1.5)(4,1.5){3} \end{pspicture} -\end{lstlisting} +\end{LTXexample} -\end{multicols} -\section{Credits} -Jean-Come Charpentier | Aranud Schmittbuhl | +\clearpage +\section{List of all optional arguments for \texttt{pst-optic}} +\xkvview{family=pst-optic,columns={key,type,default}} + + +\bgroup +\raggedright \nocite{*} \bibliographystyle{plain} \bibliography{pst-optic-doc} +\egroup + +\printindex \end{document} diff --git a/Master/texmf-dist/doc/generic/pst-optic/pst-optic-examples.pdf b/Master/texmf-dist/doc/generic/pst-optic/pst-optic-examples.pdf Binary files differindex 5121e6d25c4..fe144aa86b7 100644 --- a/Master/texmf-dist/doc/generic/pst-optic/pst-optic-examples.pdf +++ b/Master/texmf-dist/doc/generic/pst-optic/pst-optic-examples.pdf diff --git a/Master/texmf-dist/doc/generic/pst-optic/pst-optic-examples.tex b/Master/texmf-dist/doc/generic/pst-optic/pst-optic-examples.tex index 50cafec9a3c..bd0464c9835 100644 --- a/Master/texmf-dist/doc/generic/pst-optic/pst-optic-examples.tex +++ b/Master/texmf-dist/doc/generic/pst-optic/pst-optic-examples.tex @@ -1,63 +1,28 @@ -\documentclass[12pt]{article} -\usepackage[T1]{fontenc} -\usepackage[latin1]{inputenc} -\usepackage{geometry} -\usepackage{graphicx} -\usepackage{subfigure} -\usepackage{pstricks} -\usepackage{pst-optic} -\usepackage{pst-text} -\usepackage{url} -\usepackage{amsmath} -\usepackage{tabularx} -\usepackage{lscape} -\usepackage{fancyhdr} -\pagestyle{fancy} -\lfoot{\small\ttfamily\jobname.tex} -\cfoot{} -\rfoot{} -\renewcommand{\headrulewidth}{0pt} -\renewcommand{\footrulewidth}{0pt} -\usepackage{listings} -\lstset{language=TEX,basicstyle=\ttfamily\footnotesize,% - extendedchars=true,numbers=left,numberstyle=\tiny} -\usepackage{multicol} -\let\myPart\part -\renewcommand{\part}[1]{% - \clearpage\myPart{#1}% -} -\newcommand{\PS}{PostScript} -\newcommand\CMD[1]{\texttt{\textbackslash#1}} -\psset{subgriddiv=0,gridlabels=7pt,griddots=5} +%% $Id: pst-func-doc.tex 64 2008-12-08 22:14:27Z herbert $ +\documentclass[11pt,english,BCOR10mm,DIV13,bibliography=totoc,parskip=false,smallheadings + headexclude,footexclude,oneside]{pst-doc} +\usepackage[utf8]{inputenc} +\usepackage{pst-optic,pst-text} \usepackage{hyperref} - +\let\pstOpticFV\fileversion +\lstset{pos=t,wide=true,language=PSTricks,basicstyle=\footnotesize\ttfamily} +\let\belowcaptionskip\abovecaptionskip +% \begin{document} -\author{Manuel Luque\thanks{Mluque5130@aol.com} \and Herbert Voß\thanks{voss@perce.de}} + +\title{\texttt{pst-optic}} +\subtitle{Lenses and Mirrors -- examples; v.\pstOpticFV} + +\author{Manuel Luque \\Herbert Vo\ss} +\docauthor{Herbert Vo\ss} \date{\today} -\title{Lenses and Mirrors: PST-optic v0.9\\Examples} \maketitle - \tableofcontents \clearpage -\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|). -\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. -\par -For more informations have a look into the documentations. - -\par -\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{Lenses} - - \section{A simple colored System} \begin{itemize} @@ -67,546 +32,204 @@ This PDF file was created with the \textbf{vlatex} program from the free availab \item $\mathrm{\overline{XO} = 2\ cm}$ \end{itemize} -\resizebox{\textwidth}{!}{% +\begin{LTXexample} \begin{pspicture}(-8.5,-3)(8.5,3) \rput(0,0){\lens[focus=3.333,OA=-10,AB=2,XO=2,xLeft=-8.5,xRight=8.5,rayColor=red]} -\pnode(!XO 2.5){L1}%extrémité supérieure de la lentille -\pnode(!XO -2.5){L2}%extrémité inférieure de la lentille -\psOutLine[length=2](L1)(B'){END} -\psBeforeLine[length=2](B')(L2){START} +\pnode(!XO 2.5){L1} \pnode(!XO -2.5){L2} +\psOutLine[length=2](L1)(B'){END} \psBeforeLine[length=2](B')(L2){START} \pspolygon[style=rayuresJaunes,linestyle=none](B)(L1)(END)(START)(L2) -% pour bien distinguer le tracé des rayons. - \rput(0,0){% - \lens[% - focus=3.333,% - OA=-10,AB=2,% - XO=2,% - xLeft=-8.5,xRight=8.5,% - rayColor=red,arrowsize=0.2]} -\end{pspicture}} - -\begin{lstlisting} -\begin{pspicture}(-8.5,-3)(8.5,3) -\rput(0,0){% - \lens[focus=3.333,% - OA=-10,AB=2,XO=2,% - xLeft=-8.5,xRight=8.5,% - rayColor=red]% -} -\pnode(!XO 2.5){L1}%extrémité supérieure de la lentille -\pnode(!XO -2.5){L2}%extrémité inférieure de la lentille -\psOutLine[length=2](L1)(B'){END} -\psBeforeLine[length=2](B')(L2){START} -\pspolygon[style=rayuresJaunes,linestyle=none](B)(L1)(END)(START)(L2) -\rput(0,0){% - \lens[% - focus=3.333,% - OA=-10,AB=2,% - XO=2,% - xLeft=-8.5,xRight=8.5,% - rayColor=red,arrowsize=0.2]% -} +\rput(0,0){\lens[focus=3.333,OA=-10,AB=2,XO=2,xLeft=-8.5,xRight=8.5,rayColor=red,arrowsize=0.2]} \end{pspicture} -\end{lstlisting} - +\end{LTXexample} +\xLcs{psOutLine}\xLcs{psBeforeLine} +\clearpage \section{A Magnifier} -\resizebox{\textwidth}{!}{% -\begin{pspicture}(-8,-5)(8,3) -\rput(0,0){% - \lens[% - lensGlass=true,lensWidth=0.4,% - focus=4,AB=0.5,OA=-2.8,XO=2,drawing=false]% - \psline[linewidth=0.5pt](xLeft)(xRight)} -\pnode(!XO 2.5){L1}% extrmitsuprieuredelalentille -\pnode(!XO -2.5){L2}% extrmitinfrieuredelalentille -\psOutLine[length=5.5,linestyle=none](B')(L1){END1} -\psBeforeLine[length=6,linestyle=none](L2)(B'){START} -\pspolygon[style=rayuresJaunes,linestyle=none](B)(L1)(END1)(START)(L2) -\psline[linewidth=1.5\pslinewidth,arrowinset=0]{->}(A)(B) -\uput[270](A){A} -\uput[90](B){B} -\psline[linewidth=1.5\pslinewidth,arrowinset=0,% - linestyle=dashed]{->}(A')(B') -\uput[270](A'){$\mathrm{A'}$} -\uput[90](B'){$\mathrm{B'}$} -\psset{linecolor=red,arrowsize=0.2} -\pcline[nodesepB=-4](B)(O)% Mittelpunktstrahl -\psline[linecolor=red,linestyle=dashed](B)(B')% ruckwaertige Verlaengerung -\Arrows(B)(O)% Mittelpunktstrahl -\psOutLine[length=2,arrows=->](B)(O){END6}% Mittelpunktstrahl -\psline(B)(I)(F') -\psOutLine(I)(F'){END2} -\Arrows(I)(F') -\Arrows(B)(I) -\psOutLine[length=1,linestyle=dashed](I')(B'){END3} -\psline[linestyle=dashed](B)(F) -\psline(B)(I') -\Arrows[arrows=->>](B)(I') -\psline[linestyle=dashed](B')(I') -\psline[linestyle=dashed](B')(I) -\psOutLine[length=2,arrows=->>](B')(I'){END4} -\psOutLine[length=4](B')(I'){END5} -\rput(8,0){\psset{linecolor=black}\eye} -\end{pspicture} -} - -\begin{lstlisting} +\begin{LTXexample} \begin{pspicture}(-8,-5)(8,3) -\rput(0,0){% - \lens[% - lensGlass=true,lensWidth=0.4,% - focus=4,AB=0.5,OA=-2.8,XO=2,drawing=false]% +\rput(0,0){\lens[lensGlass=true,lensWidth=0.4,focus=4,AB=0.5,OA=-2.8,XO=2,drawing=false] \psline[linewidth=0.5pt](xLeft)(xRight)} -\pnode(!XO 2.5){L1}% extrmitsuprieuredelalentille -\pnode(!XO -2.5){L2}% extrmitinfrieuredelalentille +\pnode(!XO 2.5){L1} \pnode(!XO -2.5){L2} \psOutLine[length=5.5,linestyle=none](B')(L1){END1} \psBeforeLine[length=6,linestyle=none](L2)(B'){START} \pspolygon[style=rayuresJaunes,linestyle=none](B)(L1)(END1)(START)(L2) \psline[linewidth=1.5\pslinewidth,arrowinset=0]{->}(A)(B) -\uput[270](A){A} -\uput[90](B){B} -\psline[linewidth=1.5\pslinewidth,arrowinset=0,% - linestyle=dashed]{->}(A')(B') -\uput[270](A'){$\mathrm{A'}$} -\uput[90](B'){$\mathrm{B'}$} +\uput[270](A){A} \uput[90](B){B} +\psline[linewidth=1.5\pslinewidth,arrowinset=0,linestyle=dashed]{->}(A')(B') +\uput[270](A'){$\mathrm{A'}$} \uput[90](B'){$\mathrm{B'}$} \psset{linecolor=red,arrowsize=0.2} \pcline[nodesepB=-4](B)(O)% Mittelpunktstrahl \psline[linecolor=red,linestyle=dashed](B)(B')% ruckwaertige Verlaengerung \Arrows(B)(O)% Mittelpunktstrahl \psOutLine[length=2,arrows=->](B)(O){END6}% Mittelpunktstrahl -\psline(B)(I)(F') -\psOutLine(I)(F'){END2} -\Arrows(I)(F') -\Arrows(B)(I) +\psline(B)(I)(F')\psOutLine(I)(F'){END2}\Arrows(I)(F')\Arrows(B)(I) \psOutLine[length=1,linestyle=dashed](I')(B'){END3} -\psline[linestyle=dashed](B)(F) -\psline(B)(I') -\Arrows[arrows=->>](B)(I') -\psline[linestyle=dashed](B')(I') -\psline[linestyle=dashed](B')(I) -\psOutLine[length=2,arrows=->>](B')(I'){END4} -\psOutLine[length=4](B')(I'){END5} +\psline[linestyle=dashed](B)(F)\psline(B)(I')\Arrows[arrows=->>](B)(I') +\psline[linestyle=dashed](B')(I')\psline[linestyle=dashed](B')(I) +\psOutLine[length=2,arrows=->>](B')(I'){END4}\psOutLine[length=4](B')(I'){END5} \rput(8,0){\psset{linecolor=black}\eye} \end{pspicture} -\end{lstlisting} - +\end{LTXexample} +\xLcs{psOutLine}\xLcs{psBeforeLine}\xLcs{eye}\xLcs{lens}\xLcs{Arrows} +\clearpage \section{Two Lenses} -This is a simple system with two lenses, where the \verb|\lens| macro is used only once. The second lense (the left one) is drawn by the \verb|\psline| macro. +This is a simple system with two lenses, where the \Lcs{lens} macro is used only once. +The second lense (the left one) is drawn by the \Lcs{psline} macro. -\resizebox{\textwidth}{!}{% +\begin{LTXexample} \begin{pspicture}(-8,-5)(8,3) - \rput(0,0){% - \lens[% - lensScale=0.6,drawing=false,% - focus=1.5,OA=-1,XO=5,nameF={},nameFi={},AB=-1]% - \psline[linewidth=1pt](xLeft)(xRight) - } -%image intermédiaire A1B1 au foyer F'1 - \psline{->}(4,0)(4,-1) -%lentille 2 +\rput(0,0){\lens[lensScale=0.6,drawing=false,focus=1.5,OA=-1,XO=5,nameF={},nameFi={},AB=-1] + \psline[linewidth=1pt](xLeft)(xRight)} %image intermediaire A1B1 au foyer F'1 +\psline{->}(4,0)(4,-1) %lentille 2 % \psline[linewidth=2\pslinewidth,linecolor=blue]{<->}(5,1.5)(5,-1.5) %On place les points essentiels - \pnode(-6,0){O1} - \pnode(-6,2.5){E1L1}%extrémité sup de L1 - \pnode(-6,-2.5){E2L1}%extrémité inf de L1 - \pnode(4,0){A1} - \pnode(4,-1){B1} -%intersection de O1 avec la lentille L2 - \rayInterLens(O1)(B1){5}{Inter1L2} -%rayon venant de l'infini jusqu'à la lentille L2 - \pcline[nodesepB=-2](Inter1L2)(O1) -%rayon parallèle au précédent et passant par E1L1 - \Parallel(B1)(O1)(E1L1){B1infty} -%rayon parallèle au précédent et passant par E2L2 - \Parallel(B1)(O1)(E2L1){B2infty} +\pnode(-6,0){O1} \pnode(-6,2.5){E1L1} \pnode(-6,-2.5){E2L1} +\pnode(4,0){A1} \pnode(4,-1){B1} +\rayInterLens(O1)(B1){5}{Inter1L2}%intersection de O1 avec la lentille L2 +\pcline[nodesepB=-2](Inter1L2)(O1)%rayon venant de l'infini jusqu'e la lentille L2 +\Parallel(B1)(O1)(E1L1){B1infty}%rayon parallele au precedent et passant par E1L1 +\Parallel(B1)(O1)(E2L1){B2infty}%rayon passant par E2L2 %intersection de la droite passant par E1L1 et B1 avec la lentille L2 - \rayInterLens(E1L1)(B1){5}{InterE1B1L2} - \psline(E1L1)(InterE1B1L2) +\rayInterLens(E1L1)(B1){5}{InterE1B1L2}\psline(E1L1)(InterE1B1L2) %intersection de la droite passant par E2L2 et B1 avec la lentille L2 - \rayInterLens(E2L1)(B1){5}{InterE2B1L2} - \psline(E2L1)(InterE2B1L2) - \psline[linestyle=dashed]{->}(A')(B') - \psline[linestyle=dashed](InterE1B1L2)(B') - \psline[linestyle=dashed](InterE2B1L2)(B') - \psline[linestyle=dotted](B')(O) - \psOutLine[length=3](B')(InterE1B1L2){END} - \psBeforeLine[length=3](InterE2B1L2)(B'){START} - \pspolygon[% - style=rayuresJaunes,% - linestyle=none]% - (B1infty)(E1L1)(InterE1B1L2)% - (END)(START)(InterE2B1L2)% - (E2L1)(B2infty) - \uput[90](A'){$\mathrm{A'}$} - \uput[270](B'){$\mathrm{B'}$} - \uput[90](A1){$\mathrm{A_1}$} - \uput[270](B1){$\mathrm{B_1}$} - \uput[225](O1){O1} - \uput[45](O){O2} - \uput[90](F){$\mathrm{F_2}$} - \uput{0.4}[150](F'){$\mathrm{F'_2}$} - \uput{0.6}[90](A1){$\mathrm{F'_1}$} - \psline[linecolor=red](B1infty)(E1L1)(InterE1B1L2)(END) - \psline[linecolor=red](B2infty)(E2L1)(InterE2B1L2)(START) - \rput(8,0){\eye} -%lentille 1 - \psline[% - linewidth=2\pslinewidth,% - linecolor=blue,% - arrowsize=0.2,arrowinset=0.5]{<->}(-6,-2.5)(-6,2.5) -\end{pspicture}% -} - - -\begin{lstlisting} -\begin{pspicture}(-8,-3)(8,3) -%on place l'oculaire dès le début - \rput(0,0){% - \lens[% - lensScale=0.6,drawing=false,% - focus=1.5,OA=-1,XO=5,nameF={},nameFi={},AB=-1]% - \psline[linewidth=1pt](xLeft)(xRight) - } -%image intermédiaire A1B1 au foyer F'1 - \psline{->}(4,0)(4,-1) -%lentille 2 -% \psline[linewidth=2\pslinewidth,linecolor=blue]{<->}(5,1.5)(5,-1.5) -%On place les points essentiels - \pnode(-6,0){O1} - \pnode(-6,2.5){E1L1}%extrémité sup de L1 - \pnode(-6,-2.5){E2L1}%extrémité inf de L1 - \pnode(4,0){A1} - \pnode(4,-1){B1} -%intersection de O1 avec la lentille L2 - \rayInterLens(O1)(B1){5}{Inter1L2} -%rayon venant de l'infini jusqu'à la lentille L2 - \pcline[nodesepB=-2](Inter1L2)(O1) -%rayon parallèle au précédent et passant par E1L1 - \Parallel(B1)(O1)(E1L1){B1infty} -%rayon parallèle au précédent et passant par E2L2 - \Parallel(B1)(O1)(E2L1){B2infty} -%intersection de la droite passant par E1L1 et B1 avec la lentille L2 - \rayInterLens(E1L1)(B1){5}{InterE1B1L2} - \psline(E1L1)(InterE1B1L2) -%intersection de la droite passant par E2L2 et B1 avec la lentille L2 - \rayInterLens(E2L1)(B1){5}{InterE2B1L2} - \psline(E2L1)(InterE2B1L2) - \psline[linestyle=dashed]{->}(A')(B') - \psline[linestyle=dashed](InterE1B1L2)(B') - \psline[linestyle=dashed](InterE2B1L2)(B') - \psline[linestyle=dotted](B')(O) - \psOutLine[length=3](B')(InterE1B1L2){END} - \psBeforeLine[length=3](InterE2B1L2)(B'){START} - \pspolygon[% - style=rayuresJaunes,% - linestyle=none]% - (B1infty)(E1L1)(InterE1B1L2)% - (END)(START)(InterE2B1L2)% - (E2L1)(B2infty) - \uput[90](A'){$\mathrm{A'}$} - \uput[270](B'){$\mathrm{B'}$} - \uput[90](A1){$\mathrm{A_1}$} - \uput[270](B1){$\mathrm{B_1}$} - \uput[225](O1){O1} - \uput[45](O){O2} - \uput[90](F){$\mathrm{F_2}$} - \uput{0.4}[150](F'){$\mathrm{F'_2}$} - \uput{0.6}[90](A1){$\mathrm{F'_1}$} - \psline[linecolor=red](B1infty)(E1L1)(InterE1B1L2)(END) - \psline[linecolor=red](B2infty)(E2L1)(InterE2B1L2)(START) - \rput(8,0){\eye} -%lentille 1 - \psline[% - linewidth=2\pslinewidth,% - linecolor=blue,% - arrowsize=0.2,arrowinset=0.5]{<->}(-6,-2.5)(-6,2.5) -\end{pspicture} -\end{lstlisting} - - +\rayInterLens(E2L1)(B1){5}{InterE2B1L2} +\psline(E2L1)(InterE2B1L2) +\psline[linestyle=dashed]{->}(A')(B')\psline[linestyle=dashed](InterE1B1L2)(B') +\psline[linestyle=dashed](InterE2B1L2)(B')\psline[linestyle=dotted](B')(O) +\psOutLine[length=3](B')(InterE1B1L2){END}\psBeforeLine[length=3](InterE2B1L2)(B'){START} +\pspolygon[style=rayuresJaunes,linestyle=none](B1infty)(E1L1)(InterE1B1L2)% + (END)(START)(InterE2B1L2)(E2L1)(B2infty) +\uput[90](A'){$\mathrm{A'}$}\uput[270](B'){$\mathrm{B'}$} +\uput[90](A1){$\mathrm{A_1}$}\uput[270](B1){$\mathrm{B_1}$} +\uput[225](O1){O1}\uput[45](O){O2}\uput[90](F){$\mathrm{F_2}$} +\uput{0.4}[150](F'){$\mathrm{F'_2}$}\uput{0.6}[90](A1){$\mathrm{F'_1}$} +\psline[linecolor=red](B1infty)(E1L1)(InterE1B1L2)(END) +\psline[linecolor=red](B2infty)(E2L1)(InterE2B1L2)(START) +\rput(8,0){\eye} +\psline[linewidth=2\pslinewidth,linecolor=blue,arrowsize=0.2,arrowinset=0.5]{<->}(-6,-2.5)(-6,2.5) +\end{pspicture} +\end{LTXexample} +\xLcs{psOutLine}\xLcs{psBeforeLine}\xLcs{eye}\xLcs{lens}\xLcs{Arrows}\xLcs{rayInterLens} +\clearpage \section{Real Image} -\resizebox{\textwidth}{!}{ -\begin{pspicture}*(-7.5,-3)(7.5,3) - \rput(0,0){% - \lens[lensGlass=true,lensWidth=0.5,lensType=DVG,% - XO=0,AB=2,OA=-4,focus=-6,spotAi=270,spotBi=90]% - \psline[linewidth=1pt](xLeft)(xRight) - } - \psline[linecolor=red,linestyle=dashed](I')(F)% Verlaengerung des Brennstrahls - \psOutLine[length=7](B')(I){END} -%pour prolonger au-delà de B' permet de définir END - \psBeforeLine[length=7](I')(B'){START}% permet de définir START - \pspolygon[style=rayuresJaunes,linestyle=none](B)(I)(END)(START)(I') - \psline(B)(I)(END) - \psline(B)(I')(START) -\end{pspicture}% -} - -\begin{lstlisting} -\begin{pspicture}*(-7.5,-3)(7.5,3) - \rput(0,0){% - \lens[lensGlass=true,lensWidth=0.5,lensType=DVG,% - XO=0,AB=2,OA=-4,focus=-6,spotAi=270,spotBi=90]% - \psline[linewidth=1pt](xLeft)(xRight) - } - \psline[linecolor=red,linestyle=dashed](I')(F)% Verlaengerung des Brennstrahls - \psOutLine[length=7](B')(I){END} -%pour prolonger au-delà de B' permet de définir END - \psBeforeLine[length=7](I')(B'){START}% permet de définir START - \pspolygon[style=rayuresJaunes,linestyle=none](B)(I)(END)(START)(I') - \psline(B)(I)(END) - \psline(B)(I')(START) -\end{pspicture} -\end{lstlisting} - - -\section{Virtual Image} - -\resizebox{\textwidth}{!}{% -\begin{pspicture*}(-7.5,-6.5)(7.5,7.5) -\rput(0,0){% - \lens[lensType=DVG,lensWidth=0.75, - lensHeight=7,focus=-2,OA=-6,AB=4,XO=-1,lensGlass=true,% - rayColor=red,yBottom=-5,yTop=5,drawing=false]% +\begin{LTXexample} +\begin{pspicture*}(-7.5,-3)(7.5,3) +\rput(0,0){\lens[lensGlass=true,lensWidth=0.5,lensType=DVG,XO=0,AB=2,OA=-4,focus=-6,spotAi=270,spotBi=90]% \psline[linewidth=1pt](xLeft)(xRight)} -\pnode(!XO 2.9){L1}% extrmitdelalentillesup -\pnode(!XO -2.5){L2}% extrmitdelalentilleinf -{% - \psset{length=4,linestyle=none} - \psOutLine(B')(L1){A1} - \psOutLine(B')(L2){A2} - \pspolygon[style=rayuresJaunes,linestyle=none](B)(L1)(A1)(A2)(L2) - \psset{linecolor=red,linestyle=solid} - \psline(B)(L1)(A1) - \psline(B)(L2)(A2)% - \psline[linestyle=dashed](B')(L1) - \psline[linestyle=dashed](B')(L2)% -} -\psline[linestyle=dashed]{->}(A)(B) -\psline{->}(A')(B') -\uput[90](B){B} -\uput[90](B'){$\mathrm{B'}$} -\uput[270](A){A} -\uput[270](A'){$\mathrm{A'}$} +\psline[linecolor=red,linestyle=dashed](I')(F)% Verlaengerung des Brennstrahls +\psOutLine[length=7](B')(I){END}\psBeforeLine[length=7](I')(B'){START}% permet de definir START +\pspolygon[style=rayuresJaunes,linestyle=none](B)(I)(END)(START)(I') +\psline(B)(I)(END) \psline(B)(I')(START) \end{pspicture*} -} +\end{LTXexample} +\xLcs{psOutLine}\xLcs{psBeforeLine}\xLcs{lens} + +\clearpage +\section{Virtual Image} -\begin{lstlisting} +\begin{LTXexample} \begin{pspicture*}(-7.5,-6.5)(7.5,7.5) -\rput(0,0){% - \lens[lensType=DVG,lensWidth=0.75, - lensHeight=7,focus=-2,OA=-6,AB=4,XO=-1,lensGlass=true,% - rayColor=red,yBottom=-5,yTop=5,drawing=false]% +\rput(0,0){\lens[lensType=DVG,lensWidth=0.75,lensHeight=7,focus=-2,OA=-6,AB=4,XO=-1,lensGlass=true, + rayColor=red,yBottom=-5,yTop=5,drawing=false] \psline[linewidth=1pt](xLeft)(xRight)} -\pnode(!XO 2.9){L1}% extrmitdelalentillesup -\pnode(!XO -2.5){L2}% extrmitdelalentilleinf -{% - \psset{length=4,linestyle=none} - \psOutLine(B')(L1){A1} - \psOutLine(B')(L2){A2} +\pnode(!XO 2.9){L1} \pnode(!XO -2.5){L2} +{ \psset{length=4,linestyle=none} + \psOutLine(B')(L1){A1} \psOutLine(B')(L2){A2} \pspolygon[style=rayuresJaunes,linestyle=none](B)(L1)(A1)(A2)(L2) \psset{linecolor=red,linestyle=solid} - \psline(B)(L1)(A1) - \psline(B)(L2)(A2)% - \psline[linestyle=dashed](B')(L1) - \psline[linestyle=dashed](B')(L2)% -} -\psline[linestyle=dashed]{->}(A)(B) -\psline{->}(A')(B') -\uput[90](B){B} -\uput[90](B'){$\mathrm{B'}$} -\uput[270](A){A} -\uput[270](A'){$\mathrm{A'}$} + \psline(B)(L1)(A1) \psline(B)(L2)(A2) \psline[linestyle=dashed](B')(L1) + \psline[linestyle=dashed](B')(L2) } +\psline[linestyle=dashed]{->}(A)(B) \psline{->}(A')(B') +\uput[90](B){B}\uput[90](B'){$\mathrm{B'}$}\uput[270](A){A}\uput[270](A'){$\mathrm{A'}$} \end{pspicture*} -\end{lstlisting} +\end{LTXexample} +\xLcs{psOutLine}\xLcs{psBeforeLine}\xLcs{lens} +\clearpage \section{A Microscope} -\resizebox{\textwidth}{!}{ +\begin{LTXexample} \begin{pspicture}(-7.5,-5.5)(7.5,3) -\rput(0,0){% - \lens[focus=1.5,OA=-2,AB=0.5,XO=-5,lensGlass=true,lensWidth=0.4,% - yBottom=-4,yTop=4,drawing=false,lensScale=0.4,% - nameF=F_1,nameFi=F'_1]% - \psline[linewidth=1pt](xLeft)(xRight) - } -\pnode(! XO 1){UPlens1} -\pnode(! XO -1){DOWNlens1} -\Transform -\rput(0,0){% - \lens[focus=2,XO=3,lensGlass=true,lensWidth=0.4,% - yBottom=-4,yTop=4,drawing=false,% - nameF=F_2,nameFi=F'_2,spotF=90,spotFi=90]% - } -\psline{->}(A1)(B1) -\psline{->}(A'1)(B'1) -\uput[270](A1){A} -\uput[90](B1){B} -\uput[270](B'1){$\mathrm{B_1}$} -\uput{0.7}[90](A'1){$\mathrm{A_1}$} -{\psset{linecolor=red} -\rayInterLens(I11)(B'1){3}{Inter1L2} -\rayInterLens(B1)(O1){3}{Inter2L2} -\rayInterLens(UPlens1)(B'1){3}{Inter3L2} -\rayInterLens(DOWNlens1)(B'1){3}{Inter4L2} -\psline(B1)(I11)(B'1)(Inter1L2) -\psline(B1)(Inter2L2) -\psline(B1)(UPlens1)(Inter3L2) -\psline(B1)(DOWNlens1)(Inter4L2) -\psset{length=5} -\Parallel(B'1)(O)(Inter3L2){B1inftyRigth} -\Parallel(B'1)(O)(Inter4L2){B2inftyRigth} -\Parallel(B'1)(O)(Inter2L2){B3inftyRigth} -\Parallel(B'1)(O)(Inter1L2){B3inftyRigth} -{\psset{length=-5,linestyle=dashed} -\Parallel(B'1)(O)(Inter3L2){B1inftyLeft} -\Parallel(B'1)(O)(Inter4L2){B2inftyLeft} -\Parallel(B'1)(O)(Inter2L2){B3inftyLeft} -\Parallel(B'1)(O)(Inter1L2){B3inftyLeft} -\pcline[nodesep=6](B'1)(O)} -\pspolygon[style=rayuresJaunes,linestyle=none](B1)(UPlens1)(Inter3L2)% - (B1inftyRigth)(B2inftyRigth)(Inter4L2)(DOWNlens1) - \psline(B1)(UPlens1)(Inter3L2)(B1inftyRigth) - \psline(B2inftyRigth)(Inter4L2)(DOWNlens1)(B1)} - \rput(7,0){\eye} -\end{pspicture}% -} - -\begin{lstlisting} -\begin{pspicture}(-7.5,-5.5)(7.5,3) -\rput(0,0){% - \lens[focus=1.5,OA=-2,AB=0.5,XO=-5,lensGlass=true,lensWidth=0.4,% - yBottom=-4,yTop=4,drawing=false,lensScale=0.4,% - nameF=F_1,nameFi=F'_1]% - \psline[linewidth=1pt](xLeft)(xRight) -} -\pnode(! XO 1){UPlens1} -\pnode(! XO -1){DOWNlens1} +\rput(0,0){\lens[focus=1.5,OA=-2,AB=0.5,XO=-5,lensGlass=true,lensWidth=0.4, + yBottom=-4,yTop=4,drawing=false,lensScale=0.4,nameF=F_1,nameFi=F'_1] + \psline[linewidth=1pt](xLeft)(xRight)} +\pnode(! XO 1){UPlens1} \pnode(! XO -1){DOWNlens1} \Transform -\rput(0,0){% - \lens[focus=2,XO=3,lensGlass=true,lensWidth=0.4,% - yBottom=-4,yTop=4,drawing=false,% - nameF=F_2,nameFi=F'_2,spotF=90,spotFi=90]% -} -\psline{->}(A1)(B1) -\psline{->}(A'1)(B'1) -\uput[270](A1){A} -\uput[90](B1){B} -\uput[270](B'1){$\mathrm{B_1}$} -\uput{0.7}[90](A'1){$\mathrm{A_1}$} +\rput(0,0){\lens[focus=2,XO=3,lensGlass=true,lensWidth=0.4,yBottom=-4,yTop=4,drawing=false, + nameF=F_2,nameFi=F'_2,spotF=90,spotFi=90]} +\psline{->}(A1)(B1)\psline{->}(A'1)(B'1)\uput[270](A1){A}\uput[90](B1){B} +\uput[270](B'1){$\mathrm{B_1}$}\uput{0.7}[90](A'1){$\mathrm{A_1}$} {\psset{linecolor=red} -\rayInterLens(I11)(B'1){3}{Inter1L2} -\rayInterLens(B1)(O1){3}{Inter2L2} -\rayInterLens(UPlens1)(B'1){3}{Inter3L2} -\rayInterLens(DOWNlens1)(B'1){3}{Inter4L2} -\psline(B1)(I11)(B'1)(Inter1L2) -\psline(B1)(Inter2L2) -\psline(B1)(UPlens1)(Inter3L2) -\psline(B1)(DOWNlens1)(Inter4L2) -\psset{length=5} -\Parallel(B'1)(O)(Inter3L2){B1inftyRigth} -\Parallel(B'1)(O)(Inter4L2){B2inftyRigth} -\Parallel(B'1)(O)(Inter2L2){B3inftyRigth} -\Parallel(B'1)(O)(Inter1L2){B3inftyRigth} -{\psset{length=-5,linestyle=dashed} -\Parallel(B'1)(O)(Inter3L2){B1inftyLeft} -\Parallel(B'1)(O)(Inter4L2){B2inftyLeft} -\Parallel(B'1)(O)(Inter2L2){B3inftyLeft} -\Parallel(B'1)(O)(Inter1L2){B3inftyLeft} -\pcline[nodesep=6](B'1)(O)} -\pspolygon[style=rayuresJaunes,linestyle=none]% - (B1)(UPlens1)(Inter3L2)% - (B1inftyRigth)(B2inftyRigth)(Inter4L2)(DOWNlens1) -\psline(B1)(UPlens1)(Inter3L2)(B1inftyRigth) -\psline(B2inftyRigth)(Inter4L2)(DOWNlens1)(B1)} + \rayInterLens(I11)(B'1){3}{Inter1L2}\rayInterLens(B1)(O1){3}{Inter2L2} + \rayInterLens(UPlens1)(B'1){3}{Inter3L2}\rayInterLens(DOWNlens1)(B'1){3}{Inter4L2} + \psline(B1)(I11)(B'1)(Inter1L2)\psline(B1)(Inter2L2)\psline(B1)(UPlens1)(Inter3L2) + \psline(B1)(DOWNlens1)(Inter4L2) + \psset{length=5} + \Parallel(B'1)(O)(Inter3L2){B1inftyRigth}\Parallel(B'1)(O)(Inter4L2){B2inftyRigth} + \Parallel(B'1)(O)(Inter2L2){B3inftyRigth}\Parallel(B'1)(O)(Inter1L2){B3inftyRigth} + {\psset{length=-5,linestyle=dashed} + \Parallel(B'1)(O)(Inter3L2){B1inftyLeft}\Parallel(B'1)(O)(Inter4L2){B2inftyLeft} + \Parallel(B'1)(O)(Inter2L2){B3inftyLeft}\Parallel(B'1)(O)(Inter1L2){B3inftyLeft} + \pcline[nodesep=6](B'1)(O)} + \pspolygon[style=rayuresJaunes,linestyle=none](B1)(UPlens1)(Inter3L2)% + (B1inftyRigth)(B2inftyRigth)(Inter4L2)(DOWNlens1) + \psline(B1)(UPlens1)(Inter3L2)(B1inftyRigth)\psline(B2inftyRigth)(Inter4L2)(DOWNlens1)(B1)} \rput(7,0){\eye} -\end{pspicture} -\end{lstlisting} +\end{pspicture}% +\end{LTXexample} +\xLcs{psOutLine}\xLcs{psBeforeLine}\xLcs{lens}\xLcs{rayInterLens}\xLcs{Parallel} \clearpage \section{Telescope} -\begin{center} +\begin{LTXexample}[wide=false] \telescope[mirrorFocus=10,posMirrorTwo=8,yBottom=-8] -\end{center} +\end{LTXexample} -\begin{lstlisting} -\telescope[mirrorFocus=10,posMirrorTwo=8,yBottom=-8] -\end{lstlisting} - - -\begin{center} -\telescope[mirrorFocus=6,posMirrorTwo=5,yBottom=-5] -\end{center} - -\begin{lstlisting} +\xLcs{telescope} +\begin{LTXexample}[wide=false] \telescope[mirrorFocus=6,posMirrorTwo=5,yBottom=-5] -\end{lstlisting} - +\end{LTXexample} +\clearpage \section{Lightspeed measured by Foucault} 1849 Foucault (1819-1868) determines with the following configuration the speed of the light. -\begin{pspicture}(-8,-5)(7,6) - \rput(0,0){\lens[lensWidth=1,lensGlass=true,% - lensHeight=6,focus=4,drawing=false,AB=2.5]} - {% - \psset{linewidth=0.5pt,linestyle=dashed,arrowsize=5pt,arrows=|<->|} - \psline(-8,0)(4,0) - \pcline(-7.75,-3)(0,-3) - \lput*{:U}{2f} - \pcline(0,-3)(4,-3) - \lput*{:U}{f} - \pcline(7,0)(7,4) - \lput*{:U}{f} - \pcline(4,5)(5,5) - \lput*{:U}{s} - \pcline(5.25,2.3)(5.25,2.8) - \lput*{:U}{s} - } - \uput[90](0,3){\Large L} - \uput[45](-7.7,3){\Large B} - \uput[45](-7.7,-2){\Large E} - \uput[270](3,-0.5){\Large D} - \uput[-45](4,0){\Large A=F} - \uput[270](3,2){\Large S} - \uput[90](4,4){\Large Sp} - \uput[90](3.5,3.25){\Large B'} - \uput[0](6.3,2.25){\Large B''} - \uput[-90](6,1.1){\Large M} - \psarc[linewidth=0.5pt](-7.75,2.5){0.5}{-90}{0}\qdisk(-7.55,2.3){1pt} - \rput{210}(F'){\mirrorTwo} - {% - \psset{fillstyle=solid,fillcolor=lightgray} - \rput{210}(4,2.5){\psframe(-1,0)(1,0.2)} - \psframe(-8,-3)(-7.75,3) - \psframe(3,4)(3.8,4.2)\psframe(4.2,4)(5,4.2)% - }{% - \psset{linewidth=1pt,linecolor=red,arrows=->,% - arrowsize=5pt} - \arrowLine[linecolor=blue,arrowOffset=-0.2](F')(4,2.5){2} - \arrowLine[linecolor=blue,arrowOffset=-0.2](4,2.3)(6,2.3){1} - \qdisk(6,2.3){2pt} - \psline[linestyle=dashed,arrows=-](F')(5.1,4) - \psline[linestyle=dashed,arrows=-](5,2.8)(6,2.8) - \arrowLine(4,4)(F'){3} - \arrowLine[linecolor=blue,arrowOffset=-0.2](I)(F'){2} - \arrowLine(F')(I){2} - \arrowLine[linecolor=blue,arrowOffset=-0.3](-7.75,2.5)(I){3} - \arrowLine(I)(-7.75,2.5){3} - } - \psframe(5.5,1.1)(6.5,3.5) - \multido{\r=1.3+0.2}{12}{% - \psline(6.1,\r)(6.5,\r)% - } -\end{pspicture} + + +\begin{LTXexample} +\begin{pspicture}(-8,-3.2)(7,4.5) +\rput(0,0){\lens[lensWidth=1,lensGlass=true,lensHeight=6,focus=4,drawing=false,AB=2.5]} +{\psset{linewidth=0.5pt,linestyle=dashed,arrowsize=5pt,arrows=|<->|} + \psline(-8,0)(4,0)\pcline(-7.75,-3)(0,-3)\lput*{:U}{2f} + \pcline(0,-3)(4,-3)\lput*{:U}{f}\pcline(7,0)(7,4)\lput*{:U}{f} + \pcline(4,5)(5,5)\lput*{:U}{s}\pcline(5.25,2.3)(5.25,2.8)\lput*{:U}{s} } +\uput[90](0,3){\Large L}\uput[45](-7.7,3){\Large B}\uput[45](-7.7,-2){\Large E} +\uput[270](3,-0.5){\Large D}\uput[-45](4,0){\Large A=F}\uput[270](3,2){\Large S} +\uput[90](4,4){\Large Sp}\uput[90](3.5,3.25){\Large B'}\uput[0](6.3,2.25){\Large B''} +\uput[-90](6,1.1){\Large M}\psarc[linewidth=0.5pt](-7.75,2.5){0.5}{-90}{0}\qdisk(-7.55,2.3){1pt} +\rput{210}(F'){\mirrorTwo} +{\psset{fillstyle=solid,fillcolor=lightgray} + \rput{210}(4,2.5){\psframe(-1,0)(1,0.2)}\psframe(-8,-3)(-7.75,3) + \psframe(3,4)(3.8,4.2)\psframe(4.2,4)(5,4.2) } +{\psset{linewidth=1pt,linecolor=red,arrows=->,arrowsize=5pt} + \arrowLine[linecolor=blue,arrowOffset=-0.2](F')(4,2.5){2} + \arrowLine[linecolor=blue,arrowOffset=-0.2](4,2.3)(6,2.3){1} + \qdisk(6,2.3){2pt} + \psline[linestyle=dashed,arrows=-](F')(5.1,4)\psline[linestyle=dashed,arrows=-](5,2.8)(6,2.8) + \arrowLine(4,4)(F'){3}\arrowLine[linecolor=blue,arrowOffset=-0.2](I)(F'){2} + \arrowLine(F')(I){2}\arrowLine[linecolor=blue,arrowOffset=-0.3](-7.75,2.5)(I){3} + \arrowLine(I)(-7.75,2.5){3} } +\psframe(5.5,1.1)(6.5,3.5) +\multido{\r=1.3+0.2}{12}{\psline(6.1,\r)(6.5,\r)} +\end{pspicture} +\end{LTXexample} Sp chink; \\ D rotating mirror;\\ @@ -615,631 +238,210 @@ E end mirror;\\ S half diaphanous mirror;\\ M scale -\begin{lstlisting} -\begin{pspicture}(-8,-5)(7,6) - \rput(0,0){\lens[lensWidth=1,lensGlass=true,% - lensHeight=6,focus=4,drawing=false,AB=2.5]} - {% - \psset{linewidth=0.5pt,linestyle=dashed,arrowsize=5pt,arrows=|<->|} - \psline(-8,0)(4,0) - \pcline(-7.75,-3)(0,-3) - \lput*{:U}{2f} - \pcline(0,-3)(4,-3) - \lput*{:U}{f} - \pcline(7,0)(7,4) - \lput*{:U}{f} - \pcline(4,5)(5,5) - \lput*{:U}{s} - \pcline(5.25,2.3)(5.25,2.8) - \lput*{:U}{s} - } - \uput[90](0,3){\Large L} - \uput[45](-7.7,3){\Large B} - \uput[45](-7.7,-2){\Large E} - \uput[270](3,-0.5){\Large D} - \uput[-45](4,0){\Large A=F} - \uput[270](3,2){\Large S} - \uput[90](4,4){\Large Sp} - \uput[90](3.5,3.25){\Large B'} - \uput[0](6.3,2.25){\Large B''} - \uput[-90](6,1.1){\Large M} - \psarc[linewidth=0.5pt](-7.75,2.5){0.5}{-90}{0}\qdisk(-7.55,2.3){1pt} - \rput{210}(F'){\mirrorTwo} - {% - \psset{fillstyle=solid,fillcolor=lightgray} - \rput{210}(4,2.5){\psframe(-1,0)(1,0.2)} - \psframe(-8,-3)(-7.75,3) - \psframe(3,4)(3.8,4.2)\psframe(4.2,4)(5,4.2)% - }{% - \psset{linewidth=1pt,linecolor=red,arrows=->,% - arrowsize=5pt} - \arrowLine[linecolor=blue,arrowOffset=-0.2](F')(4,2.5){2} - \arrowLine[linecolor=blue,arrowOffset=-0.2](4,2.3)(6,2.3){1} - \qdisk(6,2.3){2pt} - \psline[linestyle=dashed,arrows=-](F')(5.1,4) - \psline[linestyle=dashed,arrows=-](5,2.8)(6,2.8) - \arrowLine(4,4)(F'){3} - \arrowLine[linecolor=blue,arrowOffset=-0.2](I)(F'){2} - \arrowLine(F')(I){2} - \arrowLine[linecolor=blue,arrowOffset=-0.3](-7.75,2.5)(I){3} - \arrowLine(I)(-7.75,2.5){3} - } - \psframe(5.5,1.1)(6.5,3.5) - \multido{\r=1.3+0.2}{12}{% - \psline(6.1,\r)(6.5,\r)% - } -\end{pspicture} -\end{lstlisting} - - +\clearpage \part{Mirrors} \section{High Beam Light\label{beamlight}} +\begin{LTXexample} \begin{pspicture}(-1.5,-5.5)(10,5.5) -% \psgrid[subgriddiv=0,griddots=5] - \rput(0,0){% - \beamLight[drawing=false,% - mirrorDepth=4.75,% - mirrorWidth=0.1,% - mirrorHeight=10,% - linecolor=lightgray]} - \makeatletter - \pst@getcoor{Focus}\pst@tempf - \psset{linewidth=1pt,linecolor=red} - \multido{\n=60+5}{18}{% - \mirrorCVGRay[linecolor=red,% - mirrorDepth=4.75,% - mirrorHeight=10,% - linewidth=1pt](Focus)(!% - /XF \pst@tempf pop \pst@number\psxunit div def - \n\space cos XF add \n\space sin neg){Endd1} - \psOutLine[arrows=->,length=.25](Endd1)(Endd1''){Endd2}% - \mirrorCVGRay[linecolor=red,% - mirrorDepth=4.75,% - mirrorHeight=10,% - linewidth=1pt](Focus)(!% - /XF \pst@tempf pop \pst@number\psxunit div def - \n\space cos XF add \n\space sin ){End1} - \psOutLine[arrows=->,length=.25](End1)(End1''){End2}% - } - \makeatletter -\end{pspicture} - - -\begin{lstlisting} -\begin{pspicture}(-1.5,-5.5)(10,5.5) - \rput(0,0){% - \beamLight[drawing=false,% - mirrorDepth=4.75,% - mirrorWidth=0.1,% - mirrorHeight=10,% - linecolor=lightgray]} - \makeatletter - \pst@getcoor{Focus}\pst@tempf - \psset{linewidth=1pt,linecolor=red} - \multido{\n=60+5}{18}{% - \mirrorCVGRay[linecolor=red,% - mirrorDepth=4.75,% - mirrorHeight=10,% - linewidth=1pt](Focus)(!% - /XF \pst@tempf pop \pst@number\psxunit div def - \n\space cos XF add \n\space sin neg){Endd1} - \psOutLine[arrows=->,length=.25](Endd1)(Endd1''){Endd2}% - \mirrorCVGRay[linecolor=red,% - mirrorDepth=4.75,% - mirrorHeight=10,% - linewidth=1pt](Focus)(!% - /XF \pst@tempf pop \pst@number\psxunit div def - \n\space cos XF add \n\space sin ){End1} - \psOutLine[arrows=->,length=.25](End1)(End1''){End2}% - } - \makeatletter -\end{pspicture} -\end{lstlisting} - +\rput(0,0){\beamLight[drawing=false,mirrorDepth=4.75,mirrorWidth=0.1,mirrorHeight=10,linecolor=lightgray]} +\makeatletter +\pst@getcoor{Focus}\pst@tempf +\psset{linewidth=1pt,linecolor=red} +\multido{\n=60+5}{18}{% + \mirrorCVGRay[linecolor=red,mirrorDepth=4.75,mirrorHeight=10,linewidth=1pt](Focus)(!% + /XF \pst@tempf pop \pst@number\psxunit div def \n\space cos XF add \n\space sin neg){Endd1} + \psOutLine[arrows=->,length=.25](Endd1)(Endd1''){Endd2}% + \mirrorCVGRay[linecolor=red,mirrorDepth=4.75,mirrorHeight=10,linewidth=1pt](Focus)(!% + /XF \pst@tempf pop \pst@number\psxunit div def \n\space cos XF add \n\space sin ){End1} + \psOutLine[arrows=->,length=.25](End1)(End1''){End2}} +\makeatletter +\end{pspicture} +\end{LTXexample} +\xLcs{beamLight}\xLcs{mirrorCVGRay}\xLcs{psOutLine} +\clearpage \section{Low Beam Light} -\begin{pspicture}(-1.5,-5)(10,5) -% \psgrid[subgriddiv=0,griddots=5] - \rput(0,0){% - \beamLight[drawing=false,% - mirrorDepth=4.75,% - mirrorWidth=0.1,% - mirrorHeight=10,% - linecolor=lightgray]} - {% - \psset{linewidth=1pt,linecolor=red} - \multido{\n=70+5}{20}{% - \psline(2.75,-0.2)(! \n\space cos 2.75 add \n\space sin ) - \mirrorCVGRay[linecolor=red,% - mirrorDepth=4.75,% - mirrorHeight=10,% - linewidth=1pt](2.75,-0.2)% - (! \n\space cos 2.75 add \n\space sin ){End1} - \psOutLine[arrows=->,length=.25](End1)(End1''){End2}% - }} -\end{pspicture} -\begin{lstlisting} + +\begin{LTXexample} \begin{pspicture}(-1.5,-5)(10,5) - \rput(0,0){% - \beamLight[drawing=false,% - mirrorDepth=4.75,% - mirrorWidth=0.1,% - mirrorHeight=10,% - linecolor=lightgray]} - {% - \psset{linewidth=1pt,linecolor=red} - \multido{\n=70+5}{20}{% - \psline(2.75,-0.2)(! \n\space cos 2.75 add \n\space sin ) - \mirrorCVGRay[linecolor=red,% - mirrorDepth=4.75,% - mirrorHeight=10,% - linewidth=1pt](2.75,-0.2)% - (! \n\space cos 2.75 add \n\space sin ){End1} - \psOutLine[arrows=->,length=.25](End1)(End1''){End2}% - }} +\rput(0,0){\beamLight[drawing=false,mirrorDepth=4.75,mirrorWidth=0.1,mirrorHeight=10,linecolor=lightgray]} +\psset{linewidth=1pt,linecolor=red} +\multido{\n=70+5}{20}{% + \psline(2.75,-0.2)(! \n\space cos 2.75 add \n\space sin ) + \mirrorCVGRay[linecolor=red,mirrorDepth=4.75,mirrorHeight=10,linewidth=1pt](2.75,-0.2)% + (! \n\space cos 2.75 add \n\space sin ){End1} + \psOutLine[arrows=->,length=.25](End1)(End1''){End2}} \end{pspicture} -\end{lstlisting} - +\end{LTXexample} +\xLcs{beamLight}\xLcs{mirrorCVGRay}\xLcs{psOutLine}\xLkeyword{mirrorDepth}\xLkeyword{mirrorHeight} +\clearpage \part{Refraction} \section{Vertical Medium} Refrectionnumbers are $n_1=1$ and $n_2=1.5$: -\bigskip - - -\begin{pspicture}(-5,-3)(5,3) - \psgrid - \pnode(-1,-2.5){A} - \pnode(1,-2.5){B} - \pnode(1,2.5){C} - \pnode(-1,2.5){D} +\begin{LTXexample} +\begin{pspicture}[showgrid=true](-5,-3)(5,3) +\pnode(-1,-2.5){A}\pnode(1,-2.5){B}\pnode(1,2.5){C}\pnode(-1,2.5){D} % \rotateFrame(A)(B)(C)(D){10} - \uput[-135](A){A}\uput[-45](B){B} - \uput[45](C){C}\uput[135](D){D} - \pspolygon[fillcolor=lightgray,fillstyle=solid,linecolor=blue](A)(B)(C)(D) -% +\uput[-135](A){A}\uput[-45](B){B}\uput[45](C){C}\uput[135](D){D} +\pspolygon[fillcolor=lightgray,fillstyle=solid,linecolor=blue](A)(B)(C)(D) % 1. -% - \refractionRay(-3,-3)(-2,-2)(D)(A){1}{1.5}{END} - \psset{linecolor=red,linewidth=2pt,arrowsize=5pt,arrows=->} - \arrowLine(-3,-3)(END){2} - \ABinterCD(END)(END')(C)(B){Out} - \arrowLine(END)(Out){1} - \refractionRay(END)(Out)(C)(B){1.5}{1}{Q} - \arrowLine(Q)(Q'){1} - \psOutLine[length=2](Q)(Q'){End} -% +\refractionRay(-3,-3)(-2,-2)(D)(A){1}{1.5}{END} +\psset{linecolor=red,linewidth=2pt,arrowsize=5pt,arrows=->} +\arrowLine(-3,-3)(END){2}\ABinterCD(END)(END')(C)(B){Out} +\arrowLine(END)(Out){1}\refractionRay(END)(Out)(C)(B){1.5}{1}{Q} +\arrowLine(Q)(Q'){1}\psOutLine[length=2](Q)(Q'){End} % 2. - \refractionRay(-3,0)(-2,0)(A)(D){1}{1.5}{END} - \psset{linecolor=green,linewidth=2pt,arrowsize=5pt,arrows=->} - \arrowLine(-3,0)(END){2} - \ABinterCD(END)(END')(C)(B){Out} - \arrowLine(END)(Out){1} - \refractionRay(END)(Out)(C)(B){1.5}{1}{Q} - \arrowLine(Q)(Q'){1} - \psOutLine[length=2](Q)(Q'){End} -% +\refractionRay(-3,0)(-2,0)(A)(D){1}{1.5}{END} +\psset{linecolor=green,linewidth=2pt,arrowsize=5pt,arrows=->} +\arrowLine(-3,0)(END){2}\ABinterCD(END)(END')(C)(B){Out} +\arrowLine(END)(Out){1}\refractionRay(END)(Out)(C)(B){1.5}{1}{Q} +\arrowLine(Q)(Q'){1}\psOutLine[length=2](Q)(Q'){End} % 3. -% - \refractionRay(-3,3)(-2,2)(D)(A){1}{1.5}{END} - \psset{linecolor=blue,linewidth=2pt,arrowsize=5pt,arrows=->} - \arrowLine(-3,3)(END){2} - \ABinterCD(END)(END')(C)(B){Out} - \arrowLine(END)(Out){1} - \refractionRay(END)(Out)(C)(B){1.5}{1}{Q} - \arrowLine(Q)(Q'){1} - \psOutLine[length=2](Q)(Q'){End} +\refractionRay(-3,3)(-2,2)(D)(A){1}{1.5}{END} +\psset{linecolor=blue,linewidth=2pt,arrowsize=5pt,arrows=->} +\arrowLine(-3,3)(END){2}\ABinterCD(END)(END')(C)(B){Out} +\arrowLine(END)(Out){1}\refractionRay(END)(Out)(C)(B){1.5}{1}{Q} +\arrowLine(Q)(Q'){1}\psOutLine[length=2](Q)(Q'){End} \end{pspicture} -\bigskip - - -\begin{lstlisting} -\begin{pspicture}(-5,-3)(5,3) - \psgrid[subgriddiv=0,griddots=5,gridlabels=7pt] - \pnode(-1,-2.5){A} - \pnode(1,-2.5){B} - \pnode(1,2.5){C} - \pnode(-1,2.5){D} -% \rotateFrame(A)(B)(C)(D){10} - \uput[-135](A){A}\uput[-45](B){B} - \uput[45](C){C}\uput[135](D){D} - \pspolygon[fillcolor=lightgray,fillstyle=solid,linecolor=blue](A)(B)(C)(D) -% -% 1. -% - \refractionRay(-3,-3)(-2,-2)(D)(A){1}{1.5}{END} - \psset{linecolor=red,linewidth=2pt,arrowsize=5pt,arrows=->} - \arrowLine(-3,-3)(END){2} - \ABinterCD(END)(END')(C)(B){Out} - \arrowLine(END)(Out){1} - \refractionRay(END)(Out)(C)(B){1.5}{1}{Q} - \arrowLine(Q)(Q'){1} - \psOutLine[length=2](Q)(Q'){End} -% -% 2. - \refractionRay(-3,0)(-2,0)(A)(D){1}{1.5}{END} - \psset{linecolor=green,linewidth=2pt,arrowsize=5pt,arrows=->} - \arrowLine(-3,0)(END){2} - \ABinterCD(END)(END')(C)(B){Out} - \arrowLine(END)(Out){1} - \refractionRay(END)(Out)(C)(B){1.5}{1}{Q} - \arrowLine(Q)(Q'){1} - \psOutLine[length=2](Q)(Q'){End} -% -% 3. -% - \refractionRay(-3,3)(-2,2)(D)(A){1}{1.5}{END} - \psset{linecolor=blue,linewidth=2pt,arrowsize=5pt,arrows=->} - \arrowLine(-3,3)(END){2} - \ABinterCD(END)(END')(C)(B){Out} - \arrowLine(END)(Out){1} - \refractionRay(END)(Out)(C)(B){1.5}{1}{Q} - \arrowLine(Q)(Q'){1} - \psOutLine[length=2](Q)(Q'){End} -\end{pspicture} -\end{lstlisting} +\end{LTXexample} +\xLcs{refractionRay}\xLcs{arrowLine}\xLcs{ABinterCD}\xLkeyword{length} +\clearpage \section{Horizontal Medium} Refrectionnumbers are $n_1=1$ and $n_2=1.5$: -\bigskip - -\begin{pspicture}(-5,-4)(5,3) - \psgrid[subgriddiv=0,griddots=5,gridlabels=7pt] - \pnode(-2.5,-1){A} - \pnode(2.5,-1){B} - \pnode(2.5,1){C} - \pnode(-2.5,1){D} -% \rotateFrame(A)(B)(C)(D){10} - \uput[-135](A){A}\uput[-45](B){B} - \uput[45](C){C}\uput[135](D){D} - \pspolygon[fillcolor=lightgray,fillstyle=solid,linecolor=blue](A)(B)(C)(D) -% +\begin{LTXexample} +\begin{pspicture}[showgrid=true](-5,-4)(5,3) +\pnode(-2.5,-1){A}\pnode(2.5,-1){B}\pnode(2.5,1){C}\pnode(-2.5,1){D} +%\rotateFrame(A)(B)(C)(D){10} +\uput[-135](A){A}\uput[-45](B){B}\uput[45](C){C}\uput[135](D){D} +\pspolygon[fillcolor=lightgray,fillstyle=solid,linecolor=blue](A)(B)(C)(D) % 1. -% - \refractionRay(-3,3)(-2,2)(C)(D){1}{1.5}{END} - \psset{linecolor=red,linewidth=2pt,arrowsize=5pt,arrows=->} - \arrowLine(-3,3)(END){2} - \ABinterCD(END)(END')(B)(A){Out} - \arrowLine(END)(Out){1} - \refractionRay(END)(Out)(B)(A){1.5}{1}{Q} - \arrowLine(Q)(Q'){1} - \psOutLine[length=2](Q)(Q'){End} -% +\refractionRay(-3,3)(-2,2)(C)(D){1}{1.5}{END} +\psset{linecolor=red,linewidth=2pt,arrowsize=5pt,arrows=->} +\arrowLine(-3,3)(END){2}\ABinterCD(END)(END')(B)(A){Out} +\arrowLine(END)(Out){1}\refractionRay(END)(Out)(B)(A){1.5}{1}{Q} +\arrowLine(Q)(Q'){1}\psOutLine[length=2](Q)(Q'){End} % 2. -% - \refractionRay(0,3)(0,1)(C)(D){1}{1.5}{END} - \psset{linecolor=green,linewidth=2pt,arrowsize=5pt,arrows=->} - \arrowLine(0,3)(END){2} - \ABinterCD(END)(END')(A)(B){Out} - \arrowLine(END)(Out){1} - \refractionRay(END)(Out)(B)(A){1.5}{1}{Q} - \arrowLine(Q)(Q'){1} - \psOutLine[length=2](Q)(Q'){End} -% +\refractionRay(0,3)(0,1)(C)(D){1}{1.5}{END} +\psset{linecolor=green,linewidth=2pt,arrowsize=5pt,arrows=->} +\arrowLine(0,3)(END){2}\ABinterCD(END)(END')(A)(B){Out} +\arrowLine(END)(Out){1}\refractionRay(END)(Out)(B)(A){1.5}{1}{Q} +\arrowLine(Q)(Q'){1}\psOutLine[length=2](Q)(Q'){End} % 3. -% - \refractionRay(3,3)(2,2)(C)(D){1}{1.5}{END} - \psset{linecolor=blue,linewidth=2pt,arrowsize=5pt,arrows=->} - \arrowLine(3,3)(END){2} - \ABinterCD(END)(END')(B)(A){Out} - \arrowLine(END)(Out){1} - \refractionRay(END)(Out)(B)(A){1.5}{1}{Q} - \arrowLine(Q)(Q'){1} - \psOutLine[length=2](Q)(Q'){End} +\refractionRay(3,3)(2,2)(C)(D){1}{1.5}{END} +\psset{linecolor=blue,linewidth=2pt,arrowsize=5pt,arrows=->} +\arrowLine(3,3)(END){2}\ABinterCD(END)(END')(B)(A){Out} +\arrowLine(END)(Out){1}\refractionRay(END)(Out)(B)(A){1.5}{1}{Q} +\arrowLine(Q)(Q'){1}\psOutLine[length=2](Q)(Q'){End} \end{pspicture} +\end{LTXexample} +\xLcs{refractionRay}\xLcs{arrowLine}\xLcs{ABinterCD} - -\begin{lstlisting} -\begin{pspicture}(-5,-4)(5,3) - \psgrid[subgriddiv=0,griddots=5,gridlabels=7pt] - \pnode(-2.5,-1){A} - \pnode(2.5,-1){B} - \pnode(2.5,1){C} - \pnode(-2.5,1){D} - \uput[-135](A){A}\uput[-45](B){B} - \uput[45](C){C}\uput[135](D){D} - \pspolygon[fillcolor=lightgray,fillstyle=solid,linecolor=blue](A)(B)(C)(D) -% -% 1. -% - \refractionRay(-3,3)(-2,2)(C)(D){1}{1.5}{END} - \psset{linecolor=red,linewidth=2pt,arrowsize=5pt,arrows=->} - \arrowLine(-3,3)(END){2} - \ABinterCD(END)(END')(B)(A){Out} - \arrowLine(END)(Out){1} - \refractionRay(END)(Out)(B)(A){1.5}{1}{Q} - \arrowLine(Q)(Q'){1} - \psOutLine[length=2](Q)(Q'){End} -% -% 2. -% - \refractionRay(0,3)(0,1)(C)(D){1}{1.5}{END} - \psset{linecolor=green,linewidth=2pt,arrowsize=5pt,arrows=->} - \arrowLine(0,3)(END){2} - \ABinterCD(END)(END')(A)(B){Out} - \arrowLine(END)(Out){1} - \refractionRay(END)(Out)(B)(A){1.5}{1}{Q} - \arrowLine(Q)(Q'){1} - \psOutLine[length=2](Q)(Q'){End} -% -% 3. -% - \refractionRay(3,3)(2,2)(C)(D){1}{1.5}{END} - \psset{linecolor=blue,linewidth=2pt,arrowsize=5pt,arrows=->} - \arrowLine(3,3)(END){2} - \ABinterCD(END)(END')(B)(A){Out} - \arrowLine(END)(Out){1} - \refractionRay(END)(Out)(B)(A){1.5}{1}{Q} - \arrowLine(Q)(Q'){1} - \psOutLine[length=2](Q)(Q'){End} -\end{pspicture} -\end{lstlisting} +\clearpage \section{Parallel Rays and a sloping medium} Refrectionnumbers are $n_1=1$ and $n_2=1.5$: -\bigskip +\begin{LTXexample} +\begin{pspicture}[showgrid=true](-7,-1)(5,6) +\pnode(0,0){A}\pnode(2,0){B}\pnode(2,5){C}\pnode(0,5){D} +\rotateFrame(A)(B)(C)(D){40} +\uput[-135](A){A}\uput[-45](B){B}\uput[30](C){C}\uput[135](D){D} +\pspolygon[fillcolor=lightgray,fillstyle=solid,linecolor=blue](A)(B)(C)(D) +\psset{linecolor=red,linewidth=2pt,arrowsize=5pt,arrows=->} +\multido{\r=1.10+0.28}{8}{% + \refractionRay(-6.00,\r)(-3.00,\r)(A)(D){1}{1.5}{End} + \arrowLine(-6.00,\r)(End){2}\ABinterCD(End)(End')(C)(B){Out} + \arrowLine(End)(Out){1}\refractionRay(End)(Out)(C)(B){1.5}{1}{Q} + \psline(Q)(Q')\psOutLine[length=3](Q)(Q'){End}} +\end{pspicture} +\end{LTXexample} +\xLcs{refractionRay}\xLcs{arrowLine}\xLcs{ABinterCD}\xLcs{polygon} -\begin{pspicture}(-7,-1)(5,6) - \psgrid[subgriddiv=0,griddots=5,gridlabels=7pt] - \pnode(0,0){A} - \pnode(2,0){B} - \pnode(2,5){C} - \pnode(0,5){D} - \rotateFrame(A)(B)(C)(D){40} - \uput[-135](A){A}\uput[-45](B){B} - \uput[30](C){C}\uput[135](D){D} - \pspolygon[fillcolor=lightgray,fillstyle=solid,linecolor=blue](A)(B)(C)(D) - \psset{linecolor=red,linewidth=2pt,arrowsize=5pt,arrows=->} - \multido{\r=1.10+0.28}{8}{% - \refractionRay(-6.00,\r)(-3.00,\r)(A)(D){1}{1.5}{End} - \arrowLine(-6.00,\r)(End){2} - \ABinterCD(End)(End')(C)(B){Out} - \arrowLine(End)(Out){1} - \refractionRay(End)(Out)(C)(B){1.5}{1}{Q} - \psline(Q)(Q') - \psOutLine[length=3](Q)(Q'){End} - } -\end{pspicture} -\begin{lstlisting} -\begin{pspicture}(-7,-1)(5,6) - \psgrid[subgriddiv=0,griddots=5,gridlabels=7pt] - \pnode(0,0){A} - \pnode(2,0){B} - \pnode(2,5){C} - \pnode(0,5){D} - \rotateFrame(A)(B)(C)(D){45} - \uput[-135](A){A}\uput[-45](B){B} - \uput[30](C){C}\uput[135](D){D} - \pspolygon[fillcolor=lightgray,fillstyle=solid,linecolor=blue](A)(B)(C)(D) - \psset{linecolor=red,linewidth=2pt,arrowsize=5pt,arrows=->} - \multido{\r=3.0+-0.3}{8}{% - \refractionRay(-7,\r)(-4,\r)(D)(A){1}{1.25}{END} - \arrowLine(-7,\r)(END){2} - \ABinterCD(END)(END')(C)(B){Out} - \arrowLine(END)(Out){1} - \refractionRay(END)(Out)(C)(B){1.25}{1}{Q} - \psline(Q)(Q') - \psOutLine[length=3](Q)(Q'){End}% - } -\end{pspicture} -\end{lstlisting} +\clearpage \section{A Prisma} Refrectionnumbers are $n_1=1$ and $n_2=1.5$: -\bigskip - -\begin{pspicture}(-7,0)(5,6) - \psgrid[subgriddiv=0,griddots=5,gridlabels=7pt] - \pnode(-3,1){A}\pnode(1,1){B}\pnode(-1,5){C} - \uput[-135](A){A}\uput[-45](B){B}\uput[30](C){C} - \pspolygon[fillcolor=lightgray,fillstyle=solid,linecolor=blue](A)(B)(C) - \psset{linecolor=red,linewidth=2pt,arrowsize=5pt,arrows=->} - \multido{\rA=0.6+0.2,\rB=1.5+0.2}{7}{% - \refractionRay(-6,\rA)(-4,\rB)(C)(A){1}{1.5}{END} - \arrowLine(-6,\rA)(END){2} - \ABinterCD(END)(END')(C)(B){Out} - \arrowLine(END)(Out){1} - \refractionRay(END)(Out)(C)(B){1.5}{1}{Q} - \psline(Q)(Q') - \psOutLine[length=3](Q)(Q'){End}% - } -\end{pspicture} -\bigskip -\begin{lstlisting} -\begin{pspicture}(-7,0)(5,6) - \psgrid[subgriddiv=0,griddots=5,gridlabels=7pt] - \pnode(-3,1){A}\pnode(1,1){B}\pnode(-1,5){C} - \uput[-135](A){A}\uput[-45](B){B}\uput[30](C){C} - \pspolygon[fillcolor=lightgray,fillstyle=solid,linecolor=blue](A)(B)(C) - \psset{linecolor=red,linewidth=2pt,arrowsize=5pt,arrows=->} - \multido{\rA=0.6+0.2,\rB=1.5+0.2}{7}{% - \refractionRay(-6,\rA)(-4,\rB)(C)(A){1}{1.5}{END} - \arrowLine(-6,\rA)(END){2} - \ABinterCD(END)(END')(C)(B){Out} - \arrowLine(END)(Out){1} - \refractionRay(END)(Out)(C)(B){1.5}{1}{Q} - \psline(Q)(Q') - \psOutLine[length=3](Q)(Q'){End}% - } +\begin{LTXexample} +\begin{pspicture}[showgrid=true](-7,0)(5,6) +\pnode(-3,1){A}\pnode(1,1){B}\pnode(-1,5){C}\uput[-135](A){A}\uput[-45](B){B}\uput[30](C){C} +\pspolygon[fillcolor=lightgray,fillstyle=solid,linecolor=blue](A)(B)(C) +\psset{linecolor=red,linewidth=2pt,arrowsize=5pt,arrows=->} +\multido{\rA=0.6+0.2,\rB=1.5+0.2}{7}{% + \refractionRay(-6,\rA)(-4,\rB)(C)(A){1}{1.5}{END}\arrowLine(-6,\rA)(END){2} + \ABinterCD(END)(END')(C)(B){Out}\arrowLine(END)(Out){1} + \refractionRay(END)(Out)(C)(B){1.5}{1}{Q}\psline(Q)(Q')\psOutLine[length=3](Q)(Q'){End}} \end{pspicture} -\end{lstlisting} +\end{LTXexample} +\xLcs{refractionRay}\xLcs{arrowLine}\xLcs{ABinterCD}\xLcs{psOutLine} -\begin{landscape} \section{A Prisma for Dispersion} -The following figure shows the lioght dispersion with realistic values for the refractions numbers of the different light colors. +The following figure shows the light dispersion with realistic values for the refractions numbers of the different light colors. \bigskip -\begin{tabular}{l|l} - Color & Refraction number $n$ for glass\\\hline - dark blue & $1.528$ \\ - bluegreen & $1.523$ \\ - yellow & $1.517$ \\ - red & $1.514$ \\ - darkred & $1.511$ \\ +\begin{tabular}{ @{}l l l l l l @{}} + & darkblue & bluegreen & yellow & red & darkred \\ +$n$ for glass & 1.528 & 1.523 & 1.517 & 1.514 & 1.511 \end{tabular} -\bigskip -\begin{pspicture}(-7,0)(14,6) - \psgrid[subgriddiv=0,griddots=5,gridlabels=7pt] - \pnode(-6,1){A}\pnode(-2,1){B}\pnode(-4,5){C} - \uput[-135](A){A}\uput[-45](B){B}\uput[30](C){C} - \pnode(12.5,0.5){E1}\pnode(12.5,5.5){E2} - \psframe[fillcolor=lightgray,fillstyle=solid](E1)(12.75,5.5) - \pspolygon[fillcolor=lightgray,fillstyle=solid,linecolor=blue](A)(B)(C) - \psset{linecolor=black,linewidth=2pt,arrowsize=5pt,arrows=->} - \pnode(-7,1){P1}\pnode(-6,2){P2} - \ABinterCD(P1)(P2)(C)(A){END} - \arrowLine(P1)(END){2} -% - \psset{linecolor=blue,linewidth=0.5pt,arrowsize=2pt,} - \refractionRay(P1)(P2)(C)(A){1}{1.528}{END} - \ABinterCD(END)(END')(C)(B){Out} - \arrowLine(END)(Out){1} - \refractionRay(END)(Out)(C)(B){1.528}{1}{Q} - \psline(Q)(Q') - \ABinterCD(Q)(Q')(E1)(E2){END} - \arrowLine(Q)(END){4}\qdisk(END){1.5pt} -% - \psset{linecolor=green} - \refractionRay(P1)(P2)(C)(A){1}{1.523}{END} - \ABinterCD(END)(END')(C)(B){Out} - \arrowLine(END)(Out){1} - \refractionRay(END)(Out)(C)(B){1.523}{1}{Q} - \psline(Q)(Q') - \ABinterCD(Q)(Q')(E1)(E2){END} - \arrowLine(Q)(END){4}\qdisk(END){1.5pt} -% - \psset{linecolor=yellow} - \refractionRay(P1)(P2)(C)(A){1}{1.517}{END} - \ABinterCD(END)(END')(C)(B){Out} - \arrowLine(END)(Out){1} - \refractionRay(END)(Out)(C)(B){1.517}{1}{Q} - \psline(Q)(Q') - \ABinterCD(Q)(Q')(E1)(E2){END} - \arrowLine(Q)(END){4}\qdisk(END){1.5pt} -% - \psset{linecolor=red} - \refractionRay(P1)(P2)(C)(A){1}{1.511}{END} - \ABinterCD(END)(END')(C)(B){Out} - \arrowLine(END)(Out){1} - \refractionRay(END)(Out)(C)(B){1.511}{1}{Q} - \psline(Q)(Q') - \ABinterCD(Q)(Q')(E1)(E2){END} - \arrowLine(Q)(END){4}\qdisk(END){1.5pt} -\end{pspicture} +\begin{landscape} +\begin{LTXexample}[wide=false] +\begin{pspicture}[showgrid=true](-7,0)(14,6) +\pnode(-6,1){A}\pnode(-2,1){B}\pnode(-4,5){C}\uput[-135](A){A}\uput[-45](B){B}\uput[30](C){C} +\pnode(12.5,0.5){E1}\pnode(12.5,5.5){E2} +\psframe[fillcolor=lightgray,fillstyle=solid](E1)(12.75,5.5)\pspolygon[fillcolor=lightgray,fillstyle=solid,linecolor=blue](A)(B)(C) +\psset{linecolor=black,linewidth=2pt,arrowsize=5pt,arrows=->} +\pnode(-7,1){P1}\pnode(-6,2){P2}\ABinterCD(P1)(P2)(C)(A){END}\arrowLine(P1)(END){2} +\psset{linecolor=blue,linewidth=0.5pt,arrowsize=2pt,} +\refractionRay(P1)(P2)(C)(A){1}{1.528}{END}\ABinterCD(END)(END')(C)(B){Out}\arrowLine(END)(Out){1} +\refractionRay(END)(Out)(C)(B){1.528}{1}{Q}\psline(Q)(Q')\ABinterCD(Q)(Q')(E1)(E2){END}\arrowLine(Q)(END){4}\qdisk(END){1.5pt} +\psset{linecolor=green} +\refractionRay(P1)(P2)(C)(A){1}{1.523}{END}\ABinterCD(END)(END')(C)(B){Out}\arrowLine(END)(Out){1} +\refractionRay(END)(Out)(C)(B){1.523}{1}{Q}\psline(Q)(Q')\ABinterCD(Q)(Q')(E1)(E2){END}\arrowLine(Q)(END){4}\qdisk(END){1.5pt} +\psset{linecolor=yellow} +\refractionRay(P1)(P2)(C)(A){1}{1.517}{END}\ABinterCD(END)(END')(C)(B){Out}\arrowLine(END)(Out){1} +\refractionRay(END)(Out)(C)(B){1.517}{1}{Q}\psline(Q)(Q')\ABinterCD(Q)(Q')(E1)(E2){END}\arrowLine(Q)(END){4}\qdisk(END){1.5pt} +\psset{linecolor=red} +\refractionRay(P1)(P2)(C)(A){1}{1.511}{END}\ABinterCD(END)(END')(C)(B){Out}\arrowLine(END)(Out){1} +\refractionRay(END)(Out)(C)(B){1.511}{1}{Q}\psline(Q)(Q')\ABinterCD(Q)(Q')(E1)(E2){END}\arrowLine(Q)(END){4}\qdisk(END){1.5pt} +\end{pspicture} +\end{LTXexample} \end{landscape} -\begin{lstlisting} -\begin{pspicture}(-7,0)(14,6) - \psgrid[subgriddiv=0,griddots=5,gridlabels=7pt] - \pnode(-6,1){A}\pnode(-2,1){B}\pnode(-4,5){C} - \uput[-135](A){A}\uput[-45](B){B}\uput[30](C){C} - \pnode(12.5,0.5){E1}\pnode(12.5,5.5){E2} - \psframe[fillcolor=lightgray,fillstyle=solid](E1)(12.75,5.5) - \pspolygon[fillcolor=lightgray,fillstyle=solid,linecolor=blue](A)(B)(C) - \psset{linecolor=black,linewidth=2pt,arrowsize=5pt,arrows=->} - \pnode(-7,1){P1}\pnode(-6,2){P2} - \ABinterCD(P1)(P2)(C)(A){END} - \arrowLine(P1)(END){2} -% - \psset{linecolor=blue,linewidth=0.5pt,arrowsize=2pt,} - \refractionRay(P1)(P2)(C)(A){1}{1.528}{END} - \ABinterCD(END)(END')(C)(B){Out} - \arrowLine(END)(Out){1} - \refractionRay(END)(Out)(C)(B){1.528}{1}{Q} - \psline(Q)(Q') - \ABinterCD(Q)(Q')(E1)(E2){END} - \arrowLine(Q)(END){4}\qdisk(END){1.5pt} -% - \psset{linecolor=green} - \refractionRay(P1)(P2)(C)(A){1}{1.523}{END} - \ABinterCD(END)(END')(C)(B){Out} - \arrowLine(END)(Out){1} - \refractionRay(END)(Out)(C)(B){1.523}{1}{Q} - \psline(Q)(Q') - \ABinterCD(Q)(Q')(E1)(E2){END} - \arrowLine(Q)(END){4}\qdisk(END){1.5pt} -% - \psset{linecolor=yellow} - \refractionRay(P1)(P2)(C)(A){1}{1.517}{END} - \ABinterCD(END)(END')(C)(B){Out} - \arrowLine(END)(Out){1} - \refractionRay(END)(Out)(C)(B){1.517}{1}{Q} - \psline(Q)(Q') - \ABinterCD(Q)(Q')(E1)(E2){END} - \arrowLine(Q)(END){4}\qdisk(END){1.5pt} -% - \psset{linecolor=red} - \refractionRay(P1)(P2)(C)(A){1}{1.511}{END} - \ABinterCD(END)(END')(C)(B){Out} - \arrowLine(END)(Out){1} - \refractionRay(END)(Out)(C)(B){1.511}{1}{Q} - \psline(Q)(Q') - \ABinterCD(Q)(Q')(E1)(E2){END} - \arrowLine(Q)(END){4}\qdisk(END){1.5pt} -\end{pspicture} -\end{lstlisting} - - \clearpage \section{Refration with different Angles} Refrectionnumbers are $n_1=1$ and $n_2=1.5$: -\bigskip -\begin{pspicture}(-6,-5)(6,5) - \psgrid[subgriddiv=0,griddots=5,gridlabels=7pt] - \pnode(-6,-1){A}\pnode(6,-1){B}\pnode(6,1){C}\pnode(-6,1){D} - \uput[-135](A){A}\uput[-45](B){B} - \uput[30](C){C}\uput[135](D){D} - \pspolygon[fillcolor=lightgray,fillstyle=solid,linecolor=blue](A)(B)(C)(D) - \psline[linewidth=0.5pt](0,-5)(0,5) - \psset{linecolor=red,linewidth=1.5pt,arrowsize=5pt,arrows=->} - \multido{\n=30+5}{25}{% - \refractionRay(5;\n)(0,1)(C)(D){1}{1.5}{END} - \arrowLine(5;\n)(END){2} - \ABinterCD(END)(END')(B)(A){Out} - \arrowLine(END)(Out){1} - \refractionRay(END)(Out)(B)(A){1.5}{1}{Q} - \psline(Q)(Q') - \psOutLine[length=3](Q)(Q'){End}% - } +\begin{LTXexample} +\begin{pspicture}[showgrid=true](-6,-5)(6,5) +\pnode(-6,-1){A}\pnode(6,-1){B}\pnode(6,1){C}\pnode(-6,1){D} +\uput[-135](A){A}\uput[-45](B){B}\uput[30](C){C}\uput[135](D){D} +\pspolygon[fillcolor=lightgray,fillstyle=solid,linecolor=blue](A)(B)(C)(D) +\psline[linewidth=0.5pt](0,-5)(0,5) +\psset{linecolor=red,linewidth=1.5pt,arrowsize=5pt,arrows=->} +\multido{\n=30+5}{25}{% + \refractionRay(5;\n)(0,1)(C)(D){1}{1.5}{END}\arrowLine(5;\n)(END){2} + \ABinterCD(END)(END')(B)(A){Out}\arrowLine(END)(Out){1} + \refractionRay(END)(Out)(B)(A){1.5}{1}{Q}\psline(Q)(Q')\psOutLine[length=3](Q)(Q'){End}} \end{pspicture} +\end{LTXexample} + + -\bigskip -\begin{lstlisting} -\begin{pspicture}(-6,-5)(6,5) - \psgrid[subgriddiv=0,griddots=5,gridlabels=7pt] - \pnode(-6,-1){A}\pnode(6,-1){B}\pnode(6,1){C}\pnode(-6,1){D} - \uput[-135](A){A}\uput[-45](B){B} - \uput[30](C){C}\uput[135](D){D} - \pspolygon[fillcolor=lightgray,fillstyle=solid,linecolor=blue](A)(B)(C)(D) - \psline[linewidth=0.5pt](0,-5)(0,5) - \psset{linecolor=red,linewidth=1.5pt,arrowsize=5pt,arrows=->} - \multido{\n=30+5}{25}{% - \refractionRay(5;\n)(0,1)(C)(D){1}{1.5}{END} - \arrowLine(5;\n)(END){2} - \ABinterCD(END)(END')(B)(A){Out} - \arrowLine(END)(Out){1} - \refractionRay(END)(Out)(B)(A){1.5}{1}{Q} - \psline(Q)(Q') - \psOutLine[length=3](Q)(Q'){End}% - } -\end{pspicture} -\end{lstlisting} \clearpage \section{Great difference in the Refractionsnumbers} @@ -1247,50 +449,17 @@ Refrectionnumbers are $n_1=1$ and $n_2=1.5$: Refrectionnumbers are $n_1=1$ and $n_2=4$: -\bigskip - -\begin{pspicture}(-5,-1)(2,6) - \psgrid[subgriddiv=0,griddots=5,gridlabels=7pt] - \pnode(0,0){A} - \pnode(2,0){B} - \pnode(2,5){C} - \pnode(0,5){D} - \rotateFrame(A)(B)(C)(D){45} - \uput[-135](A){A}\uput[-40](B){B} - \uput[45](C){C}\uput[135](D){D} - \pspolygon[fillcolor=lightgray,fillstyle=solid,linecolor=blue](A)(B)(C)(D) - \refractionRay(-2.5,-1)(-2,1)(A)(D){1}{4}{END} - \psset{linecolor=red,linewidth=2pt,arrowsize=5pt,arrows=->} - \arrowLine(-2.5,-1)(END){2} - \ABinterCD(END)(END')(C)(B){Out} - \arrowLine(END)(Out){1} - \refractionRay(END)(Out)(C)(B){4}{1}{Q} - \arrowLine(Q)(Q'){1} - \psOutLine[length=2](Q)(Q'){End} -\end{pspicture} - - -\begin{lstlisting} -\begin{pspicture}(-5,-1)(2,6) - \psgrid[subgriddiv=0,griddots=5,gridlabels=7pt] - \pnode(0,0){A} - \pnode(2,0){B} - \pnode(2,5){C} - \pnode(0,5){D} - \rotateFrame(A)(B)(C)(D){45} - \uput[-135](A){A}\uput[-40](B){B} - \uput[45](C){C}\uput[135](D){D} - \pspolygon[fillcolor=lightgray,fillstyle=solid,linecolor=blue](A)(B)(C)(D) - \refractionRay(-2.5,-1)(-2,1)(D)(A){1}{4}{END} - \psset{linecolor=red,linewidth=2pt,arrowsize=5pt,arrows=->} - \arrowLine(-2.5,-1)(END){2} - \ABinterCD(END)(END')(C)(B){Out} - \arrowLine(END)(Out){1} - \refractionRay(END)(Out)(C)(B){4}{1}{Q} - \arrowLine(Q)(Q'){1} - \psOutLine[length=2](Q)(Q'){End} +\begin{LTXexample} +\begin{pspicture}[showgrid=true](-5,-1)(2,6) +\pnode(0,0){A}\pnode(2,0){B}\pnode(2,5){C}\pnode(0,5){D}\rotateFrame(A)(B)(C)(D){45} +\uput[-135](A){A}\uput[-40](B){B}\uput[45](C){C}\uput[135](D){D} +\pspolygon[fillcolor=lightgray,fillstyle=solid,linecolor=blue](A)(B)(C)(D) +\refractionRay(-2.5,-1)(-2,1)(A)(D){1}{4}{END} +\psset{linecolor=red,linewidth=2pt,arrowsize=5pt,arrows=->} +\arrowLine(-2.5,-1)(END){2}\ABinterCD(END)(END')(C)(B){Out}\arrowLine(END)(Out){1} +\refractionRay(END)(Out)(C)(B){4}{1}{Q}\arrowLine(Q)(Q'){1}\psOutLine[length=2](Q)(Q'){End} \end{pspicture} -\end{lstlisting} +\end{LTXexample} \clearpage @@ -1298,46 +467,18 @@ Refrectionnumbers are $n_1=1$ and $n_2=4$: \section{Total Reflection} Refrectionnumbers are $n_1=2$ and $n_2=1$: -\bigskip -\begin{pspicture}(-8,-3)(8,6) - \psgrid[subgriddiv=0,griddots=5,gridlabels=7pt] - \pnode(-8,1.5){A}\pnode(8,1.5){B} - \uput[45](A){A}\uput[135](B){B} - \pnode(0,0){START} - \psframe[fillcolor=lightgray,fillstyle=solid,linecolor=blue](-8,-1.5)(B) - \psset{linecolor=red,linewidth=1.5pt,arrowsize=5pt,arrows=->} +\begin{LTXexample} +\begin{pspicture}[showgrid=true](-8,-3)(8,6) +\pnode(-8,1.5){A}\pnode(8,1.5){B}\uput[45](A){A}\uput[135](B){B}\pnode(0,0){START} +\psframe[fillcolor=lightgray,fillstyle=solid,linecolor=blue](-8,-1.5)(B) +\psset{linecolor=red,linewidth=1.5pt,arrowsize=5pt,arrows=->} % \multido{\n=20+5}{16}{% - \multido{\n=20+5}{29}{% - \refractionRay(START)(1;\n)(A)(B){1.5}{1}{END} - \arrowLine(START)(END){2} - \arrowLine(END)(END'){1} - \psOutLine[length=3](END)(END'){Q} - \arrowLine(END')(Q){3} - } -\end{pspicture} - - -\bigskip - - -\begin{lstlisting} -\begin{pspicture}(-8,-3)(8,6) - \psgrid[subgriddiv=0,griddots=5,gridlabels=7pt] - \pnode(-8,1.5){A}\pnode(8,1.5){B} - \uput[45](A){A}\uput[135](B){B} - \pnode(0,0){START} - \psframe[fillcolor=lightgray,fillstyle=solid,linecolor=blue](-8,-1.5)(B) - \psset{linecolor=red,linewidth=1.5pt,arrowsize=5pt,arrows=->} - \multido{\n=20+5}{29}{% - \refractionRay(START)(1;\n)(A)(B){2}{1}{END} - \arrowLine(START)(END){2} - \arrowLine(END)(END'){1} - \psOutLine[length=3](END)(END'){Q} - \arrowLine(END')(Q){3} - } +\multido{\n=20+5}{29}{% + \refractionRay(START)(1;\n)(A)(B){1.5}{1}{END}\arrowLine(START)(END){2} + \arrowLine(END)(END'){1}\psOutLine[length=3](END)(END'){Q}\arrowLine(END')(Q){3}} \end{pspicture} -\end{lstlisting} +\end{LTXexample} \clearpage @@ -1347,47 +488,19 @@ Refrectionnumbers are $n_1=2$ and $n_2=1$: Refrectionnumbers are $n_1=2$ and $n_2=1$: -\begin{pspicture}(-8,-6)(8,6) - \psgrid[subgriddiv=0,griddots=5,gridlabels=7pt] - \pnode(-6,1.5){A}\pnode(6,1.5){B} - \pnode(6,-1.5){C}\pnode(-6,-1.5){D} - \rotateFrame(A)(B)(C)(D){30} - \uput[90](A){A}\uput[135](B){B} - \pnode(0,0){START} - \pspolygon[fillcolor=lightgray,fillstyle=solid,linecolor=blue](A)(B)(C)(D) - \psset{linecolor=red,linewidth=1.5pt,arrowsize=5pt,arrows=->} - \multido{\n=50+5}{29}{% - \refractionRay(START)(1;\n)(A)(B){2}{1}{END} - \arrowLine(START)(END){2} - \arrowLine(END)(END'){1} - \psOutLine[length=3](END)(END'){Q} - \arrowLine(END')(Q){3} - } +\begin{LTXexample} +\begin{pspicture}[showgrid=true](-8,-6)(8,6) +\pnode(-6,1.5){A}\pnode(6,1.5){B}\pnode(6,-1.5){C}\pnode(-6,-1.5){D} +\rotateFrame(A)(B)(C)(D){30}\uput[90](A){A}\uput[135](B){B}\pnode(0,0){START} +\pspolygon[fillcolor=lightgray,fillstyle=solid,linecolor=blue](A)(B)(C)(D) +\psset{linecolor=red,linewidth=1.5pt,arrowsize=5pt,arrows=->} +\multido{\n=50+5}{29}{% + \refractionRay(START)(1;\n)(A)(B){2}{1}{END}\arrowLine(START)(END){2} + \arrowLine(END)(END'){1}\psOutLine[length=3](END)(END'){Q}\arrowLine(END')(Q){3}} \end{pspicture} +\end{LTXexample} -\par -\bigskip - -\begin{lstlisting} -\begin{pspicture}(-8,-6)(8,6) - \psgrid[subgriddiv=0,griddots=5,gridlabels=7pt] - \pnode(-6,1.5){A}\pnode(6,1.5){B} - \pnode(6,-1.5){C}\pnode(-6,-1.5){D} - \rotateFrame(A)(B)(C)(D){30} - \uput[90](A){A}\uput[135](B){B} - \pnode(0,0){START} - \pspolygon[fillcolor=lightgray,fillstyle=solid,linecolor=blue](A)(B)(C)(D) - \psset{linecolor=red,linewidth=1.5pt,arrowsize=5pt,arrows=->} - \multido{\n=50+5}{29}{% - \refractionRay(START)(1;\n)(A)(B){2}{1}{END} - \arrowLine(START)(END){2} - \arrowLine(END)(END'){1} - \psOutLine[length=3](END)(END'){Q} - \arrowLine(END')(Q){3} - } -\end{pspicture} -\end{lstlisting} - +\clearpage \part{Spherical Optic} @@ -1397,216 +510,79 @@ Refrectionnumbers are $n_1=2$ and $n_2=1$: \subsection[Simple Example]{Construction for finding the position of the image point P' of a point object P formed by refraction at a sperical surface} -\begin{pspicture*}(-10,-4)(3,4) - \psgrid[subgriddiv=0,griddots=5,gridlabels=7pt] - \rput(0,0){\lensSPH[% - lensType=CVG,% - lensHeight=12,% - lensWidth=10,% - yBottom=-6,yTop=6,xLeft=-6,xRight=6,% - 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} +\begin{LTXexample} +\begin{pspicture*}[showgrid=true](-10,-4)(3,4) +\rput(0,0){\lensSPH[lensType=CVG,lensHeight=12,lensWidth=10,yBottom=-6,yTop=6,xLeft=-6,xRight=6,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{LTXexample} +\xLcs{lensSPH}\xLcs{lensSPHRay}\xLcs{ABinterCD} -\bigskip - - -\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} -\end{pspicture} -\end{lstlisting} - - +\clearpage \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) - \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} - -\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} -\end{lstlisting} +\begin{LTXexample} +\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{LTXexample} +\xLcs{lensSPH}\xLcs{lensSPHRay}\xLcs{ABinterCD} +\clearpage \section{Thin Convergent Lenses} -If the two spherical surfaces are close enough we can call such a lense a \textbf{thin lens}. The following figure shows the behaviour of such a lense with real rays. +If the two spherical surfaces are close enough we can call such a lense a +\textbf{thin lens}. The following figure shows the behaviour of such a lense with real rays. +\begin{LTXexample} \psset{xunit=0.75cm} -\begin{pspicture}(-10,-4)(10,4) - \psgrid[subgriddiv=0,griddots=5,gridlabels=7pt] - \rput(0,0){\lensSPH[% - lensType=CVG,% - lensHeight=7,% - lensWidth=1.25,% - yBottom=-5,yTop=5,xLeft=-12,xRight=12,% - AB=2,OA=-9,% - refractA=1,refractB=2,% - drawing=true,% - rayColor=red]} -\end{pspicture} - -\bigskip -\begin{lstlisting} -\psset{xunit=0.75cm} -\begin{pspicture}(-10,-4)(10,4) - \psgrid[subgriddiv=0,griddots=5,gridlabels=7pt] - \rput(0,0){\lensSPH[% - lensType=CVG,% - lensHeight=7,% - lensWidth=1.25,% - yBottom=-5,yTop=5,xLeft=-12,xRight=12,% - AB=2,OA=-9,% - refractA=1,refractB=2,% - drawing=true,% - rayColor=red]} -\end{pspicture} -\end{lstlisting} +\begin{pspicture*}[showgrid=true](-10,-4)(10,4) +\rput(0,0){\lensSPH[lensType=CVG,lensHeight=7,lensWidth=1.25,yBottom=-5,yTop=5,xLeft=-12,xRight=12,% + AB=2,OA=-9,refractA=1,refractB=2,drawing=true,rayColor=red]} +\end{pspicture*} +\end{LTXexample} +\xLkeyword{refractA}\xLkeyword{refractB}\xLkeyset{lensType=CVG}\xLkeyword{AB} \clearpage - - \section{Thick Convergent Lenses} There is no real image possible. +\begin{LTXexample} \begin{pspicture}(-10,-4)(10,4) - \psgrid[subgriddiv=0,griddots=5,gridlabels=7pt] - \rput(0,0){\lensSPH[% - lensType=CVG,% - lensHeight=7,% - lensWidth=2,% - yBottom=-5,yTop=5,xLeft=-12,xRight=12,% - AB=2,OA=-9,% - refractA=1,refractB=2,% - drawing=true,% - rayColor=red]} +\rput(0,0){\lensSPH[lensType=CVG,lensHeight=7,lensWidth=2,yBottom=-5,yTop=5,xLeft=-12,xRight=12,% + AB=2,OA=-9,refractA=1,refractB=2,drawing=true,rayColor=red]} \end{pspicture} +\end{LTXexample} +\xLkeyword{refractA}\xLkeyword{refractB}\xLkeyset{lensType=CVG}\xLkeyword{AB} -\bigskip -\begin{lstlisting} -\begin{pspicture}(-10,-4)(10,4) - \psgrid[subgriddiv=0,griddots=5,gridlabels=7pt] - \rput(0,0){\lensSPH[% - lensType=CVG,% - lensHeight=7,% - lensWidth=2,% - yBottom=-5,yTop=5,xLeft=-12,xRight=12,% - AB=2,OA=-9,% - refractA=1,refractB=2,% - drawing=true,% - rayColor=red]} -\end{pspicture} -\end{lstlisting} - \clearpage - - \section{Thin Divergent Lenses} If the two spherical surfaces are close enough we can call such a lense a \textbf{thin lens}. The following figure shows the behaviour of such a lense with real rays. -\bigskip -\begin{pspicture*}(-6,-3)(6,3) - \psgrid[subgriddiv=0,griddots=5,gridlabels=7pt] - \rput(0,0){\lensSPH[% - lensType=DVG,% - lensWidth=0.1,% - lensDepth=0.2,% - AB=1,OA=-5,% - drawing=true,% - rayColor=red]} -\end{pspicture*} - -\bigskip -\begin{lstlisting} -\begin{pspicture*}(-6,-3)(6,3) - \psgrid[subgriddiv=0,griddots=5,gridlabels=7pt] - \rput(0,0){\lensSPH[% - lensType=DVG,% - lensWidth=0.1,% - lensDepth=0.2,% - AB=1,OA=-5,% - drawing=true,% - rayColor=red]} +\psset{unit=1cm} +\begin{LTXexample} +\begin{pspicture*}[showgrid=true](-6,-3)(6,3) +\rput(0,0){\lensSPH[lensType=DVG,lensWidth=0.1,lensDepth=0.2,AB=1,OA=-5,drawing=true,rayColor=red]} \end{pspicture*} -\end{lstlisting} +\end{LTXexample} +\xLcs{lensSPH}\xLkeyset{lensType=DVG}\xLkeyword{AB} \clearpage @@ -1615,167 +591,63 @@ If the two spherical surfaces are close enough we can call such a lense a \textb There is no real image possible. -\bigskip -\begin{pspicture*}(-6,-3)(6,3) - \psgrid[subgriddiv=0,griddots=5,gridlabels=7pt] - \rput(0,0){\lensSPH[% - lensType=DVG,% - lensWidth=1,% - lensDepth=1,% - AB=1,OA=-5,% - drawing=true,% - rayColor=red]} -\end{pspicture*} - - -\bigskip -\begin{lstlisting} -\begin{pspicture*}(-6,-3)(6,3) - \psgrid[subgriddiv=0,griddots=5,gridlabels=7pt] - \rput(0,0){\lensSPH[% - lensType=DVG,% - lensWidth=1,% - lensDepth=1,% - AB=1,OA=-5,% - drawing=true,% - rayColor=red]} +\begin{LTXexample} +\begin{pspicture*}[showgrid=true](-6,-3)(6,3) +\rput(0,0){\lensSPH[lensType=DVG,lensWidth=1,lensDepth=1,AB=1,OA=-5,drawing=true,rayColor=red]} \end{pspicture*} -\end{lstlisting} +\end{LTXexample} +\xLcs{lensSPH}\xLkeyset{lensType=DVG}\xLkeyword{AB} \clearpage -\section{\CMD{mirrorCVG}} - - -\begin{pspicture*}(-1,-5)(8,5) - \rput(0,0){% - \mirrorCVG[% - mirrorType=SPH,% - drawing=false,% - yBottom=-4,yTop=4,% - mirrorHeight=8,% - mirrorDepth=3]% - \qdisk(Center){2pt}\qdisk(Focus){2pt} - \uput[-90](Center){Center}\uput[-90](Focus){F} - \psline(O)(xRight) - } - \multido{\rA=-3.50+0.25}{5}{% - \mirrorCVGRay[mirrorType=SPH,linecolor=red](6,\rA)(4,\rA){E} - \psOutLine[linecolor=red,length=4](E')(E''){EEnd} - } - \multido{\rA=-2.25+0.25}{19}{% - \ABinterSPHLens(6,\rA)(4,\rA)(Center){Ptemp} - \reflectionRay[mirrorType=SPH](5,\rA)(Ptemp){E} - \psline[linecolor=red](6,\rA)(Ptemp)(E) - \psOutLine[linecolor=red,length=6](Ptemp)(E){EEnd} - } - \multido{\rA=2.50+0.25}{5}{% - \mirrorCVGRay[mirrorType=SPH,linecolor=red](6,\rA)(4,\rA){E} - \psOutLine[linecolor=red,length=4](E')(E''){EEnd} - } - \psgrid +\section{\nxLcs{mirrorCVG}} + +\begin{LTXexample} +\begin{pspicture*}[showgrid=true](-1,-5)(8,5) +\rput(0,0){\mirrorCVG[mirrorType=SPH,drawing=false,yBottom=-4,yTop=4,mirrorHeight=8,mirrorDepth=3] + \qdisk(Center){2pt}\qdisk(Focus){2pt} + \uput[-90](Center){Center}\uput[-90](Focus){F}\psline(O)(xRight)} +\multido{\rA=-3.50+0.25}{5}{% + \mirrorCVGRay[mirrorType=SPH,linecolor=red](6,\rA)(4,\rA){E} + \psOutLine[linecolor=red,length=4](E')(E''){EEnd}} +\multido{\rA=-2.25+0.25}{19}{% + \ABinterSPHLens(6,\rA)(4,\rA)(Center){Ptemp} + \reflectionRay[mirrorType=SPH](5,\rA)(Ptemp){E} + \psline[linecolor=red](6,\rA)(Ptemp)(E)\psOutLine[linecolor=red,length=6](Ptemp)(E){EEnd}} +\multido{\rA=2.50+0.25}{5}{% + \mirrorCVGRay[mirrorType=SPH,linecolor=red](6,\rA)(4,\rA){E} + \psOutLine[linecolor=red,length=4](E')(E''){EEnd}} \end{pspicture*} +\end{LTXexample} +\xLcs{mirrorCVG}\xLkeyset{mirrorType=SPH}\xLcs{ABinterSPHLens}\xLcs{refractionRay} +\clearpage +\section{\nxLcs{mirrorDVG}} -\bigskip -\begin{lstlisting} -\begin{pspicture*}(-1,-5)(8,5) - \rput(0,0){% - \mirrorCVG[% - mirrorType=SPH,% - drawing=false,% - yBottom=-4,yTop=4,% - mirrorHeight=8,% - mirrorDepth=3]% - \qdisk(Center){2pt}\qdisk(Focus){2pt} - \uput[-90](Center){Center}\uput[-90](Focus){F} - \psline(O)(xRight) - } - \multido{\rA=-3.50+0.25}{5}{% - \mirrorCVGRay[mirrorType=SPH,linecolor=red](8,\rA)(4,\rA){E} - \psOutLine[linecolor=red,length=4](E')(E''){EEnd} - } - \multido{\rA=-2.25+0.25}{19}{% - \ABinterSPHLens(8,\rA)(4,\rA)(Center){Ptemp} - \reflectionRay[mirrorType=CVG-SPH](5,\rA)(Ptemp){E} - \psline[linecolor=red](8,\rA)(Ptemp)(E) - \psOutLine[linecolor=red,length=6](Ptemp)(E){EEnd} - } - \multido{\rA=2.50+0.25}{5}{% - \mirrorCVGRay[mirrorType=SPH,linecolor=red](8,\rA)(4,\rA){E} - \psOutLine[linecolor=red,length=4](E')(E''){EEnd} - } - \psgrid -\end{pspicture*} -\end{lstlisting} - - - - -\section{\CMD{mirrorDVG}} - - -\begin{pspicture*}(-5,-5)(8,5) - \psgrid - \rput(0,0){% - \mirrorDVG[% - mirrorType=SPH,% - drawing=false,% - yBottom=-4,yTop=4,% - mirrorHeight=8,% - mirrorWidth=0.25,% - mirrorDepth=2.5]% - \qdisk(Center){2pt}\qdisk(Focus){2pt} - \uput[-90](Center){C}\uput[-90](Focus){F} - \psline(xLeft)(xRight) - } - \multido{\rA=-3.00+0.25}{25}{% - \ABinterSPHLens(7,\rA)(4,\rA)(Center){Ptemp} - \reflectionRay[mirrorType=SPH](5,\rA)(Ptemp){E} - \arrowLine[linecolor=red,linewidth=1.5pt](7,\rA)(Ptemp){1} - \psline[linecolor=red,arrows=->,linewidth=1.5pt](Ptemp)(E) - \psOutLine[linecolor=red,% - length=6,linewidth=1.5pt,% - arrows=->](Ptemp)(E){EEnd} - \psOutLine[linecolor=red,% - length=3,linestyle=dashed,% - linewidth=0.5pt](E)(Ptemp){EEnd} - } -\end{pspicture*} - -\par - -\begin{lstlisting} -\begin{pspicture*}(-5,-5)(8,5) - \psgrid - \rput(0,0){% - \mirrorDVG[% - mirrorType=SPH,% - drawing=false,% - yBottom=-4,yTop=4,% - mirrorHeight=8,% - mirrorWidth=0.25,% - mirrorDepth=2.5]% - \qdisk(Center){2pt}\qdisk(Focus){2pt} - \uput[-90](Center){C}\uput[-90](Focus){F} - \psline(xLeft)(xRight) - } - \multido{\rA=-3.00+0.25}{25}{% - \ABinterSPHLens(7,\rA)(4,\rA)(Center){Ptemp} - \reflectionRay[mirrorType=SPH](5,\rA)(Ptemp){E} - \arrowLine[linecolor=red,linewidth=1.5pt](7,\rA)(Ptemp){1} - \psline[linecolor=red,arrows=->,linewidth=1.5pt](Ptemp)(E) - \psOutLine[linecolor=red,% - length=6,linewidth=1.5pt,% - arrows=->](Ptemp)(E){EEnd} - \psOutLine[linecolor=red,% - length=3,linestyle=dashed,% - linewidth=0.5pt](E)(Ptemp){EEnd} - } +\begin{LTXexample} +\begin{pspicture*}[showgrid=true](-5,-5)(8,5) +\rput(0,0){% + \mirrorDVG[mirrorType=SPH,drawing=false,yBottom=-4,yTop=4,mirrorHeight=8,mirrorWidth=0.25,mirrorDepth=2.5] + \qdisk(Center){2pt}\qdisk(Focus){2pt}\uput[-90](Center){C}\uput[-90](Focus){F} + \psline(xLeft)(xRight)} +\multido{\rA=-3.00+0.25}{25}{% + \ABinterSPHLens(7,\rA)(4,\rA)(Center){Ptemp}\reflectionRay[mirrorType=SPH](5,\rA)(Ptemp){E} + \arrowLine[linecolor=red,linewidth=1.5pt](7,\rA)(Ptemp){1} + \psline[linecolor=red,arrows=->,linewidth=1.5pt](Ptemp)(E) + \psOutLine[linecolor=red,length=6,linewidth=1.5pt,arrows=->](Ptemp)(E){EEnd} + \psOutLine[linecolor=red,length=3,linestyle=dashed,linewidth=0.5pt](E)(Ptemp){EEnd}} \end{pspicture*} -\end{lstlisting} +\end{LTXexample} +\xLcs{mirrorDVG}\xLkeyset{mirrorType=SPH}\xLcs{ABinterSPHLens}\xLcs{refractionRay} +\bgroup +\raggedright +\nocite{*} +\bibliographystyle{plain} +\bibliography{pst-optic-doc} +\egroup +\printindex \end{document} |