<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tolstenko &#187; Python</title>
	<atom:link href="http://tolstenko.net/category/programacao-de-jogos/python/feed/" rel="self" type="application/rss+xml" />
	<link>http://tolstenko.net</link>
	<description>Sobre computação e o mundo</description>
	<lastBuildDate>Sat, 15 May 2010 22:04:27 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Carregamento de mapas em games: Quadtree e Octatree (Octree)</title>
		<link>http://tolstenko.net/2009/11/21/carregamento-de-mapas-em-games-quadtree-e-octatree/</link>
		<comments>http://tolstenko.net/2009/11/21/carregamento-de-mapas-em-games-quadtree-e-octatree/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 00:57:13 +0000</pubDate>
		<dc:creator>Alexandre</dc:creator>
				<category><![CDATA[F 313]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[XNA]]></category>
		<category><![CDATA[applet]]></category>
		<category><![CDATA[árvore]]></category>
		<category><![CDATA[bsp]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[carregamento]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[estrutura de dados]]></category>
		<category><![CDATA[fenando lucchesi]]></category>
		<category><![CDATA[Game]]></category>
		<category><![CDATA[game programming]]></category>
		<category><![CDATA[ian liu]]></category>
		<category><![CDATA[mapas]]></category>
		<category><![CDATA[octatree]]></category>
		<category><![CDATA[octree]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[pygame]]></category>
		<category><![CDATA[quadtree]]></category>
		<category><![CDATA[tree]]></category>

		<guid isPermaLink="false">http://tolstenko.net/?p=362</guid>
		<description><![CDATA[<a href="http://tolstenko.net/2009/11/21/carregamento-de-mapas-em-games-quadtree-e-octatree/"><img align="left" hspace="5" width="150" height="150" src="http://tolstenko.net/wp-content/uploads/2009/11/380px-Quad_tree_bitmap.svg_-150x150.png" class="alignleft wp-post-image tfe" alt="380px-Quad_tree_bitmap.svg" title="380px-Quad_tree_bitmap.svg" /></a><p>Existe um grande problema na área de games que é o carregamento de mapas. Uma das soluções mais utilizadas  é utilizar estruturas quadtrees para games 2D e octatrees para games 3D.</p>
<p>Quadtree é um tipo de estrutura na qual tem-se um nó raiz(quadrado maior) que se abre em 4 filhos, aonde cada filho será responsável por [...]]]></description>
			<content:encoded><![CDATA[<p>Existe um grande problema na área de games que é o carregamento de mapas. Uma das soluções mais utilizadas  é utilizar estruturas quadtrees para games 2D e octatrees para games 3D.</p>
<p>Quadtree é um tipo de estrutura na qual tem-se um nó raiz(quadrado maior) que se abre em 4 filhos, aonde cada filho será responsável por um quadrante do quadrado repesentado pelo nó pai.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-365" title="380px-Quad_tree_bitmap.svg" src="http://tolstenko.net/wp-content/uploads/2009/11/380px-Quad_tree_bitmap.svg_.png" alt="380px-Quad_tree_bitmap.svg" width="380" height="156" /></p>
<p>De maneira análoga, o octatree é uma estrutura na qual se tem um nó raiz(cubo maior) que se abre em 8 filhos, aonde cada filho será responsável por um octante do cubo representado pelo nó pai.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-366" title="400px-Octree2" src="http://tolstenko.net/wp-content/uploads/2009/11/400px-Octree2.png" alt="400px-Octree2" width="400" height="230" /></p>
<p>Agora vamos aos exemplos práticos:</p>
<p><span id="more-362"></span></p>
<p>Para exemplificar o Quadtree, encontrei neste <a href="http://www.cs.utah.edu/~croberts/courses/cs7962/project/index.html">site</a> um applet exemplificando o quadtree, o mesmo segue logo abaixo. Para adicionar pontos na estrutura, clique no quadrado, para visualizar a estrutura da árvore clique em show tree.</p>
<p><APPLET archive="/wp-content/uploads/2009/11/QTApplet.jar" code="QTApplet" width=700 height=600><br />
Your browser does not support Java, so nothing is displayed.<br />
</APPLET></p>
<p>Para exemplificar uma octree, não encontrei nenhum applet, mas encontrei uma outra estrutura de dados para mapas 3D: <a href="http://en.wikipedia.org/wiki/Binary_space_partitioning" target="_blank">BSP</a>. Para usar o exemplo abaixo, basta utilizar o primeiro quadrado. Dentro dele, para desenhar uma parede no mapa, clique e arraste com o botão direito. Para mover a camera clique com o botão esquerdo no ponto vermelho e arraste. Os demais campos são representações do mapa.</p>
<p><applet archive="/wp-content/uploads/2009/11/BSPTreeDemo.jar" code="BSPTreeDemo.class" width="424" height="576"><br />
Your browser does not support Java, so nothing is displayed.<br />
</APPLET></p>
<p>Nesta sexta-feira(20/11/2009) tentamos implementar árvores quadtree.</p>
<ul>
<li>Eu fiz um exemplo em C# e com XNA:
<ul>
<li><a href="/wp-content/uploads/2009/11/XnaQuadtreeSource.rar" target="_blank">Codigo-Fonte</a> (necessita do <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=53867a2a-e249-4560-8011-98eb3e799ef2" target="_blank">XNA framework 3.1</a> e <a href="http://www.microsoft.com/express/vcsharp/" target="_blank">Visual Studio C# 2008</a>)</li>
<li><a href="/wp-content/uploads/2009/11/XnaQuadtreeBin.rar" target="_blank">Executavel </a>(necessita do <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=53867a2a-e249-4560-8011-98eb3e799ef2" target="_blank">XNA 3.1 Redistributable</a> e <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=333325FD-AE52-4E35-B531-508D977D32A6" target="_blank">.NET 3.5</a>)</li>
</ul>
</li>
<li>Ian Liu juntamente com o Fenando Lucchesi implementaram em Python com Pygame
<ul>
<li><a href="/wp-content/uploads/2009/11/PythonQuadtreesSrc.zip" target="_blank">Código-Fonte</a> (necessita do<a href="http://www.python.org/download/" target="_blank"> Pyhon</a> e do <a href="http://www.pygame.org/download.shtml" target="_blank">Pygame</a>)</li>
</ul>
</li>
</ul>
<p>Espero que tenham gostado, qualquer dúvida, entre em contato.</p>
]]></content:encoded>
			<wfw:commentRss>http://tolstenko.net/2009/11/21/carregamento-de-mapas-em-games-quadtree-e-octatree/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->