<font color='black' size='2' face='arial'>
<div> <font size="2"><font face="Arial, Helvetica, sans-serif">It would be interesting to generalize to any number of electrical charges. Here's an example with four charges. </font></font><span id="result_box" class="medium_text"><span title="Voici un exemple avec quatre charges."> </span><span title="C'est beau !">It's beautiful!</span></span><br>
<font size="2"><font face="Arial, Helvetica, sans-serif"><br>
\documentclass{article}<br>
\usepackage{pstricks,pst-plot}<br>
\SpecialCoor<br>
\def\FieldLinesFourElectricCharges{%<br>
/r1 xP xA sub dup mul yP yA sub dup mul add sqrt def<br>
/r2 xP xB sub dup mul yP yB sub dup mul add sqrt def<br>
/r3 xP xC sub dup mul yP yC sub dup mul add sqrt def<br>
/r4 xP xD sub dup mul yP yD sub dup mul add sqrt def<br>
% /V q1 r1 div<br>
% q2 r2 div<br>
% add<br>
% q3 r3 div<br>
% add<br>
% q4 r4 div<br>
% add def<br>
% Ex=-dV/dx<br>
/Ex q1 xP xA sub mul r1 3 exp div<br>
q2 xP xB sub mul r2 3 exp div<br>
add<br>
q3 xP xC sub mul r3 3 exp div<br>
add<br>
q4 xP xD sub mul r4 3 exp div<br>
add def<br>
% Ey=-dV/dy<br>
/Ey q1 yP yA sub mul r1 3 exp div<br>
q2 yP yB sub mul r2 3 exp div<br>
add<br>
q3 yP yC sub mul r3 3 exp div<br>
add<br>
q4 yP yD sub mul r4 3 exp div<br>
add def<br>
/NormeE Ex dup mul Ey dup mul add sqrt def<br>
/dX Ex NormeE div pasX mul def<br>
/dY Ey NormeE div pasX mul def<br>
}<br>
\begin{document}<br>
\begin{center}<br>
\begin{pspicture*}(-7,-7)(7,7)<br>
% les limites<br>
\pstVerb{/xmin -5 def /xmax 5 def /ymin -5 def /ymax 5 def}%<br>
% le nombre de lignes de champ<br>
%\pstVerb{/NL 24 def}% 15 degrés entre chaque ligne (24*15=360)<br>
% le pas d'itération<br>
\pstVerb{/pasX xmax xmin sub 200 div def}% 0.05<br>
\pstVerb{/q1 1 def % les charges<br>
/q2 1 def<br>
/q3 1 def<br>
/q4 1 def<br>
/xA -2.5 def % leurs positions<br>
/yA -2.5 def<br>
/xB 2.5 def<br>
/yB -2.5 def<br>
/xC 2.5 def<br>
/yC 2.5 def<br>
/xD -2.5 def<br>
/yD 2.5 def<br>
}%<br>
\multido{\iA=0+15}{24}{% 24 lignes de champ<br>
\pstVerb{/xStart xA def<br>
/yStart yA def<br>
/pasX q1 q1 abs div 0.05 mul def<br>
/xP xStart pasX \iA\space cos mul add def<br>
/yP yStart pasX \iA\space sin mul add def}%<br>
\parametricplot[plotpoints=2000]{xmin}{xmax}{%<br>
\FieldLinesFourElectricCharges<br>
/xP xP dX add def<br>
/yP yP dY add def<br>
xP yP<br>
}<br>
\pstVerb{/xStart xB def<br>
/yStart yB def<br>
/pasX q2 q2 abs div 0.05 mul def<br>
/xP xStart pasX \iA\space cos mul add def<br>
/yP yStart pasX \iA\space sin mul add def}%<br>
\parametricplot[plotpoints=2000]{xmin}{xmax}{%<br>
\FieldLinesFourElectricCharges<br>
/xP xP dX add def<br>
/yP yP dY add def<br>
xP yP<br>
}<br>
\pstVerb{/xStart xC def<br>
/yStart yC def<br>
/pasX q3 q3 abs div 0.05 mul def<br>
/xP xStart pasX \iA\space cos mul add def<br>
/yP yStart pasX \iA\space sin mul add def}%<br>
\parametricplot[plotpoints=2000]{xmin}{xmax}{%<br>
\FieldLinesFourElectricCharges<br>
/xP xP dX add def<br>
/yP yP dY add def<br>
xP yP<br>
}<br>
\pstVerb{/xStart xD def<br>
/yStart yD def<br>
/pasX q4 q4 abs div 0.05 mul def<br>
/xP xStart pasX \iA\space cos mul add def<br>
/yP yStart pasX \iA\space sin mul add def}%<br>
\parametricplot[plotpoints=2000]{xmin}{xmax}{%<br>
\FieldLinesFourElectricCharges<br>
/xP xP dX add def<br>
/yP yP dY add def<br>
xP yP<br>
}<br>
}<br>
\pscircle[fillstyle=solid](!xA yA){0.2}\pscircle[fillstyle=solid](!xB yB){0.2}<br>
\pscircle[fillstyle=solid](!xC yC){0.2}\pscircle[fillstyle=solid](!xD yD){0.2}<br>
\end{pspicture*}<br>
\end{center}<br>
\end{document}<br>
<br>
<br>
</font></font></div>
<div> <font color="black" face="arial" size="2"><font face="Myriad Pro">Regards,<font face="Arial, Helvetica, sans-serif"><br>
<br>
Manuel L.<br>
</font></font></font></div>
<div style="clear: both;"></div>
<div> <br>
</div>
<div> <br>
</div>
<div style="font-family: helvetica,arial; font-size: 10pt; color: black;"><br>
<!-- end of AOLMsgPart_6_b302c892-55dc-401e-80f7-b68fcd92c266 -->
</div>
</font>