[metapost] Re: [metafont] Re: Intersections of NURBs

Laurence Finston lfinsto1 at gwdg.de
Sun Jan 30 16:51:04 CET 2005


Larry Siebenmann wrote:

> Here is a simplest example where a difficulty arises.  I stand
> before an (infinite) blackboard and project bezier curves on the
> blackboard from my eye onto the (infinite) floor.  Consider in
> particular the bezier cubic bb with its controll trilateral
> A--B--C--D on the blackboard thus:
> 
> 
>                B o-------------o C
>                 /               \
>      -  -  -  -/ -  -  -  -  -  -\ -  -  - H   horizon of floor
>               /        x          \        projected to blackboard     
>              /   x            x    \
>             /                       \
>            / x                     x \
>           /                           \     (paper = blackboard)
>          /x                           x\
>         /                               \
>        /                                 \
>     A o                                   o D
> 

I've taken another look at this, and there are a couple of things I don't
understand.  When I perform the perspective transformation in 3DLDF, I have a
`Focus' with `Points' representing the position and the direction of view, and
a `real' value representing the distance of the position from the plane of
projection.  In order to simplify things, the `Focus' is transformed such that

`position' and `position + direction' come to lie on the negative z-axis, (in
a left-handed Cartesian coordinate system), and this transformation is applied
to all of the objects on the `Picture' prior to applying the perspective
transformation.  Any objects whose z-coordinates are less than or equal to
that of `Focus.position' are not projected.  According to my understanding,
there is no concept of a "horizon" when using this method.

In your example, it's not clear to me how the points are projected onto the
plane of the floor.  If they are at focus level or above, a line through the
focus and a given point will not intersect the floor.  Nor does this method of
projection correspond to traditional linear perspective, in which the
direction of view is constant.  In traditional linear perspective, when the
direction of view is parallel to the ground plane, the horizon is always at
the height of the focus---a fact one can easily confirm by looking out at a
large body of water from ground level and then from the top of a tall building
(I did this with Lake Michigan).  If the direction of view is not parallel to
the ground plane, then the floor is no longer the ground plane of the
perspective construction, i.e., if the direction of view is inclined upward,
the floor seems to tilt downward, slanting away from the focus, and vice
versa.  I believe a ground plane is not a necessary condition for a
perspective construction.  

If my understanding is at fault, please correct me.  I'm sorry if my
objections are naive---my interest in math has developed rather late.

Thanks,

Laurence



More information about the metapost mailing list