gregor@oit.itd.umich.edu (Gregor Purdy) (05/21/91)
Friends-- I'm a computer programmer of a few years trying to absorb some of the material from Foley & VD, etc. re: 3D Viewing. I don't have the book in front of me just now, but one problem I need help with is the parameter VPN (View Plane Normal). Early on, it seems that VPN points AWAY from whatever you are viewing, but in a later diagram, they show it pointing TOWARD what's being viewed. So, which is it? Thanks, --Gregor ----------------------------------------+------------------------------------- Gregor N. Purdy, NeXT Campus Consultant | "I am that which is not everything OIT, University of Michigan | else." -- Gregor N. Purdy Ann Arbor, MI 48109 +------------------------------------- gregor@oit.itd.umich.edu | One species, one government! ----------------------------------------+-------------------------------------
ads@canon.co.uk (Adam Billyard) (05/22/91)
> I'm a computer programmer of a few years trying to absorb some of the material > from Foley & VD, etc. re: 3D Viewing. I don't have the book in front of me > just now, but one problem I need help with is the parameter VPN (View Plane > Normal). Early on, it seems that VPN points AWAY from whatever you are viewing, > but in a later diagram, they show it pointing TOWARD what's being viewed. > > So, which is it? The confusion may lie in the switch of coordinate systems that occurs during the progression along the viewing pipeline. The VPN points away from the COP, toward the VRP. It is essentially synonymous with the 'LookAt' vectors used by some viewing specifications. In World Coordinates the positive Z can be thought of as coming out of the XY plane toward you, in device or View coordinates, the positive Z increases as it moves away from you. The VPN however, always points away from the COP (which is where you are). Adam. PS I found Computer Graphics by Salmon and Slater much more accessible in their dealings with 3D viewing models than Foley & VD; you might take a look at it.
levine@well.sf.ca.us (Ron Levine) (05/25/91)
In Message <1991May21.095505.25679@engin.umich.edu> Gregor Purdy writes: >I'm ... trying to absorb some of the material from Foley & VD, etc. >... one problem I need help with is the parameter VPN (View Plane >Normal). Early on, it seems that VPN points AWAY from whatever you are viewing, >but in a later diagram, they show it pointing TOWARD what's being viewed. > >So, which is it? VPN is a vector. It has direction, but no particular location, it can be moved anywhere parallel to itself without changing its identity. Hence, it doesn't make sense to say just that it points at point A, but only that it points from point B to point A. In particular, VPN is a vector defined in the PHIGS 3D viewing model. It serves to determine the orientation of the View Plane, i.e. the plane in world space onto which the 3D space is projected to make a 2D picture. The view plane is one of the family of parallel planes which are perpendicular to VPN. The sense of VPN is irrelevant for the purpose of defining the orientation of the View Plane: a plane is perpendicular to VPN if and only if it is perpendicular to -VPN. Usually, in PHIGS-related diagrams we tie the tail of VPN to the View Reference Point, since the VRP is the origin of the View Reference Coordinate system and the VPN gives the direction of one of the axes (called the N-axis). The VRP is completely arbitrary in PHIGS. It can be placed anywhere in the world without materially affecting the view (although its location will certainly affect the particular transformation matrices needed to produce a given view). Therefore, there is no problem in your perception that the VPN may sometimes point towards the viewed object and sometimes away from the viewed object. In fact, in a given scene it may point towards some viewed objects and away from some others. By the way, Foley et al are not correct (with respect to PHIGS) when they state on p. 237 that the VRP is on the view plane. See the footnote on the same page, which sets things straight. In a response to Gregor's message, Adam Billyard writes in <1991May22.095848.728@canon.co.uk> >... The VPN points away from the COP, toward the VRP. Note that this statement is irrelevant to Gregor's query, because it does not concern the object being viewed, but rather the VRP and the COP (Center of Projection). Further, the COP is relevant only in perspective projection, so the statement has nothing to do with parallel projection, where the natural confusion about the sense of the N axis is still an issue. The statement makes sense because it speaks of a vector pointing away from one point towards another. It may even be sometimes true. But USUALLY, in PHIGS applications, it isn't true. It is most common (but not necessary) in PHIGS applications to place the VRP in the midst of, or perhaps at a corner of, the view volume, and it is most common (but not necessary) to place the Projection Reference Point (which provides the COP in the case of perspective projection) in the positive N half-space. In this most common viewing configuration, Adam's statement is false. Adam continues: >In World Coordinates the positive Z can be thought of as coming out of >the XY plane toward you, in device or View coordinates, the positive Z >increases as it moves away from you. The VPN however, always points away >from the COP (which is where you are). Here Adam touches on the really interesting question, namely the direction of the N axis compared with the apparent direction between the viewed scene and the viewer, who, by the way, is not at the COP but rather seated in front of his workstation screen. But Adam does Gregor a great disservice by confusing the World Coordinates XYZ with the View Reference Coordinates UVN. They are not at all the same. (For mathematicians: they are related by an arbitrary orientation-preserving rigid motion, i.e. a transformation which can be realized by a rotation about some axis followed by a translation). The WC are not generally aligned in any particular way with the display surface--this is the whole point of studying 3D viewing transformations. But the VRC coordinates UVN ARE aligned with the display surface. In particular, V, when projected to the view plane and mapped to the display surface, always points towards the top of the screen (View Up Vector); usually, U points from left to right when projected and mapped to the workstation display surface; and UVN is a right-handed system in PHIGS. Therefore, usually, N points out of the screen towards the viewer. Ron Levine Dorian Research, Inc. (415)-535-1350