Fine-tuning stereographic stream plots

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

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

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]


• "features a bald spot around it" - if the original StreamPlot[] is over a small domain (e.g. {x, -3, 3}, {y, -3, 3} in the first example), then it's no surprise you don't have much arrows near the point at infinity. – J. M.'s technical difficulties Mar 29 '18 at 5:39
• @J.M. Yes it is probably that - but when I increase the domain it does all squeeze at the north pole – მამუკა ჯიბლაძე Mar 29 '18 at 5:42
• Hmm, may I suggest using spherical coordinates at the outset? StreamPlot[ReIm[(1 + I) (Cot[ϕ/2] Exp[I θ])], {θ, 0, 2 π}, {ϕ, 0, π}] – J. M.'s technical difficulties Mar 29 '18 at 5:44
• @J.M. OK then how to move it to the sphere?? – მამუკა ჯიბლაძე Mar 29 '18 at 5:46
• I am trying to combine your suggestion with the formula from the linked answers but get something totally different – მამუკა ჯიბლაძე Mar 29 '18 at 5:49

sp = First[StreamPlot[{{-Sin[θ], Cos[θ]}, {-Cos[θ], -Sin[θ]}}.