<?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/1165" />

	<title>Real-Time Physics Simulation Forum</title>
	
	<link href="https://pybullet.org/Bullet/phpBB3/index.php" />
	<updated>2008-01-03T19:57:13+00:00</updated>

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

		<entry>
		<author><name><![CDATA[David Lam]]></name></author>
		<updated>2008-01-03T19:57:13+00:00</updated>

		<published>2008-01-03T19:57:13+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=6830#p6830</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=6830#p6830"/>
		<title type="html"><![CDATA[Re: Tokamak Open Source]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=6830#p6830"><![CDATA[
<blockquote class="uncited"><div>Hi David,<br><br>I'm sure many people here would be curious to know about the inner workings of Tokamak.<br><blockquote class="uncited"><div>I used the algorithm describe in this paper <a href="http://www.cs.hku.hk/research/techreps/" class="postlink">http://www.cs.hku.hk/research/techreps/</a> ... 005-01.pdf (Collision Detection of Convex Polyhedra Based on Duality Transformation). The algorithm seems sound, but for some reason I found very few people know or discuss about it..</div></blockquote>I actually did implement this algorithm a while back using a quad-edge data structure. However this method doesn't give an accurate distance or penetration depth. How did you manage to use it to create contact points?<br><br>Cheers,<br>Erin</div></blockquote>Hi Erin,<br><br>This could well be the case. In my test, arbitrary convex mesh colliding with ground box mesh (not as a primitive) seem fine but convex mesh colliding with each other do sometime penetrate. I checked the algorithm, and I can understand it and everything seems good on paper. It would be easy to write a test program and set up the fail case and follow the code to see why it fails, when I find the time <img class="smilies" src="https://pybullet.org/Bullet/phpBB3/images/smilies/icon_smile.gif" width="15" height="15" alt=":)" title="Smile">.<br><br>David<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=2185">David Lam</a> — Thu Jan 03, 2008 7:57 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Erin Catto]]></name></author>
		<updated>2008-01-02T22:53:00+00:00</updated>

		<published>2008-01-02T22:53:00+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=6812#p6812</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=6812#p6812"/>
		<title type="html"><![CDATA[Re: Tokamak Open Source]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=6812#p6812"><![CDATA[
Hi David,<br><br>I'm sure many people here would be curious to know about the inner workings of Tokamak.<br><blockquote class="uncited"><div>I used the algorithm describe in this paper <a href="http://www.cs.hku.hk/research/techreps/" class="postlink">http://www.cs.hku.hk/research/techreps/</a> ... 005-01.pdf (Collision Detection of Convex Polyhedra Based on Duality Transformation). The algorithm seems sound, but for some reason I found very few people know or discuss about it..</div></blockquote>I actually did implement this algorithm a while back using a quad-edge data structure. However this method doesn't give an accurate distance or penetration depth. How did you manage to use it to create contact points?<br><br>Cheers,<br>Erin<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=12">Erin Catto</a> — Wed Jan 02, 2008 10:53 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[billyzelsnack]]></name></author>
		<updated>2008-01-02T20:31:58+00:00</updated>

		<published>2008-01-02T20:31:58+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=6811#p6811</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=6811#p6811"/>
		<title type="html"><![CDATA[Re: Tokamak Open Source]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=6811#p6811"><![CDATA[
Welcome back to the physics world David. I think many people here were inspired by Tokamak when it first came out. I know I was.<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=193">billyzelsnack</a> — Wed Jan 02, 2008 8:31 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[David Lam]]></name></author>
		<updated>2008-01-02T19:32:46+00:00</updated>

		<published>2008-01-02T19:32:46+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=6810#p6810</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=6810#p6810"/>
		<title type="html"><![CDATA[Re: Tokamak Open Source]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=6810#p6810"><![CDATA[
Hello All!<br><br>During this holiday I decided to revisit the world of physics programming and come across many different new physics engine and physics research. And hence I come to find this website about physics discussion. Doing a search for "Tokamak" come up with a few mentions. I admit I have neglect Tokamak for awhile. In case you are interested, When I released Tokamak back in 2003, I didn't have the skill and connection to take it commercial. I tried a few leads (that's another story), but I quickly returned to the world of game development doing mostly graphics stuffs. What I can say is that it is not easy to maintain a hobby project when you have a full time job and a family (and other hobbies)!<br><br>The dynamic solver hasn't change since back in 2003. It is what you can call sequential impulse. But the naive implementation of this doesn't work very well. Simply calculating impulse for zero-relative velocity alone will allow the joints position to drift. So there is an extra term in the impulse calculation for drift correction. The correction impulse should be such that it produce a relative velocity that reduce the displacement "in a frame step time". All the impulses for one body are accumulated before applying.<br><br>There is a hack for reducing the number of iteration require for maintaining stable stacking. Tokamak builds a directed graph of contacts pointing away from the gravity vector. And contact constraints are solve in that order. <br><br>The other things that was important was putting bodies to sleep. That's mostly done by considering the history of the body's state. I don't remember the exact procedure but I am happy to take a look at it again if anyone is interested.<br><br>For collision detection, everything is pretty standard except for narrow-phase convex meshes. I used the algorithm describe in this paper <a href="http://www.cs.hku.hk/research/techreps/document/TR-2005-01.pdf" class="postlink">http://www.cs.hku.hk/research/techreps/ ... 005-01.pdf</a> (Collision Detection of Convex Polyhedra Based on Duality Transformation). The algorithm seems sound, but for some reason I found very few people know or discuss about it. I think there's some numerical issue with my implementation so sometime it can fail.<br><br>That's off the top of my head. I am happy to talk about anything which I haven't cover. My view on physics engine is pretty much represented what Tokamak does: the important of speed, memory and stability far outweigh any accuracy concerns. I do intend on going back to work on Tokamak, for my own personal use if not for anything else.<br><br>Cheers,<br>David<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=2185">David Lam</a> — Wed Jan 02, 2008 7:32 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Erin Catto]]></name></author>
		<updated>2007-05-23T21:20:18+00:00</updated>

		<published>2007-05-23T21:20:18+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=4314#p4314</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=4314#p4314"/>
		<title type="html"><![CDATA[Tokamak Open Source]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=4314#p4314"><![CDATA[
Do you know what algorithms it uses?<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=12">Erin Catto</a> — Wed May 23, 2007 9:20 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[raigan2]]></name></author>
		<updated>2007-05-23T13:36:44+00:00</updated>

		<published>2007-05-23T13:36:44+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=4305#p4305</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=4305#p4305"/>
		<title type="html"><![CDATA[Tokamak Open Source]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=4305#p4305"><![CDATA[
If only the source was at least somewhat commented!<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=748">raigan2</a> — Wed May 23, 2007 1:36 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[wyd124]]></name></author>
		<updated>2007-05-23T13:16:51+00:00</updated>

		<published>2007-05-23T13:16:51+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=4304#p4304</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=4304#p4304"/>
		<title type="html"><![CDATA[Tokamak Open Source]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=4304#p4304"><![CDATA[
Is this the result of competition?<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=1509">wyd124</a> — Wed May 23, 2007 1:16 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Dirk Gregorius]]></name></author>
		<updated>2007-05-23T08:42:45+00:00</updated>

		<published>2007-05-23T08:42:45+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=4302#p4302</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=4302#p4302"/>
		<title type="html"><![CDATA[Tokamak Open Source]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=4302#p4302"><![CDATA[
From what I saw in comarissons this was actually one of the fastest engines. So quite cool that it is open source now.<br><br><a href="http://sourceforge.net/projects/tokamakp/" class="postlink">http://sourceforge.net/projects/tokamakp/</a><p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=14">Dirk Gregorius</a> — Wed May 23, 2007 8:42 am</p><hr />
]]></content>
	</entry>
	</feed>
