Browse Prior Art Database

Hidden Line Elimination for Semi Convex Slices

IP.com Disclosure Number: IPCOM000089844D
Original Publication Date: 1977-Dec-01
Included in the Prior Art Database: 2005-Mar-05
Document File: 4 page(s) / 60K

Publishing Venue

IBM

Related People

Appel, A: AUTHOR [+3]

Abstract

This article describes a hidden line elimination (HLE) technique in which the configuration of the object to be drawn is approximated by a succession of semi-convex polygons or slices, wherein the portion of each slice which lies within the boundary of the preceding slice is eliminated.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 47% of the total text.

Page 1 of 4

Hidden Line Elimination for Semi Convex Slices

This article describes a hidden line elimination (HLE) technique in which the configuration of the object to be drawn is approximated by a succession of semi- convex polygons or slices, wherein the portion of each slice which lies within the boundary of the preceding slice is eliminated.

A "semi-convex slice" may be defined as a polygon in which there are two values of Z for each pair of X and Y values. Thus, in Fig. 1, for example, assume that all points in slice 1 have a common X coordinate X(L). For any given Y coordinate Y(L) within the boundary of slice 1, the 1ine L defined by the coordinates X(L), Y(L) passes through two points on the boundary of slice 1 at which the Z coordinates are Z(1) and Z(2), respectively. Slice 2, which consists of points having a common X coordinate greater than X(L), is positioned behind slice 1. If each slice were considered to be opaque, a certain portion of slice 2 will be obscured by slice 1, and slice 2 in turn will obscure a portion of the next succeeding slice positioned behind it.

Hidden line elimination is accomplished on sets of parallel slices by first drawing the nearest slice and then drawing only the pieces of successive slices which protrude from behind preceding slices. Referring to Fig. 2, which shows the projection of typical slices S(1), S(2) and S(3) onto a picture plane, the visibility of points on the picture plane can quickly be determined by the following rules:

a) As slices are drawn, form a table of the maximum and minimum values of DY corresponding to each value of DX on the picture plane. DX and DY are coordinates of points as measured on the picture plane.

b) A point is visible only if it has a DY projection less than the minimum value of DY for the corresponding DX of the point or a DY projection greater than the maximum value of DY for the corresponding DX. Typically, then, along the line on the picture plane DX = X(1), after slice S(1)is drawn, the minimum value of DY is DY(1) and the maximum value of DY is DY(2); hence, for example, on the boundary of S(2), point P(1) is invisible and point P(2)is visible. After drawing slice S(2), the value of DY(2) will be reset to the DY coordinate of P(2) and DY(1) will remain the same. Subsequent comparison testing should declare points P(3) and P(4) on the boundary of S(3) to be visible.

The computational procedure for executing the rules described above is:

1. Initialize an array YMIN(I) to 1000 or some other high number which is greater than the maximum DY coordinate expected on the picture plane. The size of the array YMIN should be the width of the picture divided by the resolution desired; typically, for standard storage scopes the number of elements in YMIN is about 500.

2. Initialize an array YMAX(I) to 0 or some other low number which is smaller than the minimum expected DY coordinate on the picture plane. The size of the YMAX array must be the same size as the YMIN array...