State warnock algorithm, Data Structure & Algorithms

Assignment Help:

Warnock's Algorithm

An interesting approach to the hidden-surface problem was presented by Warnock. His method does not try to decide exactly what is happening in the scene but rather just tries to get the display right. As the resolution of the display increases, the amount of work which the algorithm must do to get the scene right also increases, (this is also true for scan-line algorithms). The algorithm divides the screen up into sample areas. In some sample areas it will be easy to decide what to do. If there are no faces within the area, then it is left blank. If the nearest polygon completely covers it, then it can be filled in with the colour of that polygon. If neither of these conditions holds, then the algorithm subdivides the sample area into smaller sample areas and considers each of them in turn. This process is repeated as needed. It stops when the sample area satisfies one of the two simple cases or when the sample area is only a single pixel (which can be given the colour of the foremost polygon). The process can also be allowed to continue to half or quarter pixel-sized sample areas, whose colour may be average over a pixel to provide antialiasing.  

The test for whether a polygon surrounds or is disjoint from the sample area is much like a clipping test to see if the polygon sides cross the sample-area boundaries. Actually the minimax test can be employed to identify many of the disjoint polygons. A simple test for whether a polygon is in front of another is a comparison of the z coordinates of the polygon planes at the corners of the sample area. At each subdivision, information learned in the previous test can be used to simplify the problem. Polygons which are disjoint from the tested sample area will also be disjoint from all of the sub-areas and do not need further testing. Likewise, a polygon which surrounds the sample area will also surround the sub-areas.

 


Related Discussions:- State warnock algorithm

Recursion, differences between direct and indirect recursion

differences between direct and indirect recursion

System defined data types, System defined data types:- These are data t...

System defined data types:- These are data types that have been defined by the compiler of any program. The C language contains 4 basic data types:- Int, float,  char and doubl

Linear search, Linear search is not the most efficient way to search an ite...

Linear search is not the most efficient way to search an item within a collection of items. Though, it is extremely simple to implement. Furthermore, if the array elements are arra

Draw a b-tree., Q. Draw a B-tree of order 3 for the sequence of keys writte...

Q. Draw a B-tree of order 3 for the sequence of keys written below: 2, 4, 9, 8, 7, 6, 3, 1, 5, 10

Implement the physat algorithm, The first assignment in this course require...

The first assignment in this course required you to acquire data to enable you to implement the PHYSAT algorithm (Alvain et al. 2005, Alvain et al. 2008) in this second assignment

Size of stack, The size of stack was declared as ten. Thus, stack cannot ho...

The size of stack was declared as ten. Thus, stack cannot hold more than ten elements. The major operations which can be performed onto a stack are push and pop. However, in a prog

Write an algorithm to display this repeated calculation, The following form...

The following formula is used to calculate n: n = x * x/(1 - x) . Value x = 0 is used to stop algorithm. Calculation is repeated using values of x until value x = 0 is input. There

Luminous Jewels - The Polishing Game, Byteland county is very famous for lu...

Byteland county is very famous for luminous jewels. Luminous jewels are used in making beautiful necklaces. A necklace consists of various luminous jewels of particular colour. Nec

Determine the effect of ruby in implementation of string, Determine the eff...

Determine the effect of Ruby in implementation of string Ruby has a String class whose instances are mutable sequences of Unicode characters. Symbol class instances are charact

Program segment for deletion of any element from the queue, Program segment...

Program segment for deletion of any element from the queue delete() { int delvalue = 0; if (front == NULL) printf("Queue Empty"); { delvalue = front->value;

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd