[comp.graphics] 3D Viewing parameters from Foley & VD, etc.

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