3次元の電気力線

パッケージ読み込み

SetDirectory[ToFileName[Extract["FileName"/.NotebookInformation[EvaluationNotebook[]],{1},FrontEnd`FileName]]];
(* カレントディレクトリをノ-トブックのあるところに移動 *)

<<"FieldLines.m"

関数の定義

h=1.0;
r[x_,y_,z_]:=(Sqrt[(x^2)+(y^2)+(z^2)]);
v[x_,y_,z_]:=(q1/(r[x-h,y, z]))+(q2/(r[x+h,y,z ]));
reg = 2;

電気力線

q1=1.;q2=-0.5;
n = 12;

ϕ=0.;
w1=Table[FieldLine3D[{x,-(∂_x)v[x,y,z],h+ 0.1 Cos[θ]Cos[ϕ]},{y,-(∂_y)v[x,y,z],0.1 Sin[θ]Cos[ϕ]},{z,-(∂_z)v[x,y,z],0.1 Cos[θ]Sin[ϕ]},{t,32}],{θ,π+((2 π)/(2 n)),3 π-0.001`,((2 π)/n)}];
ϕ=(π/3);
w2=Table[FieldLine3D[{x,-(∂_x)v[x,y,z],h+ 0.1 Cos[θ]},{y,-(∂_y)v[x,y,z],0.1 Sin[θ]Cos[ϕ]},{z,-(∂_z)v[x,y,z],0.1 Sin[θ]Sin[ϕ]},{t,32}],{θ,π+((2 π)/(2 n)),3 π-0.001`,((2 π)/n)}];
ϕ=-(( π)/3);
w3=Table[FieldLine3D[{x,-(∂_x)v[x,y,z],h+ 0.1 Cos[θ]},{y,-(∂_y)v[x,y,z],0.1 Sin[θ]Cos[ϕ]},{z,-(∂_z)v[x,y,z],0.1 Sin[θ]Sin[ϕ]},{t,32}],{θ,π+((2 π)/(2 n)),3 π-0.001`,((2 π)/n)}];

Ef1=Graphics3D[{Thickness[0.002`],RGBColor[0,0,0],w1},PlotRange->{{-reg, 1.5 reg},{-reg,reg},{-reg,reg}}];
Ef2=Graphics3D[{Thickness[0.002`],RGBColor[0,0,0],w2},PlotRange->{{-reg, 1.5 reg},{-reg,reg},{-reg,reg}}];
Ef3=Graphics3D[{Thickness[0.002`],RGBColor[0,0,0],w3},PlotRange->{{-reg, 1.5 reg},{-reg,reg},{-reg,reg}}];
RR = 0.2;
O1=Graphics3D[{Red,Sphere[{h,0,0},0.1]}];
O2=Graphics3D[{Blue,Sphere[{-h,0,0},0.1]}];
Show[Ef1, Ef2, Ef3,O1,O2,PlotRange->{{-reg, 1.5 reg},{-reg,reg},{-reg,reg}}]