[pstricks] Re : Elektrostatic Field and equipotentiallines

Thomas Söll Thomas.Soell at lehrer.uka.de
Mon Jan 18 21:32:43 CET 2010


Hallo Herbert,

ist possible to draw an equipotentialline in your solution of the fildlines 
through an given point?

Best regards,

Thomas

----- Original Message ----- 
From: "Herbert Voss" <Herbert.Voss at FU-Berlin.DE>
To: "Graphics with PSTricks" <pstricks at tug.org>
Sent: Monday, January 18, 2010 8:13 PM
Subject: Re: [pstricks] Re : Re : Re : Elektrostatic Field


> Am 18.01.2010 14:52, schrieb Herbert Voss:
>> Am 18.01.2010 10:49, schrieb mluque5130 at aol.com:
>>>
>>>  It would be interesting to generalize to any number of electrical 
>>> charges. Here's an example with four charges.  It's beautiful!
>>
>
>> the same, a bit shorter. Can be modified to use n charges ...
>
> here it is. I also tried the code from Patrice, which gives
> a nice output, but it is really slow in compiling.
>
> \documentclass{article}
> \usepackage{pstricks-add}
> \makeatletter
> \let\ScreenCoor\tx at ScreenCoor
> \makeatother
> \def\FieldLinesFourElectricCharges{
>  0 1 NoQ { /i ED xP i getX sub yP i getY sub Pyth } for
>  NoQ 1 add array astore /Radius ED
>  0 0
>  0 1 NoQ { /i ED
>    i getQ xP i getX sub mul i getR 3 exp Div add exch
>    i getQ yP i getY sub mul i getR 3 exp Div add exch
>  } for
>  /Ex ED  /Ey ED
>  /NormeE Ex Ey Pyth def
>  /dX Ex NormeE div pasX mul def
>  /dY Ey NormeE div pasX mul def
> }
> \begin{document}
>
> \def\NoQ{5}
> \def\Qcharge{-0.5 1 -1.5 1 1}
> \def\Xcoor{0 -2.5  2.5 2.5 -2.5}
> \def\Ycoor{0 -2.5 -2.5 2.5  2.5}
>
> \begin{center}
> \begin{pspicture*}(-5,-5)(5,5)
> \multido{\iB=0+1}{\NoQ}{%
>  \multido{\iA=0+15}{24}{% 24 lignes de champ
>    \psparametricplot[plotpoints=2000]{xmin}{xmax}[{
>      /xmin -5 def /xmax 5 def /ymin -5 def /ymax 5 def
>      /pasX xmax xmin sub 200 div def % 0.05
>      /Qcharge [\Qcharge] def
>      /NoQ \NoQ\space 1 sub def
>      /Xcoor [\Xcoor] def
>      /Ycoor [\Ycoor] def
>      /getX { Xcoor exch get } def
>      /getY { Ycoor exch get } def
>      /getQ { Qcharge exch get } def
>      /getR { Radius exch get } def
>      /xStart \iB\space getX  def
>      /yStart \iB\space getY def
>      /pasX  \iB\space getQ dup abs Div 0.05 mul def
>      /xP xStart pasX \iA\space cos mul add def
>      /yP yStart pasX \iA\space sin mul add def
> }]{\FieldLinesFourElectricCharges
>   /xP xP dX add def /yP yP dY add def xP yP }%
>  }
>  \pscustom{
>  \code{
>    /Qcharge [\Qcharge] def
>    /NoQ \NoQ\space 1 sub def
>    /Xcoor [ \Xcoor ] def
>    /Ycoor [ \Ycoor ] def
>    /getX { Xcoor exch get } def
>    /getY { Ycoor exch get } def
>    /getQ { Qcharge exch get } def
>    0 1 NoQ { /i exch def
>      i getX i getY \ScreenCoor\space 10 i getQ abs mul 0 360 arc
>        gsave i getQ 0 gt {1 0 0}{0 0 1}ifelse setrgbcolor fill grestore
> stroke
>    } for
>  }}
> }
> \end{pspicture*}
> \end{center}
>
> \end{document}
>


--------------------------------------------------------------------------------


> _______________________________________________
> PSTricks mailing list
> PSTricks at tug.org
> http://tug.org/mailman/listinfo/pstricks
> archive: http://www.tug.org/pipermail/pstricks/ 



More information about the PSTricks mailing list