On 12-10-08 7:12 PM, Peter Rossi wrote:
Dear all:

I'm enjoying using rgl and I want to set a specific viewpoint.

I understand that view3d()  will do so by setting the 3d polar
coordinate angles, theta and phi.

That's incorrect, see below.

In standard polar coordinates, theta is the angle away from the X axis
in the X-Y plane and phi (inclination angle) is the angle between the
Z axis and the radius vector

It appears that when you use view3d()  theta is defined as the angle
away from the x axis in the X-Z plane and phi is the angle between the
Y axis and the radius vector.

Those descriptions are both incomplete. Rotations in 3D don't commute, so you need to give them in order: e.g. "first rotate by x about y, then rotate by z about w."

I don't remember what theta and phi correspond to in those terms, but if you want to get fine control, set the userMatrix member of par3d() explicitly.



When I use view3d(theta=0, phi=15), my image is flipped on the side
with the Y axis pointing upward and the Z axis pointing toward me.
This seems contrary to the standard definition of polar coordinates.

I have read the rgl help files but these do not define theta or phi.
I also looked at documentation on the rgl site to no avail.

You could also read the source code -- it's open source.

I wonder if someone out there could enlighten me s to what I've got
wrong or how to translate properly between rgl definition and standard
polar coordinates.

You can't, it's not polar coordinates.  It's a sequence of rotations.

Duncan Murdoch

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to