<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Warnock_algorithm</id>
	<title>Warnock algorithm - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Warnock_algorithm"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Warnock_algorithm&amp;action=history"/>
	<updated>2026-10-25T16:06:52Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Warnock_algorithm&amp;diff=3964266&amp;oldid=prev</id>
		<title>imported&gt;Citation bot: Altered template type. | Use this bot. Report bugs. | Suggested by Dominic3203 | Category:Computer graphics algorithms | #UCB_Category 5/49</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Warnock_algorithm&amp;diff=3964266&amp;oldid=prev"/>
		<updated>2024-11-29T13:53:59Z</updated>

		<summary type="html">&lt;p&gt;Altered template type. | &lt;a href=&quot;/wiki143/index.php?title=En:WP:UCB&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;En:WP:UCB (page does not exist)&quot;&gt;Use this bot&lt;/a&gt;. &lt;a href=&quot;/wiki143/index.php?title=En:WP:DBUG&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;En:WP:DBUG (page does not exist)&quot;&gt;Report bugs&lt;/a&gt;. | Suggested by Dominic3203 | &lt;a href=&quot;/wiki143/index.php?title=Category:Computer_graphics_algorithms&quot; title=&quot;Category:Computer graphics algorithms&quot;&gt;Category:Computer graphics algorithms&lt;/a&gt; | #UCB_Category 5/49&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Short description|Computer graphics algorithm}}&lt;br /&gt;
[[File:Warnock1.svg|thumb|200px|Polygon visibility in a given viewport: a) polygon fills the viewport, b) polygon partially and c) completely visible, d) polygon invisible.]]&lt;br /&gt;
[[File:Warnock algorithm.svg|thumb|200px|Four steps of a viewport divisions for a simple scene]]&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Warnock algorithm&amp;#039;&amp;#039;&amp;#039; is a [[Hidden surface determination|hidden surface algorithm]] invented by [[John Warnock]] that is typically used in the field of [[computer graphics]].&amp;lt;ref&amp;gt;{{cite thesis&lt;br /&gt;
|title=A hidden surface algorithm for computer generated halftone pictures&lt;br /&gt;
|last=Warnock&lt;br /&gt;
|first= John&lt;br /&gt;
|authorlink=John Warnock&lt;br /&gt;
|url=http://portal.acm.org/citation.cfm?id=905316&amp;amp;dl=ACM&lt;br /&gt;
|publisher=University of Utah&lt;br /&gt;
|year=1969&lt;br /&gt;
|quote=The algorithm was Warnock&amp;#039;s doctoral thesis.}}, 32 pages &amp;lt;br /&amp;gt;Also: http://www.codersnotes.com/notes/warnock-subdivision-for-deferred-lighting/warnock.pdf&amp;lt;/ref&amp;gt; &lt;br /&gt;
It solves the problem of rendering a complicated image by recursive subdivision of a scene until areas are obtained that are trivial to compute. In other words, if the scene is simple enough to compute efficiently then it is rendered; otherwise it is divided into smaller parts which are likewise tested for simplicity.&amp;lt;ref&amp;gt;{{cite book | last=Daintith | first=John |author2=Wright, Edmund  | year=2009 | title=Oxford Dictionary of Computing | publisher=Oxford University Press |isbn=978-0-19-923400-4}}, 608 pages&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is a [[divide and conquer algorithm]] with [[analysis of algorithms|run-time]] of &amp;lt;math&amp;gt;O(np)&amp;lt;/math&amp;gt;{{dubious|reason=I&amp;#039;m struggling to understand a runtime independent of the number of polygon edges, which only makes sense if pixel containment is considered primitive.|date=June 2022}}, where &amp;#039;&amp;#039;n&amp;#039;&amp;#039; is the number of polygons and &amp;#039;&amp;#039;p&amp;#039;&amp;#039; is the number of pixels in the viewport.&lt;br /&gt;
&lt;br /&gt;
The inputs are a list of polygons and a viewport. The best case is that if the list of polygons is simple, then draw the polygons in the viewport. Simple is defined as one polygon (then the polygon or its part is drawn in appropriate part of a viewport) or a viewport that is one pixel in size (then that pixel gets a color of the polygon closest to the observer). The continuous step is to split the viewport into 4 equally sized quadrants and to recursively call the algorithm for each quadrant, with a polygon list modified such that it only contains polygons that are visible in that quadrant.&lt;br /&gt;
&lt;br /&gt;
Warnock expressed his algorithm in words and pictures, rather than software code, as the core of his PhD thesis, which also described protocols for shading oblique surfaces and other features that are now the core of 3-dimensional computer graphics. The entire thesis was only 26 pages from Introduction to Bibliography. &lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
{{reflist}}&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [http://medialab.di.unipi.it/web/IUM/Waterloo/node68.html A summary of the Warnock Algorithm]&lt;br /&gt;
&lt;br /&gt;
{{Computer graphics}}&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Warnock Algorithm}}&lt;br /&gt;
[[Category:Computer graphics algorithms]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Citation bot</name></author>
	</entry>
</feed>