MathGroup Archive 2011

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

Search the Archive

Re: ViewPoint selector (Stan Wagon's)

  • To: mathgroup at smc.vnet.net
  • Subject: [mg119276] Re: ViewPoint selector (Stan Wagon's)
  • From: "Nasser M. Abbasi" <nma at 12000.org>
  • Date: Sat, 28 May 2011 07:20:01 -0400 (EDT)
  • References: <irntfc$sni$1@smc.vnet.net>
  • Reply-to: nma at 12000.org

On 5/27/2011 3:13 AM, Christopher O. Young wrote:
> Here's a handy tool for adjusting the viewpoint from the latest edition of
> Stan Wagon's "Mathematica in Action".
>
> It's at Google Books at
> http://books.google.com/books?id=EbVrWLNiub4C&pg=PA77&dq=Mathematica+%22Mesh
> +option%22&source=gbs_selected_pages&cad=3#v=onepage&q&f=true
>
> I'm not sure how to make a function out of this, which will accept any
> function of x and y, or better, any 3D plot.
>
> Also, it would be more helpful if it gave the x, y, and z coordinates that
> corresponded to the angle, radius, and z coordinates used here.
>
> f[x_, y_] := (x^2 + 3 y^2) E^(1 - x^2 - y^2)   (* Just an example; any 3D
> plot should work *)
>
>
> Manipulate[
>   Plot3D[
>    f[x, y],
>    {x, -2, 2}, {y, -2.5, 2.5},
>    Ticks ->  All,
>    AxesLabel ->  {"x", "y", "z"},
>    BoxRatios ->  {4, 5, 3},
>    Ticks ->  {{0, 2}, Range[-2, 2], Range[0, 3]},
>    SphericalRegion ->  True,
>    ViewPoint ->  Dynamic[{r Cos[\[Theta]], r Sin[\[Theta]], z}],
>    PlotLabel ->
>     Dynamic[StringForm["ViewPoint=``",
>       NumberForm[Chop[{r Cos[\[Theta]], r Sin[\[Theta]], z}], 3]]
>      ]
>    ],
>   {\[Theta], 0, 2 \[Pi]}, {{r, 1}, 0, 100}, {{z, 1}, -100, 100}
>   ]
>
>

Thanks for posting it.

I made small improvements to the above to remove the juggling
of the image and the viewpoint displayed values that appear
due to change of values size in the display as the demo is run.

I do not like to see juggling in numerical data or images :)

Here is the updated version, this should run more smooth on the eye.

---------------------

Manipulate[
(
title=Style[Grid[{
{"ViewPoint = ",s[r Cos[\[Theta]]],s[r Sin[\[Theta]]],s[z]}
},Frame->All,Spacings->{1,1}],14
];

Plot3D[f[x,y],{x,-2,2},{y,-2.5,2.5},
Ticks->All,
AxesLabel->{"x","y","z"},
BoxRatios->{4,5,3},
Ticks->{{0,2},Range[-2,2],Range[0,3]},
SphericalRegion->True,
ViewPoint->Dynamic[{r Cos[\[Theta]],r Sin[\[Theta]],z}],
PlotLabel->title,
ImageSize->300,ImagePadding->{{10,10},{10,35}}]
),

{\[Theta],0,2 \[Pi]},{{r,1},0,100},{{z,1},-100,100},
Initialization:>
(
f[x_,y_]:=(x^2+3 y^2) E^(1-x^2-y^2);
s[n_]:=NumberForm[Chop[n],{6,3},
NumberSigns->{"-","+"},
NumberPadding->{"0","0"},
SignPadding->True];
)]

-----------------

--Nasser


  • Prev by Date: Re: Rounding to a certain number of decimal places
  • Next by Date: Re: Precedence question
  • Previous by thread: ViewPoint selector (Stan Wagon's)
  • Next by thread: Re: ViewPoint selector (Stan Wagon's)