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

	<title>Real-Time Physics Simulation Forum</title>
	
	<link href="https://pybullet.org/Bullet/phpBB3/index.php" />
	<updated>2011-07-26T09:21:01+00:00</updated>

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

		<entry>
		<author><name><![CDATA[Karrok]]></name></author>
		<updated>2011-07-26T09:21:01+00:00</updated>

		<published>2011-07-26T09:21:01+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=24447#p24447</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=24447#p24447"/>
		<title type="html"><![CDATA[Re: Continuous Collision Detection and Interpenetration]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=24447#p24447"><![CDATA[
Are there english versions of those pdf's around as well for the majority (i think?) of people that don't speak portugeese/spanish.<br>A bit silly to not do a tech paper in english, but thats a whole other discussion <img class="smilies" src="https://pybullet.org/Bullet/phpBB3/images/smilies/icon_smile.gif" width="15" height="15" alt=":)" title="Smile"><p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=8150">Karrok</a> — Tue Jul 26, 2011 9:21 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[victoriaw]]></name></author>
		<updated>2011-02-01T15:01:19+00:00</updated>

		<published>2011-02-01T15:01:19+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=21966#p21966</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=21966#p21966"/>
		<title type="html"><![CDATA[Re: Continuous Collision Detection and Interpenetration]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=21966#p21966"><![CDATA[
I found this very interesting proyects in Spain:<br><br>Collision Detection and Interpenetration using simplicial coverings, JJ Jimenez Delgado's PhD thesis:<br><a href="http://hera.ugr.es/tesisugr/16446665.pdf" class="postlink">http://hera.ugr.es/tesisugr/16446665.pdf</a><br><br>GPUs: Rigid Body Simulation, by Alvaro del Monte Freitas:<br><a href="http://eprints.ucm.es/10093/1/GPUs_Rigid_Body_Simulation.pdf" class="postlink">http://eprints.ucm.es/10093/1/GPUs_Rigi ... lation.pdf</a><br><br>I've been using the principles of Collision Detection to develop a library for Blender like the existing <a href="http://gts.sourceforge.net/" class="postlink">http://gts.sourceforge.net/</a>.<br><br>I belive i'll finish it by the end of the year.<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=7721">victoriaw</a> — Tue Feb 01, 2011 3:01 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[ndujar]]></name></author>
		<updated>2010-04-06T03:40:57+00:00</updated>

		<published>2010-04-06T03:40:57+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=18122#p18122</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=18122#p18122"/>
		<title type="html"><![CDATA[Re: Continuous Collision Detection and Interpenetration]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=18122#p18122"><![CDATA[
Hello:<br><br>I was doing some research into the collision detection algorithms and came into this:<br><br><a href="http://www.sofa-framework.org/download" class="postlink">http://www.sofa-framework.org/download</a><br><br>Sofa is an European project developing simulation tools for medical purposes.<br>Very interesting indeed.<br>They have also physics engine but, most interestingly, they present a whole different approach to collision detection:<br><br><a href="http://www-ljk.imag.fr/Publications/Basilic/com.lmc.publi.PUBLI_Inproceedings@11a3a80d87d_19a029e/main.pdf" class="postlink">http://www-ljk.imag.fr/Publications/Bas ... e/main.pdf</a><br><br>It is based not on vectorial projections of the bounding volumes but on images processed on the GPU...and they claim it is very quick...<br><br>I hope someone will find this new approach as interesting as I did...<br><br>Ra<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=6517">ndujar</a> — Tue Apr 06, 2010 3:40 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Adam Moravanszky]]></name></author>
		<updated>2007-09-27T12:47:04+00:00</updated>

		<published>2007-09-27T12:47:04+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=5613#p5613</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=5613#p5613"/>
		<title type="html"><![CDATA[Re: Continuous Collision Detection and Interpenetration]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=5613#p5613"><![CDATA[
Erwin, <br><br>I didn't want to open yet another thread on this ancient topic so I hope this relatively generic thread is appropriate for my question.<br><br>I have just found your draft paper <a href="http://www.continuousphysics.com/BulletContinuousCollisionDetection.pdf" class="postlink">http://www.continuousphysics.com/Bullet ... ection.pdf</a>, and your comments that you will return to the CCD problem later this year.  Its getting relatively late in the year and I am wondering if you are interested to make some revisions to the above paper.  In general I would be interested in some text from you comparing the techniques you list as previous work, and why you did not decide to go with some of the methods that you mention.<br><br>Best regards from Zurich,<br><br>Adam<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=7">Adam Moravanszky</a> — Thu Sep 27, 2007 12:47 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Anonymous]]></name></author>
		<updated>2005-11-21T23:50:32+00:00</updated>

		<published>2005-11-21T23:50:32+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=468#p468</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=468#p468"/>
		<title type="html"><![CDATA[Re: Continuous Collision Detection and Non-penetration]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=468#p468"><![CDATA[
<blockquote class="uncited"><div>In conclusion, continuous collision detection in terms of interpolation methods already exist in the world of dynamics, all though the n-body problem is awkward.<br>/Kenny</div></blockquote>Please visit the topic on Kinetic Sweep and Prune for a solution to remove/reduce the awkwardness of the n-body continuous collision detection:<br><br><a href="http://www.continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=178" class="postlink">http://www.continuousphysics.com/Bullet ... .php?t=178</a><p>Statistics: Posted by Guest — Mon Nov 21, 2005 11:50 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Mark Wayland]]></name></author>
		<updated>2005-07-23T02:40:23+00:00</updated>

		<published>2005-07-23T02:40:23+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=104#p104</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=104#p104"/>
		<title type="html"><![CDATA[Re: Continuous Collision Detection and Non-penetration]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=104#p104"><![CDATA[
<blockquote class="uncited"><div>The idea of continuous collision detection in the game animation world is as far as I know rather new. I only know of Havok and Novodex who do it right now.</div></blockquote>Whilst I'm no physics expert, I can say that we used continuous collision in Carmageddon TDR2000 which was started in 1998 - I'm not sure if that ranks as 'new' or not? Actually, we used it prior to that in a little known Australian game called 'Dick Johnson's Touring Car Challenge'. I think Carmageddon 2 (not developed by us) used continuous collision too, but I can't be sure - so they pre-date our use of it.<br><br>In our implementation we didn't model rotation between timesteps and the collision sweeping was mostly linear. The solver used Gaussian elimination and was impulse based, and certainly worked well enough for us at the time. In all honestly, I don't know much more than this, as I wasn't the physics/collision guy (I did the renderer).<br><br>FYI, I know that TrueAxis physics middleware uses continuous collision, and the guy that did our Carmageddon physics and collision is the brains behind it.<br><br>Cheers,<br>Mark<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=9">Mark Wayland</a> — Sat Jul 23, 2005 2:40 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Stephane Redon]]></name></author>
		<updated>2005-07-19T11:16:00+00:00</updated>

		<published>2005-07-19T11:16:00+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=72#p72</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=72#p72"/>
		<title type="html"><![CDATA[Re: Gauss' least contraint principle]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=72#p72"><![CDATA[
<blockquote class="uncited"><div>On the other hand in most configurations (in my experience) the number of contact points is often some constant times the number of objects (10 n, works great for me when I pre-allocate storage for contacts:-)</div></blockquote>Yes, plus using continuous collision detection typically reduces the number of contact points greatly, because you maintain the objects slightly separated, and because at most 6 contacts points can be independent between any two objects (since there are six degrees of relative freedom) <img class="smilies" src="https://pybullet.org/Bullet/phpBB3/images/smilies/icon_smile.gif" width="15" height="15" alt=":-)" title="Smile"><p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=6">Stephane Redon</a> — Tue Jul 19, 2005 11:16 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[kenny]]></name></author>
		<updated>2005-07-19T06:46:12+00:00</updated>

		<published>2005-07-19T06:46:12+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=65#p65</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=65#p65"/>
		<title type="html"><![CDATA[Continuous Collision Detection and Interpenetration]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=65#p65"><![CDATA[
<blockquote class="uncited"><div>Not true in my opinion. the TOI can still be correctly calculated. However more internal iterations are needed, so the calculation is more expensive.</div></blockquote>Sure you can make more internal iterations. However, you need to control how many iterations you are willing to take. You have the same problems and tradeoffs as in every iterative root search algorithm. <br><br>So, yes you can get a accurate TOI within some pre-scribed epsilon, but can you make a guarantee to always deliver the result within say 5 iterations?<br><br>Another problem with taking internal iterations is that this may be a source to parameter tuning. I am a strong beliver in trying to create out-of-the-box simulators. In the sense they work and deliver high-performance no matter what you throw in their face. As an example many physics game-engines are known for requiring people to manually tweak mass-ratios and external forces, in order to not cause blow-up, and do I need to say anything about penalty methods:-)<br><blockquote class="uncited"><div>Don't agree. Basically the error of the solver has to be within the envelope/tolerance. A pivoting solver should bound the error properly. If your solver is an iterative solver all you need to to for a higher stack is increase the number of iterations, or increase the quality another way (preconditioning). So it just becomes a bit slower, but hey, you wanted higher stack. Just add a multiprocessor machine to the task. Another solution, which DOOM3 uses is to never integrate the position into penetration. This leads to visible delays, but doesn't cause a halt.</div></blockquote>It seems to me that you are making the assumption that we are talking about constraint based simulation. I am not, I was talking generally about how TOIs behave. <br><br>In a high stack boxes at the bottom tend to be squezed more closely together (smaller separation) than in the top. This means separation distances go to zero while the frequency of impulse trains go up. Of course in the limit such contacts are ``resting'' (static) contacts and it make sense to deal with these using constraint based simulation.<br><br>So, I guess the question here is how to combine a constraint-based simulation and a conservative advancement scheme based on TOIs. I assume that you would ignore TOIs from static constacts and only consider dynamic (colliding) contacts.<br><br>The problem with this, as I see it, is how do you determine what contacts are static? Of course you can exploit the results from you constraint solver to do this, but  please elaborate on this:-)<br><br>Regarding your comments on performance and quality. Iterative  methods based on matrix splitting all have linear convergence. This sucks big time moreover you can not predict the actual convergence speed, since it varies depending on your configuration. Besides, finding a preconditioner for a matrix-splitting scheme is difficult (I have tried for some time:-) especially since methods such as Gauss-Seidel and Jacobi are preconditioners themselves (lookup residual error correction methods). To summarize, using something like 10e6 iterations will not be good enough, and no preconditioner really exist. <br><br>Direct methods (i.e. pivoting methods) tend to have quadratic convergence and they are as such very attractive. However the cost of each iteration is often similar to solving a linear system.<br><blockquote class="uncited"><div>This can be solved: Time warp splits the groups, so it is not a global dependency problem. Then again, for the small time steps, there is the envelope/tolerance which can be tweaked.</div></blockquote>Yeah you can break dependencies between independent groups. And yes time-warp seems to be a very good idea for conservative advancement. However, I want to do simulations with 10.000 objects all being in mutally dependent contact. In such a context time-warp will just give you a big book-keeping overhead.<br><br>To summarize: <br><br>Conservative advancement based on TOIs and constraint based simulation may solve the problems Mirtich had with impulse-based simulation in this context. However I would like some details on such a scheme:-)<br><br>I have a hard time seeing how accurate TOIs can be computed while at the same time keeping a bound on performance. If an epsilon solution is used I have some difficulty in seeing that this would not end up in endless parameter tuning.<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=11">kenny</a> — Tue Jul 19, 2005 6:46 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[kenny]]></name></author>
		<updated>2005-07-19T05:56:12+00:00</updated>

		<published>2005-07-19T05:56:12+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=63#p63</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=63#p63"/>
		<title type="html"><![CDATA[Re: Gauss' least contraint principle]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=63#p63"><![CDATA[
<blockquote class="uncited"><div>This is an (in my opinion <img class="smilies" src="https://pybullet.org/Bullet/phpBB3/images/smilies/icon_smile.gif" width="15" height="15" alt=":-)" title="Smile">) extremely elegant way to formulate frictionless constrained dynamics problems. It is mathematically equivalent to the LCP approach, which formulates the problem in the contact space (since the unknowns are the contact forces and accelerations), but might have some algorithmic advantages.</div></blockquote>I agree, a few comments though:<br><br>Interactive worlds need friction.<br><br>As I recall the formulation is done in object space, which may be advantageous since the  number of objects is likely to be much smaller than the number of contact points. However you need to run collision detection to detect the contacts in the first place, so the overall performance (I believe) of such a simulator is going to be dominated by the number of contact points anyway.<br><br>On the other hand in most configurations (in my experience) the number of contact points is often some constant times the number of objects (10 n, works great for me when I pre-allocate storage for contacts:-)<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=11">kenny</a> — Tue Jul 19, 2005 5:56 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[kenny]]></name></author>
		<updated>2005-07-19T05:44:29+00:00</updated>

		<published>2005-07-19T05:44:29+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=62#p62</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=62#p62"/>
		<title type="html"><![CDATA[Re: Continuous Collision Detection and Non-penetration]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=62#p62"><![CDATA[
<blockquote class="uncited"><div>If "continuous collision detection" means ensuring that no collision will be missed, and the contact time will be computed, then some references above might not be exactly continuous... snip...again, maybe a definition problem?</div></blockquote>Good point; I was working with the definition: Given two instances in time (starting and ending frames) what goes on inbetween? In that sense the cited people in my previous post all did work related to that question.<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=11">kenny</a> — Tue Jul 19, 2005 5:44 am</p><hr />
]]></content>
	</entry>
	</feed>
