MathGroup Archive 2011

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: plotting contours on a sphere

  • To: mathgroup at smc.vnet.net
  • Subject: [mg119492] Re: plotting contours on a sphere
  • From: Heike Gramberg <heike.gramberg at gmail.com>
  • Date: Mon, 6 Jun 2011 06:24:52 -0400 (EDT)

You could use Texture in combination with TextureCoordinateFunction for this:

p2a = ContourPlot[
   f[\[Theta], \[Phi]], {\[Theta], 0, 2 Pi}, {\[Phi], 0, Pi}, 
   FrameLabel -> {\[Theta], \[Phi]}, 
   ColorFunction -> ColorData["TemperatureMap"],
   Axes -> False, Frame -> False, ImagePadding -> None,
   PlotRangePadding -> None];

p3 = SphericalPlot3D[1, {\[Theta], 0, Pi}, {\[Phi], 0, 2 Pi},
  Mesh -> None, PlotPoints -> 40,
  PlotStyle -> {Texture[p2a]},
  TextureCoordinateFunction -> ({#5, 1 - #4} &)]


Heike

On 5 Jun 2011, at 12:04, J Davis wrote:

> I would like to plot the contours of a given function f on the surface
> of a sphere.
> 
> More specifically, I'd like to "wrap" the contours in p2 below onto
> the surface of the sphere in p3.
> 
> f[\[Theta]_, \[Phi]_] = Sin[\[Theta] + \[Phi]];
> p1 = Plot3D[f[\[Theta], \[Phi]], {\[Theta], 0, 2 Pi}, {\[Phi], 0, Pi},
>    PlotRange -> All, AxesLabel -> {\[Theta], \[Phi]},
>   ColorFunction -> ColorData["TemperatureMap"]];
> p2 = ContourPlot[
>   f[\[Theta], \[Phi]], {\[Theta], 0, 2 Pi}, {\[Phi], 0, Pi},
>   PlotRange -> All, FrameLabel -> {\[Theta], \[Phi]},
>   ColorFunction -> ColorData["TemperatureMap"]];
> p3 = SphericalPlot3D[1, {\[Phi], 0, Pi}, {\[Theta], 0, 2 Pi},
>   ColorFunctionScaling -> False,
>   ColorFunction ->
>    Function[{x, y, z, \[Theta], \[Phi], r},
>     ColorData["TemperatureMap"][
>      Rescale[f[\[Phi], \[Theta]], {-1, 1}]]]];
> GraphicsRow[{p1, p2, p3}, ImageSize -> 750]
> 
> Thanks in advance for any insight you can offer.
> 
> Best,
> John
> 



  • Prev by Date: Re: Question about function construction
  • Next by Date: Re: Question about function construction
  • Previous by thread: Re: plotting contours on a sphere
  • Next by thread: Re: plotting contours on a sphere