1
$\begingroup$

I would like to draw this phase portrait using StreamPlot on sphere as in this picture enter image description here like that

enter image description here

In fact, i have seen this for the classical pendulum defined by enter link description here

StreamPlot[{y, -Sin[x]}, {x, -5, 5}, {y, -3, 3}, Frame -> None, StreamPoints -> Fine, AspectRatio -> 0.8, Epilog -> {PointSize -> Large, Point[{{0, 0}, {\[Pi], 0}, {-\[Pi], 0}}]}]

It have defined cyl enter link description here with a complicated transformation on that.

$\endgroup$
2
  • $\begingroup$ On a sphere or on a cylinder? $\endgroup$
    – Chris K
    Dec 14, 2021 at 22:57
  • 3
    $\begingroup$ What do x and y represent? To draw a phase portrait on a sphere you need a vector field (or ODE) on a sphere. In the cylinder example, the field/ODE is invariant under the transformation $x \mapsto x+2\pi$, which allows one to map the vector field $(\dot x, \dot y) = (y, -\sin x)$ on the plane to a vector field on a cylinder. There's no such natural mapping onto the sphere, so you would have to define one. $\endgroup$
    – Michael E2
    Dec 15, 2021 at 3:04

1 Answer 1

9
$\begingroup$
texture = 
 StreamPlot[{y, -Sin[x]}, {x, -5, 5}, {y, -3, 3}, Frame -> None, 
  StreamPoints -> Fine, AspectRatio -> 0.8, 
  Epilog -> {PointSize -> Large, 
    Point[{{0, 0}, {π, 0}, {-π, 0}}]}]
ParametricPlot3D[
 FromSphericalCoordinates[{1, θ, φ}] // 
  Evaluate, {θ, 0, Pi}, {φ, 0, 2 Pi}, 
 PlotPoints -> 50, Boxed -> False, Axes -> None, Mesh -> None, 
 PlotStyle -> Texture[texture], TextureCoordinateScaling -> True]

enter image description here

$\endgroup$
4
  • $\begingroup$ many thanks, could you modify this in order to get a sphere as above and draw a data points on it. $\endgroup$ Dec 15, 2021 at 11:56
  • $\begingroup$ In my personal opinion you try to answer an incorrect question which makes no sense. It's unclear to me what StreamPlot on the sphere is at all $\endgroup$
    – user64494
    Dec 15, 2021 at 12:16
  • $\begingroup$ @user64494 He wan to draw a portrait onto a sphere instead of a vector fields on sphere,so we need not consider vector field. $\endgroup$
    – cvgmt
    Dec 15, 2021 at 12:22
  • $\begingroup$ @cvgmt: It's unclear what portrait should be drawn. I repeat you try to answer an ill-posed question (see the Michael E2's comment to the question). Don't hesitate to ask for further explanation in need. $\endgroup$
    – user64494
    Dec 15, 2021 at 12:24

Not the answer you're looking for? Browse other questions tagged or ask your own question.