# Plots of Bipolar Coordinates

Can you please tell me how it is done.

1. $t$ parameter lines should be barely visible, $a$ lines should be thick, so one can readily see orthogonality (perpendicular cutting) of $a$ curves in combined (superposed) plot.

2. Also Manipulate sliders need to be introduced for thicker $a$ lines in the combined (superimposed) plot.

Thanks. This one is my favorite, which I can do basically.. but your touch is from the masters.

T = 1;
sig = ParametricPlot[{Sqrt[T^2 + a^2] + a Cos[t], a Sin[t]}, {a, 0.4,
2}, {t, -Pi, Pi}, Mesh -> {5, 29},
PlotStyle -> {Yellow, Opacity[.5]}, PlotLabel -> "Bi-Polar\*
StyleBox[]( σ-τ ) Surface"];
tau = ParametricPlot[{a Sin[t], Sqrt[-T^2 + a^2] + a Cos[t]}, {a, 0.8,
2}, {t, -Pi, Pi}, Mesh -> {5, 29}, PlotStyle -> {Purple},
PlotLabel -> ( σ - τ ) Surface];
Show[{sig, tau}, PlotRange -> All]
Show[{sig, tau}, PlotRange -> {{0, 4.5}, {0, 4.5}}]

• Those are really beautiful plots. Can you tell me what you mean by "a curves" and "t lines"? – Jason B. Oct 1 '15 at 12:46
• Usual bipolar co-ordinates depiction. tau and sigma lines from Wiki with some changes. Real and imaginary parts of complex $w = log \frac {1+z}{1-z}.$ Applications in electrostatics( like and unlike equal charges equipotentials/field lines), Used parameters $a$ for circle radius and $2 t$ for rotation at center. – Narasimham Oct 2 '15 at 17:39

Edit: Looks like MeshStyle misbehaving with ParametricPlot is a known bug in 10.0.1.0. Question #63599 I'll leave this answer as a workaround for those using 10.0.1.0, but @Bob Hanlon's answer is canonical.

I think you're asking how to style the mesh lines. Normally you'd just use the option MeshStyle->{..style1...,...style2...} (see docs under 'MeshStyle), but this seems to not provide two distinct mesh styles for the parametric plot. So here's a little work around that you can play with.

You'll need to create two versions of each plot. Then for one version explicitly state that you want the mesh function to be the radial mesh lines, how many lines you want, and the style with MeshFunctions->{#4&}, Mesh->{29}, MeshStyle->{Directive[Thick,Black]}, and for the other you need to specify the options for the polar mesh lines : MeshFunctions->{#3&}, Mesh->{5}, MeshStyle->{Directive[Thin,Gray]}. I've also turned the opacity to 0 on the plots that will be on top so you can still see the plot below it.

Then show all four plots together.If you want different styling, obviously you can play with it from here.

T = 1;
sig = ParametricPlot[
{Sqrt[T^2 + a^2] + a Cos[t], a Sin[t]}, {a, 0.4, 2}, {t, -Pi, Pi},
Mesh -> {29},
MeshFunctions -> ({#4 &}),
MeshStyle -> {Directive[Thick, Black]},
PlotStyle -> {Opacity},
PlotLabel -> "Bi-Polar\*StyleBox[]( σ-τ ) Surface"
];
sig2 = ParametricPlot[
{Sqrt[T^2 + a^2] + a Cos[t], a Sin[t]}, {a, 0.4, 2}, {t, -Pi, Pi},
Mesh -> {5},
MeshFunctions -> ({#3 &}),
MeshStyle -> {Directive[Thin, Gray]},
PlotStyle -> {Yellow, Opacity[.5]},
PlotLabel -> "Bi-Polar\*StyleBox[]( σ-τ ) Surface"
];
tau = ParametricPlot[{a Sin[t], Sqrt[-T^2 + a^2] + a Cos[t]}, {a, 0.8,
2}, {t, -Pi, Pi},
MeshFunctions -> ({#4 &}),
MeshStyle -> {Directive[Thick, Black]},
Mesh -> {29}, PlotStyle -> {Opacity},
PlotLabel -> (σ - τ) Surface];

tau2 = ParametricPlot[{a Sin[t], Sqrt[-T^2 + a^2] + a Cos[t]}, {a,
0.8, 2}, {t, -Pi, Pi},
MeshFunctions -> ({#3 &}),
MeshStyle -> {Directive[Thin, Gray]},
Mesh -> {5}, PlotStyle -> {Purple},
PlotLabel -> (σ - τ) Surface];
Show[{sig2, sig, tau2, tau}, PlotRange -> All]
Show[{sig2, sig, tau2, tau}, PlotRange -> {{0, 4.5}, {0, 4.5}}]

\$Version

(*  "10.2.0 for Mac OS X x86 (64-bit) (July 7, 2015)"  *)

Manipulate[
T = offset;
ParametricPlot[{
{Sqrt[T^2 + a^2] + a Cos[t], a Sin[t]},
{a Sin[t], Sqrt[-T^2 + a^2] + a Cos[t]}},
{a, 0.4, 2}, {t, -Pi, Pi},
Axes -> False,
Mesh -> {5, 29},
MeshStyle -> {AbsoluteThickness[thickness], Thin},
PlotStyle -> {Directive[Yellow, Opacity[.5]], Purple},
PlotLabel -> "Bi-Polar ( \[Sigma]-\[Tau] ) Surface",
PlotRange -> plotRange],
{{offset, 1, "Offset (T)"}, 0, 2, .05,
Appearance -> "Labeled"},
{{thickness, 2, "Thickness"}, 1, 6, 1,
Appearance -> "Labeled"},
{{plotRange, All, "Plot Range"},
{Full, All, {{0, 4.5}, {0, 4.5}}}}]
` 