0% found this document useful (0 votes)
80 views

Lecture 15 6

This document discusses and compares several algorithms for visible surface determination: 1. Depth sorting (painter's algorithm) sorts polygons from back to front but may not provide a strict depth ordering unless polygons have constant z-values. 2. Binary space partitioning trees subdivide space using partitioning planes to classify polygons as in front of or behind other polygons to determine drawing order. 3. Area subdivision algorithms like Warnock's algorithm recursively subdivide the screen area until the visible surfaces are clear, then determine relationships between polygons and areas to assign colors.

Uploaded by

subtlecse1
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
80 views

Lecture 15 6

This document discusses and compares several algorithms for visible surface determination: 1. Depth sorting (painter's algorithm) sorts polygons from back to front but may not provide a strict depth ordering unless polygons have constant z-values. 2. Binary space partitioning trees subdivide space using partitioning planes to classify polygons as in front of or behind other polygons to determine drawing order. 3. Area subdivision algorithms like Warnock's algorithm recursively subdivide the screen area until the visible surfaces are clear, then determine relationships between polygons and areas to assign colors.

Uploaded by

subtlecse1
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Visible Surface Determination Visible Surface Determination

Part II
• Depth Sort (Painter Algorithm)
Foley & Van Dam, Chapter 15
• Binary Space Partitioning Tree
• Area Subdivision Algorithms (Warnock’s)

Depth Sort (Painter Algorithm) Depth Sort (Painter Algorithm)


• Algorithm: • General Case: Given two polygons P and Q, an
• Sort the polygons in the scene by their depth order may be determined between them, if at least
• Draw them back to front one of the following holds:
1) z values of P and Q do not overlap
• Problem: Unless all polygons have constant z, a x
2) The bounding rectangle in the x, y Z 1
strict depth ordering may not exist
plane for P and Q do not overlap
Note: Constant z case is important in VLSI design
x 3) P is totally on one side of Q’s plane
x x
Z
4) Q is totally on one side of P’s plane 2

5) The bounding rectangles of Q and P


do not intersect in the projection plane Z x
y y 3 and 4

Depth Sort (Painter Algorithm) Binary Space Partitioning Tree


• If all the above conditions do not hold, P • Interior nodes correspond to partitioning
and Q may be split along intersection edge planes
into two smaller polygons • Leaf nodes correspond to convex regions
of space
x x A
A
B

B C

y y
C
Binary Space Partitioning Tree Binary Space Partitioning Tree
• Tests 3 and 4 in Depth Sort technique can be exploited
efficiently with BSP-Trees: • BSP Tree Algorithm:
• Let Lp be the plane P lies in. The 3D space may be divided • Construction of the BSP tree:
into the following three groups:
– Polygons in front of Lp
– Pick a polygon, let its supporting plane be the
– Polygons behind Lp root of the tree
– Polygons intersecting Lp – Create two lists of polygons: those in front, and
• Polygons in the third class are split, and resulting polygons are
those behind (splitting polygons if necessary)
classified into the first two classes
• As a result of the subdivision with respect to Lp: – Recurse on the two lists to create two sub-trees
– The polygons behind Lp cannot obscure P, so we can draw • Display:
them first
– P cannot obscure the polygons in front of Lp so we can draw – Traverse the BSP tree back to front, drawing
P second polygons in the order they are encountered in
– Finally we draw the polygons in front of P the traversal

Binary Space Partitioning Tree Binary Space Partitioning Tree


• Example: • Properties:
• The BSP tree is view independent
2 2
1 1 • The BSP tree is constructed using the
geometry of the object only
3 3
6 • The tree can be used for hidden surface
5 5
4 4 removal at an arbitrary direction
2 2
• BSP tree is an object-precision algorithm
1 1

3 3
6 6 5
7
5
4 4

Area Subdivision Algorithms Area Subdivision Algorithms


• Warnock’s Algorithm:
• Warnock’s Algorithm: • If all polygons are disjoint from the area, fill area with
• Subdivide screen area recursively, until visible background color
surfaces are easy to determine • Only one intersecting or contained polygon: First fill
• Each polygon has one of four relationships to with background color, then scan convert polygon
the area of interest: • Only one surrounding polygon: Fill area with polygon’s
color
• More than one polygon is surrounding, intersecting, or
contained, but one surrounding polygon is in front of
the rest: Fill area with polygon’s color
• If none of the above cases occurs: Subdivide area into
Surrounding Intersecting Contained Disjoint
four parts, and recurse
Area Subdivision Algorithms
• Warnock’s Algorithm:
• When the resolution of the image is reached, polygons
are sorted by their Z-values at the center of the pixel,
and the color of the closest polygon is used
• Image-precision technique

You might also like