<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
	<link rel="self" type="application/atom+xml" href="https://pybullet.org/Bullet/phpBB3/app.php/feed/topic/9540" />

	<title>Real-Time Physics Simulation Forum</title>
	
	<link href="https://pybullet.org/Bullet/phpBB3/index.php" />
	<updated>2013-11-12T21:23:45+00:00</updated>

	<author><name><![CDATA[Real-Time Physics Simulation Forum]]></name></author>
	<id>https://pybullet.org/Bullet/phpBB3/app.php/feed/topic/9540</id>

		<entry>
		<author><name><![CDATA[janzdott]]></name></author>
		<updated>2013-11-12T21:23:45+00:00</updated>

		<published>2013-11-12T21:23:45+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=32143#p32143</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=32143#p32143"/>
		<title type="html"><![CDATA[How to find contact point from EPA (Expanding Polytope Algo)]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=32143#p32143"><![CDATA[
Hello.  I took physics and AP physics in high school, and I was always very interested in it.  I also love programming.  Put those things together, and you've got someone who wants to write a physics engine!   <img class="smilies" src="https://pybullet.org/Bullet/phpBB3/images/smilies/icon_biggrin.gif" width="15" height="15" alt=":D" title="Very Happy">  I have implemented GJK and EPA into my engine, and both of them work flawlessly.  I have been unable to create a test case where either of the algorithms fail.  Now I am able to determine if objects are colliding, what the penetration depth is, and what the contact normal is.<br><br>The one thing that is unclear to me is, how do I find the contact point from EPA?  Gino's paper explains it, but I don't fully understand what I have to do. <a href="http://www.win.tue.nl/~gino/solid/gdc2001depth.pdf" class="postlink">http://www.win.tue.nl/~gino/solid/gdc2001depth.pdf</a>  Each lambda is a vertex weight, correct?  Then you can express v in terms of each point in the polyhedron and their respective weights?  Gino also explains how you solve for the lambdas by building a huge matrix and computing the inverse of it.  I don't understand how this works.   <img class="smilies" src="https://pybullet.org/Bullet/phpBB3/images/smilies/icon_confused.gif" width="15" height="15" alt=":?" title="Confused">  Would anyone be able to explain this to me?<br><br>Edit:  I figured it out.  I'm using a different closest point on triangle algorithm, which determines barycentric coordinates.  Then all you need to find the contact points are the barycentric coordinates of the final triangle, along with the support points that formed that triangle.<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=10555">janzdott</a> — Tue Nov 12, 2013 9:23 pm</p><hr />
]]></content>
	</entry>
	</feed>
