From 1300ac09adb33d6453e4ab09d12238f277912cb7 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 28 Mar 2011 23:02:53 +0000 Subject: pst-electricfield 0.14 (28mar11) git-svn-id: svn://tug.org/texlive/trunk@21864 c570f23f-e606-0410-a88d-b1316a301751 --- .../doc/generic/pst-electricfield/Changes | 4 +- .../pst-electricfield/pst-electricfield-doc.bib | 6 +- .../pst-electricfield/pst-electricfield-docDE.tex | 94 +++++++++++++++------- .../pst-electricfield/pst-electricfield-docFR.tex | 2 +- .../dvips/pst-electricfield/pst-electricfield.pro | 5 +- .../pst-electricfield/pst-electricfield.tex | 10 ++- 6 files changed, 81 insertions(+), 40 deletions(-) (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/generic/pst-electricfield/Changes b/Master/texmf-dist/doc/generic/pst-electricfield/Changes index d0becb34b7e..bc129594184 100755 --- a/Master/texmf-dist/doc/generic/pst-electricfield/Changes +++ b/Master/texmf-dist/doc/generic/pst-electricfield/Changes @@ -3,6 +3,7 @@ pst-electricfield.sty -------- pst-electricfield.tex -------- +0.14 2011-03-26 - allow scaling of the arrows 0.13 2010-06-09 - changes to the keyword setting 0.12 2010-06-08 - add posArrow and radius for the charges 0.11 2010-06-08 - change macro name @@ -10,7 +11,8 @@ pst-electricfield.tex -------- pst-electricfield.pro -------- -0.05 2010-06-09 - changes to the Radius and to /Func +0.05 2011-03-26 - changes to the Radius and to /Func + allow scaling of the arrows 0.04 2010-06-08 - allow relative/absolute radii for the charges (hv) 0.03 2010-06-08 - add test for plotCharge (hv) 0.02 2010-06-07 - fix bug with /fleche (hv) diff --git a/Master/texmf-dist/doc/generic/pst-electricfield/pst-electricfield-doc.bib b/Master/texmf-dist/doc/generic/pst-electricfield/pst-electricfield-doc.bib index c273769cac4..53def09f25f 100644 --- a/Master/texmf-dist/doc/generic/pst-electricfield/pst-electricfield-doc.bib +++ b/Master/texmf-dist/doc/generic/pst-electricfield/pst-electricfield-doc.bib @@ -51,9 +51,9 @@ @Book{PSTricks2, author = {Herbert Vo\ss{}}, title = {\texttt{PSTricks} -- {G}rafik f\"ur \TeX{} und \LaTeX}, - edition = {fifth}, - publisher = {DANTE -- Lehmanns}, - year = {2008}, + edition = {6.}, + publisher = {DANTE -- lehmanns media}, + year = {2010}, address = {Heidelberg/Hamburg} } diff --git a/Master/texmf-dist/doc/generic/pst-electricfield/pst-electricfield-docDE.tex b/Master/texmf-dist/doc/generic/pst-electricfield/pst-electricfield-docDE.tex index 66a86881985..bf2cecfe626 100644 --- a/Master/texmf-dist/doc/generic/pst-electricfield/pst-electricfield-docDE.tex +++ b/Master/texmf-dist/doc/generic/pst-electricfield/pst-electricfield-docDE.tex @@ -1,4 +1,4 @@ -%% $Id: pst-electricfield-docDE.tex 354 2010-06-18 17:18:01Z herbert $ +%% $Id: pst-electricfield-docDE.tex 479 2011-03-26 10:12:49Z herbert $ \documentclass[11pt,english,ngerman,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings headexclude,footexclude,oneside]{pst-doc} \usepackage[latin1]{inputenc} @@ -23,11 +23,24 @@ \begin{document} \maketitle \begin{abstract} -Das Paket \texttt{pst-electricfield} hat sich zum Ziel gesetzt Feldlinien und \"{A}quipotentiallinien zu zeichnen f\"{u}r eine beliebige Anordnung von elektrischen Punktladungen. Die Idee f\"{u}r ein solches Paket ist entstanden durch eine Diskussion \"{u}ber das Darstellen von Feldlinien in der PSTricks Liste \url{http://www.tug.org/pipermail/pstricks/}. Es gibt verschiedene Methoden und Ans\"{a}tze -- diese wollen wir auch in dieser Dokumentation vorstellen. - -In diesem Paket werden die Feldlinien mit dem Euler-Verfahren errechnet; dieses Verfahren ist einerseits ausreichend f\"{u}r die Pr\"{a}zision der Darstellung und liefert andererseits eine gute Rechengeschwindigkeit (Kompilierungsdauer). Die numerische L\"{o}sung der impliziten Gleichung f\"{u}r das Potential $V(x,y)=\Sigma V_i$ erlaubt es die \"{A}quipotentiallinien darzustellen, die Rechengeschwindigkeit hierf\"{u}r ist jedoch sehr viel kleiner. Das Paket stellt zwei Befehle zur Verf\"{u}gung, einen f\"{u}r die Feldlinien und einen f\"{u}r die \"{A}quipotentiallinien. Wegen der erh\"{o}hten Rechendauer f\"{u}r die \"{A}quipotentiallinien ist es zu erw\"{a}gen sich nur auf die Feldlinien zu beschr\"{a}nken. - -Jede Ladung ist charakterisiert durch ihren Wert $q_i$ und ihre Position $(x_i,y_i)$. Die Anzahl der Ladungen ist frei w\"{a}hlbar, jedoch steigt mit ihr auch erheblich die Rechendauer f\"{u}r die \"{A}quipotentiallinien. +Das Paket \texttt{pst-electricfield} hat sich zum Ziel gesetzt Feldlinien und \"{A}quipotentiallinien +zu zeichnen f\"{u}r eine beliebige Anordnung von elektrischen Punktladungen. Die Idee f\"{u}r ein +solches Paket ist entstanden durch eine Diskussion \"{u}ber das Darstellen von Feldlinien in der +PSTricks Liste \url{http://www.tug.org/pipermail/pstricks/}. Es gibt verschiedene Methoden und +Ans\"{a}tze -- diese wollen wir auch in dieser Dokumentation vorstellen. + +In diesem Paket werden die Feldlinien mit dem Euler-Verfahren errechnet; dieses Verfahren ist +einerseits ausreichend f\"{u}r die Pr\"{a}zision der Darstellung und liefert andererseits eine gute +Rechengeschwindigkeit (Kompilierungsdauer). Die numerische L\"{o}sung der impliziten Gleichung +f\"{u}r das Potential $V(x,y)=\Sigma V_i$ erlaubt es die \"{A}quipotentiallinien darzustellen, +die Rechengeschwindigkeit hierf\"{u}r ist jedoch sehr viel kleiner. Das Paket stellt zwei Befehle +zur Verf\"{u}gung, einen f\"{u}r die Feldlinien und einen f\"{u}r die \"{A}quipotentiallinien. +Wegen der erh\"{o}hten Rechendauer f\"{u}r die \"{A}quipotentiallinien ist es zu erw\"{a}gen sich +nur auf die Feldlinien zu beschr\"{a}nken. + +Jede Ladung ist charakterisiert durch ihren Wert $q_i$ und ihre Position $(x_i,y_i)$. Die Anzahl +der Ladungen ist frei w\"{a}hlbar, jedoch steigt mit ihr auch erheblich die Rechendauer f\"{u}r +die \"{A}quipotentiallinien. \end{abstract} \section{Vorgeschlagene Methode von Patrice M\'egret} @@ -37,19 +50,26 @@ kann man die Feldlinien \textbf{und} die \"{A}quipotentiallinien zeichnen. Wie leitet man die implizite Funktion der Feldlinien mit Hilfe des elektrischen Potentials her? -Der Gau{\ss}sche Satz sagt aus, dass der Flu{\ss} durch eine geschlossene Oberfl\"{a}che $S$ durch folgende Gleichung definiert ist: +Der Gau{\ss}sche Satz sagt aus, dass der Flu{\ss} durch eine geschlossene Oberfl\"{a}che $S$ +durch folgende Gleichung definiert ist: \begin{equation}\label{pm-eq-a} \psi = \oiint\limits_S \vec{D} \cdot \vec{u}_n \mathrm{d} S = Q \end{equation} -ist gleich der Ladung $Q$ im Inneren von $S$. Au{\ss}erhalb der geschlossenen Oberfl\"{a}che ($Q=0$). Der elektrische Flu{\ss} ist konservativ. +ist gleich der Ladung $Q$ im Inneren von $S$. Au{\ss}erhalb der geschlossenen Oberfl\"{a}che ($Q=0$). +Der elektrische Flu{\ss} ist konservativ. -Eine Flu{\ss}r\"{o}hre ist eine R\"{o}hre, die um die Linien der dielektrischen Verschiebung $\vec{D}$ gebaut ist au{\ss}erhalb der Ladungen. Der eintretende Flu{\ss} in diese R\"{o}hre ist gleich dem austretenden Flu{\ss} aus der R\"{o}hre (der Flu{\ss} ist konservativ). +Eine Flu{\ss}r\"{o}hre ist eine R\"{o}hre, die um die Linien der dielektrischen Verschiebung $\vec{D}$ +gebaut ist au{\ss}erhalb der Ladungen. Der eintretende Flu{\ss} in diese R\"{o}hre ist gleich dem +austretenden Flu{\ss} aus der R\"{o}hre (der Flu{\ss} ist konservativ). -Folgt man einer Flussr\"{o}hre konstanter Gr\"{o}{\ss}e, so folgt man auch einer Feldlinie $\vec{D}$ und dieser Ansatz wird gew\"{a}hlt, um eine implizite Gleichung von Feldlinien einfacher geometrischer Anordungen zu erhalten. +Folgt man einer Flussr\"{o}hre konstanter Gr\"{o}{\ss}e, so folgt man auch einer Feldlinie $\vec{D}$ +und dieser Ansatz wird gew\"{a}hlt, um eine implizite Gleichung von Feldlinien einfacher geometrischer Anordungen zu erhalten. -In unserem Fall begn\"{u}gen wir uns mit Punktladungen und der Identit\"{a}t von der dielektrischen Verschiebung und der Feldst\"{a}rke (da wir keine Polarisation ber\"{u}cksichtigen). +In unserem Fall begn\"{u}gen wir uns mit Punktladungen und der Identit\"{a}t von der dielektrischen +Verschiebung und der Feldst\"{a}rke (da wir keine Polarisation ber\"{u}cksichtigen). -F\"{u}r eine elektrische Punktladung $q$ im Ursprung eines Koordinatensystems ist die elektrische Feldst\"{a}rke und das Potential gegeben durch: +F\"{u}r eine elektrische Punktladung $q$ im Ursprung eines Koordinatensystems ist die elektrische +Feldst\"{a}rke und das Potential gegeben durch: \begin{equation}\label{pm-eq-b} \vec{E} = \frac{1}{4 \pi \varepsilon_0 \varepsilon_r} q \frac{\vec{r}}{|\vec{r}|^3} \end{equation} @@ -117,7 +137,8 @@ x y 2 exp x 2 exp add sqrt div \r \space sub}} x 2 exp y 2 exp add sqrt 1 exch div \r \space sub}} \end{verbatim} -Nun verallgemeinern wir eine Punktladungsverteilung l\"{a}ngs einer \textbf{Geraden}. Gegeben sind die Punktladungen $q_i$ mit ihren Koordinaten $(x_i,0)$. +Nun verallgemeinern wir eine Punktladungsverteilung l\"{a}ngs einer \textbf{Geraden}. Gegeben sind die +Punktladungen $q_i$ mit ihren Koordinaten $(x_i,0)$. \begin{center} \begin{pspicture}(0,-3)(12,3) %\psgrid @@ -136,12 +157,17 @@ Nun verallgemeinern wir eine Punktladungsverteilung l\"{a}ngs einer \textbf{Gera \nccurve[ncurv=2,linecolor=green!40!black]{ND}{NE} \end{pspicture} \end{center} -Es liegt eine Zylindersymmetrie vor; es gen\"{u}gt deshalb die Feldlinien und das Potential in der oberen Halb-Ebene $xy$ zu untersuchen und mit einer Rotation um die $x$-Achse erh\"{a}lt man somit die Gesamtl\"{o}sung. +Es liegt eine Zylindersymmetrie vor; es gen\"{u}gt deshalb die Feldlinien und das Potential in der +oberen Halb-Ebene $xy$ zu untersuchen und mit einer Rotation um die $x$-Achse erh\"{a}lt man somit +die Gesamtl\"{o}sung. -Bei Rotation um die $x$-Achse, erzeugt die Feldlinie, die durch den Punkt $P$ geht, eine Flussr\"{o}hre, deren elektrischer Flu{\ss} - durch eine beliebige Oberfl\"{a}che durch $P(x,y)$ hindurchflie{\ss}t und die $x$-Achse jenseits der letzten Ladung schneidet (diese Oberfl\"{a}che schneidet die $xy$-Ebene in dem gr\"{u}nen Bogen) gem\"{a}{\ss} (\ref{pm-eq-d}): +Bei Rotation um die $x$-Achse, erzeugt die Feldlinie, die durch den Punkt $P$ geht, eine Flussr\"{o}hre, +deren elektrischer Flu{\ss} + durch eine beliebige Oberfl\"{a}che durch $P(x,y)$ hindurchflie{\ss}t und die $x$-Achse jenseits + der letzten Ladung schneidet (diese Oberfl\"{a}che schneidet die $xy$-Ebene in dem gr\"{u}nen + Bogen) gem\"{a}{\ss} (\ref{pm-eq-d}): \begin{equation}\label{pm-eq-h} \psi = \frac{1}{2} \sum_{i=1}^{n} q_i (1 -\cos\theta_i) \end{equation} @@ -316,29 +342,39 @@ plotpoints=300% \end{verbatim} Hier ein vollst\"{a}ndiges Beispiel: \url{http://tug.org/mailman/htdig/pstricks/2010/007468.html} -Dies ist eine einfache Methode, jedoch mit einem nicht befriedigendenden Resultat, was mit eine Motivation war, dieses Paket zu entwickeln. +Dies ist eine einfache Methode, jedoch mit einem nicht befriedigendenden Resultat, was mit eine +Motivation war, dieses Paket zu entwickeln. \section{Feldlinien} Das Zeichnen der Feldlininen wird mit dem Befehl \Lcs{psElectricfield}\OptArgs\ aufgerufen. Dieser besitzt folgende Parameter: \begin{enumerate} - \item Die Ladungen, ihre Ortskoordinaten und die Anzahl der Linien, die von jeder einzelnen ausgeht (oder bei ihr endet) werden mit mit demselben Parameter aufgerufen $\mathsf{Q=\{[q_1\, x_1\, y_1\, N_1] [q_2\, x_2\, y_2\, N_2]\ldots[q_i\, x_i\, y_i\, N_i]\ldots [q_n\, x_n\, y_n\, N_n]\}}$. Die Anzahl der Linien ist hierbei optional -- wenn diese Angabe weggelassen wird, wird ein vordefinierter Wert \textsf{N=19} genommen, der sich aus - $360^\circ/18=20^\circ$ ergibt (zwischen zwei Feldlinien, die von jeder einzelnen Ladung ausgeht oder dort endet). - \item Die Farbe und Linienst\"{a}rke kann mit den g\"{a}ngigen Parametern von PSTricks gesetzt werden: \textsf{linecolor} und \textsf{linewidth}. - \item Die Anzahl der Berechnungspunkte einer jeden Linie ist vordefiniert mit \textsf{points=400} und die Schrittweite ist \textsf{Pas=0.025}. Sollten diese Voreinstellungen nicht optimal f\"{u}r eine Zeichnung sein, dann muss man sie \"{a}ndern. - \item Die Position eines Pfeils auf einer Feldlinie kann mit dem Parameter \textsf{posArrow=0.25} gesetzt werden, der das Verh\"{a}ltnis der Punktanzahl angibt, jeweils beginnend bei der Ladung. + \item Die Ladungen, ihre Ortskoordinaten und die Anzahl der Linien, die von jeder einzelnen + ausgeht (oder bei ihr endet) werden mit mit demselben Parameter aufgerufen + $\mathsf{Q=\{[q_1\, x_1\, y_1\, N_1] [q_2\, x_2\, y_2\, N_2]\ldots[q_i\, x_i\, y_i\, N_i] + \ldots [q_n\, x_n\, y_n\, N_n]\}}$. Die Anzahl der Linien ist hierbei optional -- wenn diese + Angabe weggelassen wird, wird ein vordefinierter Wert \textsf{N=19} genommen, der sich aus $360/18=20^\circ$ + ergibt (zwischen zwei Feldlinien, die von jeder einzelnen Ladung ausgeht oder dort endet). + \item Die Farbe und Linienst\"{a}rke kann mit den g\"{a}ngigen Parametern von PSTricks + gesetzt werden: \textsf{linecolor} und \textsf{linewidth}. + \item Die Anzahl der Berechnungspunkte einer jeden Linie ist vordefiniert mit \textsf{points=400} + und die Schrittweite ist \textsf{Pas=0.025}. Sollten diese Voreinstellungen nicht optimal f\"{u}r + eine Zeichnung sein, dann muss man sie \"{a}ndern. + \item Die Position eines Pfeils auf einer Feldlinie kann mit dem Parameter \textsf{posArrow=0.25} + gesetzt werden, der das Verh\"{a}ltnis der Punktanzahl angibt, jeweils beginnend bei der Ladung. \end{enumerate} \section{\"{A}quipotentiallinien} Die \"{A}quipotentiallinien werden mit folgendem Befehl gezeichnet: - -\verb+\psEquipotential[options](xmin,ymin)(xmax,ymax)+. - -Die Option f\"{u}r die Ladungen \textsf{Q} ist dieselbe wie bei den Feldlinien, es ist jedoch \"{u}berfl\"{u}ssig~\textsf{N} anzugeben. +\verb+\psEquipotential[options](xmin,ymin)(xmax,ymax)+. Die Option f\"{u}r die Ladungen +\textsf{Q} ist dieselbe wie bei den Feldlinien, es ist jedoch \"{u}berfl\"{u}ssig~\textsf{N} anzugeben. \begin{enumerate} - \item Man muss den Maximal- und Minimalwert des Potential vorab berechnen: \textsf{Vmax=3} und \textsf{Vmin=-1} sind die voreingestellten Werte. - \item Intervall zwischen zwei Werten des Potentials \textsf{stepV=0.5}, dies bestimmt die Anzahl der \"{A}quipotentiallinien. - \item Die Farbe und Linienst\"{a}rke kann mit den g\"{a}ngigen Parametern von PSTricks gesetzt werden: \textsf{linecolor} und \textsf{linewidth}. + \item Man muss den Maximal- und Minimalwert des Potential vorab berechnen: \textsf{Vmax=3} und + \textsf{Vmin=-1} sind die voreingestellten Werte. + \item Intervall zwischen zwei Werten des Potentials \textsf{stepV=0.5}, dies bestimmt die Anzahl der + \"{A}quipotentiallinien. + \item Die Farbe und Linienst\"{a}rke kann mit den g\"{a}ngigen Parametern von PSTricks gesetzt werden: + \textsf{linecolor} und \textsf{linewidth}. \end{enumerate} \clearpage diff --git a/Master/texmf-dist/doc/generic/pst-electricfield/pst-electricfield-docFR.tex b/Master/texmf-dist/doc/generic/pst-electricfield/pst-electricfield-docFR.tex index 7290e8ee1b4..3ac62d2794d 100644 --- a/Master/texmf-dist/doc/generic/pst-electricfield/pst-electricfield-docFR.tex +++ b/Master/texmf-dist/doc/generic/pst-electricfield/pst-electricfield-docFR.tex @@ -1,4 +1,4 @@ -%% $Id: pst-electricfield-docFR.tex 354 2010-06-18 17:18:01Z herbert $ +%% $Id: pst-electricfield-docFR.tex 357 2010-07-04 14:13:27Z herbert $ \documentclass[11pt,english,french,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings headexclude,footexclude,oneside]{pst-doc} \usepackage[latin1]{inputenc} diff --git a/Master/texmf-dist/dvips/pst-electricfield/pst-electricfield.pro b/Master/texmf-dist/dvips/pst-electricfield/pst-electricfield.pro index 8a73b36e96e..22dc1b0c06a 100644 --- a/Master/texmf-dist/dvips/pst-electricfield/pst-electricfield.pro +++ b/Master/texmf-dist/dvips/pst-electricfield/pst-electricfield.pro @@ -1,4 +1,4 @@ -%% $Id: pst-3dplot.pro 236 2009-12-31 08:59:43Z herbert $ +%% $Id: pst-electricfield.pro 479 2011-03-26 10:12:49Z herbert $ %% %% This is file `pst-electricfield.pro', %% @@ -17,7 +17,7 @@ %% DESCRIPTION: %% `pst-electricfield' is a PSTricks package to draw fields of charges %% -%% version 0.04 / 2010-06-08 Herbert Voss +%% version 0.05 / 2011-03-26 Herbert Voss %% % /tx@EFieldDict 60 dict def @@ -49,6 +49,7 @@ tx@EFieldDict begin gsave x2 y2 moveto y2 y1 sub x2 x1 sub atan rotate % 1 1 scale + arrowscale -1 CLW mul 2 CLW mul rlineto 7 CLW mul -2 CLW mul rlineto -7 CLW mul -2 CLW mul rlineto diff --git a/Master/texmf-dist/tex/generic/pst-electricfield/pst-electricfield.tex b/Master/texmf-dist/tex/generic/pst-electricfield/pst-electricfield.tex index 72095ebb09d..05b38d8a6e7 100644 --- a/Master/texmf-dist/tex/generic/pst-electricfield/pst-electricfield.tex +++ b/Master/texmf-dist/tex/generic/pst-electricfield/pst-electricfield.tex @@ -1,4 +1,4 @@ -% $Id: pst-electricfield.tex 351 2010-06-18 05:47:11Z herbert $ +% $Id: pst-electricfield.tex 479 2011-03-26 10:12:49Z herbert $ %% Package `pst-electricfield.tex' %% %% Manuel Luque @@ -21,8 +21,8 @@ \ifx\MultidoLoaded\endinput\else \input multido.tex\fi \ifx\PSTXKeyLoaded\endinput\else \input pst-xkey \fi % -\def\fileversion{0.13} -\def\filedate{2010/06/09} +\def\fileversion{0.14} +\def\filedate{2011/03/26} \message{`pst-electricfield' v\fileversion, \filedate\space (ml,jg,hv)} % \edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax @@ -46,7 +46,7 @@ %% pas du trace \define@key[psset]{pst-electricfield}{Pas}[0.025]{\def\psk@electricfieldPas{#1 }} \psset[pst-electricfield]{Pas=0.025} -\define@key[psset]{pst-electricfield}{posArrow}{\def\psk@ElectricFieldposArrow{#1 }} +\define@key[psset]{pst-electricfield}{posArrow}[0.25]{\def\psk@ElectricFieldposArrow{#1 }} \psset[pst-electricfield]{posArrow=0.25} % \def\tx@EFieldDict{ tx@EFieldDict begin } @@ -65,6 +65,7 @@ /NbrePoints \psk@electricfieldpoints def /Pas \psk@electricfieldPas def /posArrow \psk@ElectricFieldposArrow def + /arrowscale { \psk@arrowscale } def /xUnit \pst@number\psxunit def /yUnit \pst@number\psyunit def Electricfield @@ -99,6 +100,7 @@ /StepV \psk@electricfieldStepV def /StepFactor \psk@electricfieldStepFactor def /posArrow \psk@ElectricFieldposArrow def + /arrowscale { \psk@arrowscale } def /xUnit \pst@number\psxunit def /yUnit \pst@number\psyunit def /LW \pst@number\pslinewidth def -- cgit v1.2.3