4
$\begingroup$

I would like to animate the eigenoscillations of a sphere (Earth?). It's just simple to draw images one by one:

SphericalPlot3D[{1 + 
   0.25*Re[SphericalHarmonicY[6, 3, th, phi]]}, {th, 0, Pi}, {phi, 0, 
  2 Pi}, PlotPoints -> {16, 32}] 

enter image description here

but how to change m and l arbitrary to see, how a sphere vibrate. I've made this years ago, but I forgot.. Regards, Darko

$\endgroup$
2
  • 1
    $\begingroup$ Do you have an equation for how m and l change with time, or is it stochastic? (you say "arbitrary") $\endgroup$
    – Jason B.
    Commented Apr 20, 2016 at 8:13
  • 1
    $\begingroup$ I would guess that (for the right set of equations) the dependence on t would be on the radial component. So simply varying the "amplitude" harmonically would yield a vibrating sphere. But what are the equations? Is it an elastic body? Is it an elastic body oscillating under its own gravity? Is it a bubble? These are different physical problems that would have different solutions. $\endgroup$
    – gpap
    Commented Apr 20, 2016 at 9:40

1 Answer 1

9
$\begingroup$

So I can't seem to find a nice plottable form for the normal modes of an elastic sphere, if you can please let me know. This talks about the vector spherical harmonics, and people often show sketches of the displacements involved in the fundamental and overtones for the spheroidal and toroidal modes, but I don't find plottable equation forms for them (or I don't understand them enough to plot them).

So let's just take your vibrational mode to be a simple cosine multiplying the spherical harmonic, and since we aren't actually modeling seismic activity we can just put a map of the Earth on the sphere to make it seem as though we are.

pic = Graphics[{EdgeForm[Black], 
   Table[{ColorData["DarkTerrain"][Random[]], 
     CountryData[
      country, {"FullPolygon", "Equirectangular"}]}, {country, 
     Append[CountryData[], "Antarctica"]}]}, 
  Background -> Lighter[ColorData["Aquamarine"][1], 0.5], 
  PlotRangePadding -> None];
ListAnimate[SphericalPlot3D[1 + 0.25*Re[
        Exp[I 2 π #] SphericalHarmonicY[6, 3, u, v]], {u, 0, 
      Pi}, {v, 0, 2 Pi},
     PlotPoints -> 50,
     Mesh -> True,
     Axes -> False,
     TextureCoordinateFunction -> ({#5, 1 - #4} &),
     PlotStyle -> Directive[Texture[pic],
       Specularity[White, 50]], Lighting -> "Neutral",
     Boxed -> False] & /@ Range[0, 1, .01]];

enter image description here

$\endgroup$
6
  • $\begingroup$ That's cool! +1 $\endgroup$ Commented Apr 20, 2016 at 14:05
  • $\begingroup$ Thanks! I really wish I could actually plot the "normal modes of the earth", but this will suffice $\endgroup$
    – Jason B.
    Commented Apr 20, 2016 at 14:10
  • $\begingroup$ Thank you, JasonB, it's just so, like a bubble of water in space. Only without Earth (no memory error). $\endgroup$
    – Darko
    Commented Apr 20, 2016 at 14:11
  • $\begingroup$ @Darko - try removing the , TextureCoordinateFunction -> ({#5, 1 - #4} &), PlotStyle -> Directive[Texture[pic], Specularity[White, 50]], Lighting -> "Neutral" commands and add ColorFunction->(ColorData["TemperatureMap"][#6]&) $\endgroup$
    – Jason B.
    Commented Apr 20, 2016 at 14:13
  • $\begingroup$ If that fails, take out the PlotPoints -> 50, $\endgroup$
    – Jason B.
    Commented Apr 20, 2016 at 14:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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