<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>
<channel>
	<title>Comments on: QuadTree (Source Included)</title>
	<atom:link href="http://www.kyleschouviller.com/wsuxna/quadtree-source-included/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.kyleschouviller.com/wsuxna/quadtree-source-included/</link>
	<description></description>
	<pubDate>Fri, 12 Mar 2010 00:36:11 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Mathieu</title>
		<link>http://www.kyleschouviller.com/wsuxna/quadtree-source-included/comment-page-1/#comment-24499</link>
		<dc:creator>Mathieu</dc:creator>
		<pubDate>Thu, 24 Dec 2009 12:31:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.kyleschouviller.com/index.php/quadtree-source-included/#comment-24499</guid>
		<description>gg dude</description>
		<content:encoded><![CDATA[<p>gg dude</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aaron Schultz</title>
		<link>http://www.kyleschouviller.com/wsuxna/quadtree-source-included/comment-page-1/#comment-24107</link>
		<dc:creator>Aaron Schultz</dc:creator>
		<pubDate>Sun, 25 Oct 2009 07:12:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.kyleschouviller.com/index.php/quadtree-source-included/#comment-24107</guid>
		<description>Just wondering, but you mentioned changing the passing of Lists to use the ref keyword. Isn't that unnecessary, since List is a reference type? As far as I understand it, adding the keyword is only necessary when dealing with value types, which are copied by default.

Otherwise, great post. Probably the best run-down and tutorial on Quadtrees I have ever read. I implemented your system awhile back on a game project for class that had several hundred moving particles of different scales all doing collision, and with modifications to handle position changing it worked amazingly well. There was a point where having lots of empty nodes was a problem, but running a quick cull on all empty nodes each frame solved the issue.</description>
		<content:encoded><![CDATA[<p>Just wondering, but you mentioned changing the passing of Lists to use the ref keyword. Isn&#8217;t that unnecessary, since List is a reference type? As far as I understand it, adding the keyword is only necessary when dealing with value types, which are copied by default.</p>
<p>Otherwise, great post. Probably the best run-down and tutorial on Quadtrees I have ever read. I implemented your system awhile back on a game project for class that had several hundred moving particles of different scales all doing collision, and with modifications to handle position changing it worked amazingly well. There was a point where having lots of empty nodes was a problem, but running a quick cull on all empty nodes each frame solved the issue.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: TruongThanhTung</title>
		<link>http://www.kyleschouviller.com/wsuxna/quadtree-source-included/comment-page-1/#comment-24093</link>
		<dc:creator>TruongThanhTung</dc:creator>
		<pubDate>Tue, 20 Oct 2009 17:03:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.kyleschouviller.com/index.php/quadtree-source-included/#comment-24093</guid>
		<description>thank you so much, it helps me how to make store my world game. Thanks,</description>
		<content:encoded><![CDATA[<p>thank you so much, it helps me how to make store my world game. Thanks,</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: [XNA] Detecci&#243;n de colisiones por descomposici&#243;n del espacio en una rejilla de v&#243;xeles - Jesús Bosch</title>
		<link>http://www.kyleschouviller.com/wsuxna/quadtree-source-included/comment-page-1/#comment-24020</link>
		<dc:creator>[XNA] Detecci&#243;n de colisiones por descomposici&#243;n del espacio en una rejilla de v&#243;xeles - Jesús Bosch</dc:creator>
		<pubDate>Sat, 26 Sep 2009 10:15:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.kyleschouviller.com/index.php/quadtree-source-included/#comment-24020</guid>
		<description>[...] en el caso en el que dos objetos se encuentren en el mismo voxel. &#191;Parecido con el Quadtree? Bastante, la diferencia est&#225; en que aqu&#237; no hay voxels [...]</description>
		<content:encoded><![CDATA[<p>[...] en el caso en el que dos objetos se encuentren en el mismo voxel. &iquest;Parecido con el Quadtree? Bastante, la diferencia est&aacute; en que aqu&iacute; no hay voxels [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Edward</title>
		<link>http://www.kyleschouviller.com/wsuxna/quadtree-source-included/comment-page-1/#comment-23920</link>
		<dc:creator>Edward</dc:creator>
		<pubDate>Mon, 14 Sep 2009 23:58:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.kyleschouviller.com/index.php/quadtree-source-included/#comment-23920</guid>
		<description>Nice tutorial it helped me alot! but i still got a question.
Just like your example above I have a quadtree with nodes that hold 1 object each, what happen if i add 2 objects to the tree and both of them cannot fit entirely into the lower level, and both of them got to stay in level.</description>
		<content:encoded><![CDATA[<p>Nice tutorial it helped me alot! but i still got a question.<br />
Just like your example above I have a quadtree with nodes that hold 1 object each, what happen if i add 2 objects to the tree and both of them cannot fit entirely into the lower level, and both of them got to stay in level.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kyle Schouviller</title>
		<link>http://www.kyleschouviller.com/wsuxna/quadtree-source-included/comment-page-1/#comment-23518</link>
		<dc:creator>Kyle Schouviller</dc:creator>
		<pubDate>Tue, 16 Jun 2009 19:18:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.kyleschouviller.com/index.php/quadtree-source-included/#comment-23518</guid>
		<description>Jack,

Thanks for the "good article" comments.

You're correct that items spanning dividing lines will be allocated in the level above the dividing line, which may be as high as level 0.  If this isn't optimal for the type of objects in the scene, then a quadtree probably isn't a good solution.

My implementation is pretty old, and doesn't implement a lot of performance considerations you'd want to make for XNA and especially the Xbox.

However, that's not the purpose of the implementation, or this article.  A quadtree is a good introduction to spatial trees, and can in fact be fairly useful in certain situations.  The tree I've described isn't optimal for most situations, but it's not meant to explore those - just the basic concepts of a quadtree.  I leave the specific variation as an exercise to the reader.</description>
		<content:encoded><![CDATA[<p>Jack,</p>
<p>Thanks for the &#8220;good article&#8221; comments.</p>
<p>You&#8217;re correct that items spanning dividing lines will be allocated in the level above the dividing line, which may be as high as level 0.  If this isn&#8217;t optimal for the type of objects in the scene, then a quadtree probably isn&#8217;t a good solution.</p>
<p>My implementation is pretty old, and doesn&#8217;t implement a lot of performance considerations you&#8217;d want to make for XNA and especially the Xbox.</p>
<p>However, that&#8217;s not the purpose of the implementation, or this article.  A quadtree is a good introduction to spatial trees, and can in fact be fairly useful in certain situations.  The tree I&#8217;ve described isn&#8217;t optimal for most situations, but it&#8217;s not meant to explore those - just the basic concepts of a quadtree.  I leave the specific variation as an exercise to the reader.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jack</title>
		<link>http://www.kyleschouviller.com/wsuxna/quadtree-source-included/comment-page-1/#comment-23491</link>
		<dc:creator>Jack</dc:creator>
		<pubDate>Mon, 08 Jun 2009 22:37:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.kyleschouviller.com/index.php/quadtree-source-included/#comment-23491</guid>
		<description>What happens to a tiny square which spans the centre of the quadtree?

it will always be allocated to level 0 ??

and that means it will be returned even for your query above

and that is true for all objects spanning dividing lines in the quadtree

it does not work

plus it is no good for dynamic objects as it takes too long to shuffle everything about when things move

the classic quadtree you describe is almost no use in real life

why not think up a variation that works properly and then write a good article about a good spatial index

instead of a good article about a bad spatial index</description>
		<content:encoded><![CDATA[<p>What happens to a tiny square which spans the centre of the quadtree?</p>
<p>it will always be allocated to level 0 ??</p>
<p>and that means it will be returned even for your query above</p>
<p>and that is true for all objects spanning dividing lines in the quadtree</p>
<p>it does not work</p>
<p>plus it is no good for dynamic objects as it takes too long to shuffle everything about when things move</p>
<p>the classic quadtree you describe is almost no use in real life</p>
<p>why not think up a variation that works properly and then write a good article about a good spatial index</p>
<p>instead of a good article about a bad spatial index</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Game Rendering &#187; Quadtree</title>
		<link>http://www.kyleschouviller.com/wsuxna/quadtree-source-included/comment-page-1/#comment-1393</link>
		<dc:creator>Game Rendering &#187; Quadtree</dc:creator>
		<pubDate>Tue, 16 Dec 2008 19:31:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.kyleschouviller.com/index.php/quadtree-source-included/#comment-1393</guid>
		<description>[...] More info about quadtrees, including source: http://www.kyleschouviller.com/wsuxna/quadtree-source-included/ [...]</description>
		<content:encoded><![CDATA[<p>[...] More info about quadtrees, including source: <a href="http://www.kyleschouviller.com/wsuxna/quadtree-source-included/" rel="nofollow">http://www.kyleschouviller.com/wsuxna/quadtree-source-included/</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kyle Schouviller</title>
		<link>http://www.kyleschouviller.com/wsuxna/quadtree-source-included/comment-page-1/#comment-551</link>
		<dc:creator>Kyle Schouviller</dc:creator>
		<pubDate>Mon, 02 Jun 2008 01:12:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.kyleschouviller.com/index.php/quadtree-source-included/#comment-551</guid>
		<description>Yah, you can have the objects in any level of the tree - it's just best if they're in the leaf nodes, since you can eliminate the most collision checks if they are (in fact, the closer to the leaves the better).</description>
		<content:encoded><![CDATA[<p>Yah, you can have the objects in any level of the tree - it&#8217;s just best if they&#8217;re in the leaf nodes, since you can eliminate the most collision checks if they are (in fact, the closer to the leaves the better).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Josh</title>
		<link>http://www.kyleschouviller.com/wsuxna/quadtree-source-included/comment-page-1/#comment-544</link>
		<dc:creator>Josh</dc:creator>
		<pubDate>Thu, 29 May 2008 03:29:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.kyleschouviller.com/index.php/quadtree-source-included/#comment-544</guid>
		<description>Hey Kyle!

Thanks for the excellent article with very readable code to boot!  I am curious about a few things at the moment...

I am planning to use a quad tree for collision detection and and considering pre-partitioning the tree as to not require many objects to be created during run-time.  That being said, would all objects have to be in leaf nodes of the tree for this to be feasible, or could the larger sized objects remain in higher level nodes, while smaller ones exist in leaf nodes?  I am not sure if the question actually makes sense, but it is something that I am trying to work through semantically at the moment.  Thanks again!

-Josh</description>
		<content:encoded><![CDATA[<p>Hey Kyle!</p>
<p>Thanks for the excellent article with very readable code to boot!  I am curious about a few things at the moment&#8230;</p>
<p>I am planning to use a quad tree for collision detection and and considering pre-partitioning the tree as to not require many objects to be created during run-time.  That being said, would all objects have to be in leaf nodes of the tree for this to be feasible, or could the larger sized objects remain in higher level nodes, while smaller ones exist in leaf nodes?  I am not sure if the question actually makes sense, but it is something that I am trying to work through semantically at the moment.  Thanks again!</p>
<p>-Josh</p>
]]></content:encoded>
	</item>
</channel>
</rss>
