[comp.graphics] 3D Floating Horizon Plots

BIGGERT@rcgl1.eng.ohio-state.edu (* Pete Biggert *) (03/09/90)

     I am writing a 3-D plotting algorithm for my own uses which plots
a function of the type Z = f(x,y) by drawing lines connecting the
z-values along constant x and/or y coordinates.  Z is a single valued
function of x and y. These types of plots are called carpet graphs.

     I want to remove hidden lines using a "Floating Horizon"
algorithm. This algorithm transforms the (x,y,z) coordinates to the
(u,v) projection plane then creates an upper and lower horizon using
the line closest to the projection plane.  Lines succesively farther
from the projection plane are plotted only if they are above the upper
horizon or below the lower one.

     My problem is... the references I have seen for implementing this
algorithm use integers for the (u,v) projection plane corresponding to
the pixel dimensions of the plotting window.  This makes it easy to
calculate intersections using a bresingham (sp?) type algorithm and
makes the size of the horizon arrays equal to the pixel dimensions.  I
would like to keep the (u,v) projection plane as real numbers. This
would allow the program to be general and not dependent upon the
resolution of the display device.

Has anyone seen any references which described implementing the
"Floating Horizon" algorithm using real coordinates instead of integer
coordinates.  Any help will be appreciated.

Pete
Internet address:   biggert@rcgl1.eng.ohio-state.edu