<?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"
	>
<channel>
	<title>Comments on: 2D Polygon Collision Detection</title>
	<atom:link href="http://www.pogopixels.com/blog/2d-polygon-collision-detection/feed/" rel="self" type="application/rss+xml" />
	<link>http://pogopixels.com/blog/2d-polygon-collision-detection/</link>
	<description>Just another WordPress weblog</description>
	<pubDate>Sat, 04 Feb 2012 05:59:56 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
		<item>
		<title>By: Kyle</title>
		<link>http://pogopixels.com/blog/2d-polygon-collision-detection/#comment-13529</link>
		<dc:creator>Kyle</dc:creator>
		<pubDate>Mon, 25 Jul 2011 17:16:53 +0000</pubDate>
		<guid isPermaLink="false">http://pogopixels.com/blog/?p=10#comment-13529</guid>
		<description>The method described here is flawed. Using the test case provided it appears to work. 

You can picture the problem like so: Use two squares that are orientated the same way as your polygons Have one move diagonally a large distance (twice it's width/height up and to the right). Using this method it creates an imaginary box with the same alignment that encompasses the first box's entire path. Placing the second box so that it touches any part of the imaginary box, regardless of the path of the first, will register a collision. This is because the profiles of the shapes, extended by the velocity, still overlap in each direction.

I also demonstrated the broken nature of the code by adding additional key bindings for diagonal movement and trying to move diagonally around the other shapes.

A correct collision detection method can be found in the quake 3 engine source code in cm_trace.c (I think). The difficulty is that while it is a technically a complete solution it is written specifically for tracing a axially aligned box against other 3d polygons. It is also heavily optimized for this purpose making it difficult to understand.</description>
		<content:encoded><![CDATA[<p>The method described here is flawed. Using the test case provided it appears to work. </p>
<p>You can picture the problem like so: Use two squares that are orientated the same way as your polygons Have one move diagonally a large distance (twice it&#8217;s width/height up and to the right). Using this method it creates an imaginary box with the same alignment that encompasses the first box&#8217;s entire path. Placing the second box so that it touches any part of the imaginary box, regardless of the path of the first, will register a collision. This is because the profiles of the shapes, extended by the velocity, still overlap in each direction.</p>
<p>I also demonstrated the broken nature of the code by adding additional key bindings for diagonal movement and trying to move diagonally around the other shapes.</p>
<p>A correct collision detection method can be found in the quake 3 engine source code in cm_trace.c (I think). The difficulty is that while it is a technically a complete solution it is written specifically for tracing a axially aligned box against other 3d polygons. It is also heavily optimized for this purpose making it difficult to understand.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Well</title>
		<link>http://pogopixels.com/blog/2d-polygon-collision-detection/#comment-12218</link>
		<dc:creator>Well</dc:creator>
		<pubDate>Tue, 14 Jun 2011 23:24:25 +0000</pubDate>
		<guid isPermaLink="false">http://pogopixels.com/blog/?p=10#comment-12218</guid>
		<description>Well that didn't work!

When two polygons are alongside each other but not colliding it registers as a collision.</description>
		<content:encoded><![CDATA[<p>Well that didn&#8217;t work!</p>
<p>When two polygons are alongside each other but not colliding it registers as a collision.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andreas Kröhnke</title>
		<link>http://pogopixels.com/blog/2d-polygon-collision-detection/#comment-1919</link>
		<dc:creator>Andreas Kröhnke</dc:creator>
		<pubDate>Wed, 01 Jul 2009 21:00:20 +0000</pubDate>
		<guid isPermaLink="false">http://pogopixels.com/blog/?p=10#comment-1919</guid>
		<description>This information on how to implement SAT really helped me a lot! I have been stuck for several days on my implementation of it for my iPhone game. Thanks a bunch! :)</description>
		<content:encoded><![CDATA[<p>This information on how to implement SAT really helped me a lot! I have been stuck for several days on my implementation of it for my iPhone game. Thanks a bunch! <img src='http://pogopixels.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
</channel>
</rss>

