Re: Animation of a rotating object. (Mathematica 6)
- To: mathgroup at smc.vnet.net
- Subject: [mg80769] Re: Animation of a rotating object. (Mathematica 6)
- From: "David Park" <djmpark at comcast.net>
- Date: Sat, 1 Sep 2007 00:27:38 -0400 (EDT)
- References: <fb83p8$849$1@smc.twtelecom.net>
With animation you almost always have to specify PlotRange (as you did) to
prevent 'frame jitter'.
To zoom in on the object use PlotRegion (in a somewhat unconventional
manner).
a = Plot3D[Sin[x y], {x, -5, 5}, {y, -5, 5}, MaxRecursion -> 1,
PlotPoints -> 50, Mesh -> None]
Manipulate[Graphics3D[Rotate[a[[1]], phi, {0, 0, 1}],
Boxed -> False,
PlotRange -> {{-7, 7}, {-7, 7}, {-1, 1}},
PlotRegion -> {{-0.2, 1.2}, {-0.2, 1.1}}],
{phi, 0, Pi/2}]
You can use Table instead of Manipulate to export your graphics.
--
David Park
djmpark at comcast.net
http://home.comcast.net/~djmpark/
"Nacho" <ncc1701zzz at gmail.com> wrote in message
news:fb83p8$849$1 at smc.twtelecom.net...
> Hello.
>
> I'm trying to make an animation of a rotating 3D object and I'm having
> some problems.
>
> I want to make a list of images to export them to an AVI file.
>
> For example, the following object:
>
> a = Plot3D[Sin[x y], {x, -5, 5}, {y, -5, 5}, MaxRecursion -> 1,
> PlotPoints -> 50, Mesh -> None];
>
> I want to rotate it around the z axis slowly. I've tried Rotate and
> changing ViewPoint, but neither work for me because Rotate distorted
> the scale of every image and changing ViewPoint only works if I want
> to rotate everything at the same time.
>
> I think that I should use Rotate, so I can Rotate several objects in
> different angles or speeds. But I would like to avoid the distortion
> in the size of the image:
>
> I've tried specifying PlotRange, and it looks promising, but I have
> two problems: calculating the best PlotRange paramters so everything
> is included, and maximizing the plotted area (so the white region
> around the objects is minimized).
>
> This is close, but a lot of white space is around the object, and I
> have to set the limits of PlotRange by try-and-see.
>
> b = Table[
> Graphics3D[Rotate[a[[1]], phi, {0, 0, 1}], Boxed -> False,
> PlotRange -> {{-7, 7}, {-7, 7}, {-1, 1}}], {phi, 0, 1/4 Pi,
> 1/4 Pi /5}]
>
>
> Any hint to do this?
>
> The object doesn't need to be this particular Plot3D. It could be a
> ParametricPlot3D, several Graphics3D primitives, etc.
>
> Thanks a lot.
>
> Best regards.
>
>