2

I would like to present Möbius transformations on the Riemann sphere. Having found the masterpiece answers to Mapping StreamPlot onto spherical surfaces, I am trying to adapt it to my case (those ones are about something slightly different - when the vector field is periodic to begin with).

This almost works, except I cannot regulate the density; it is either concentrated at the north pole, or features a bald spot around it:

Graphics3D[{StreamPlot[
 ReIm[(1 + I) (x + I y)], {x, -3, 3}, {y, -3, 3}][[1]] /. 
  Arrow[z_] :> 
   Arrow[z /. {x_Real, y_Real} :> {2 x, 2 y, x^2 + y^2 - 1}/(x^2 + y^2 + 1)], 
Opacity[.5], Sphere[]}, ImageSize -> 400, Boxed -> False]

results in

bald spot

while

Graphics3D[{StreamPlot[
 ReIm[(1 + I) (x + I y)], {x, -100, 100}, {y, -100, 100}][[1]] /. 
  Arrow[z_] :> 
   Arrow[z /. {x_Real, y_Real} :> {2 x, 2 y, x^2 + y^2 - 1}/(x^2 + y^2 + 1)], 
Opacity[.5], Sphere[]}, ImageSize -> 400, Boxed -> False]

(i. e. changing 3 to 100) leaves me with

concentrated

What would be the correct way to do it?

Later

Have tried to force stream points uniformly along several small concentric circles around origin. It is better but still messy, don't even know why...

Graphics3D[{StreamPlot[
 ReIm[(1 + 2 I) (x + I y)], {x, -100, 100}, {y, -100, 100}, 
 StreamPoints -> {
   Flatten[Table[2^-c {Cos[a], Sin[a]}, {a, 0, 2 \[Pi], \[Pi]/3}, {c, .2, .8, .2}], 1],
   500, 200}][[1]] /. 
  Arrow[z_] :> Arrow[z /. {x_Real, y_Real} :> {2 x, 2 y, x^2 + y^2 - 1}/(x^2 + y^2 + 1)], 
Opacity[.5], Sphere[]}, ImageSize -> 400, Boxed -> False]

enter image description here

1 Answers1

2

As noted, one should already use the Riemann sphere representation of a complex number at the outset:

sp = First[StreamPlot[{{-Sin[θ], Cos[θ]}, {-Cos[θ], -Sin[θ]}}.
                      ReIm[(1 + I) (Cot[ϕ/2] Exp[I θ])], {θ, 0, 2 π}, {ϕ, 0, π}]];

Graphics3D[{{Opacity[.5], Sphere[]}, 
            sp /. Arrow[v_?MatrixQ] :> 
            Arrow[Tube[Function[{θ, ϕ}, {Sin[ϕ] Cos[θ], Sin[ϕ] Sin[θ], Cos[ϕ]}] @@@ v]]}, 
           Boxed -> False]

stream plot over the Riemann sphere

J. M.'s missing motivation
  • 124,525
  • 11
  • 401
  • 574