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

	<title>Real-Time Physics Simulation Forum</title>
	
	<link href="https://pybullet.org/Bullet/phpBB3/index.php" />
	<updated>2006-05-08T19:26:52+00:00</updated>

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

		<entry>
		<author><name><![CDATA[ED209]]></name></author>
		<updated>2006-05-08T19:26:52+00:00</updated>

		<published>2006-05-08T19:26:52+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=992#p992</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=992#p992"/>
		<title type="html"><![CDATA[Broadphase with markers]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=992#p992"><![CDATA[
Thanks alot for the reply i will look into those papers and try to implement it right away. I knew there was something fishy with those stab counters i didn't like them from the start.<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=501">ED209</a> — Mon May 08, 2006 7:26 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Erwin Coumans]]></name></author>
		<updated>2006-05-08T18:28:46+00:00</updated>

		<published>2006-05-08T18:28:46+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=990#p990</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=990#p990"/>
		<title type="html"><![CDATA[Broadphase with markers]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=990#p990"><![CDATA[
For performance of single shot queries (just checking broadphase overlap with an arbitrary AABB, without inserting this AABB) I think using marker objects works better then stabbing numbers.<br><br>Single shot queries, you can insert marker objects at evenly distributed over your space, and then first do a quick search for the nearest marker object, and start searching the broadphase using that marker's information.  Normally, you would start searching from the begin/end of each axis, and swap until you are at the right location. Now, you start from this marker objects begin/end point. So a marker object can be any object in the broadphase, but instead of using any objects, just choose a set of marker objects, that you inserted at convenient locations.<br><br>As usual, when time allows, I will add a demo to Bullet to demonstrate this 'marker' idea.<br><br>Erwin<br><br><br>Note 0:<br>For add/remove objects, batching up all objects, and presorting them works best. The approximate cost become O(m log(m)) + O(n). This is respectively the sorting cost of m new objects + batch inserting cost, which become linear in the total number of objects.<br><br>Note 1:<br>I discussed it a while ago with Gino, and he doesn't use stab counters in his latest (not released yet) Solid incarnation anymore either. He is using more 'temporal' /kinetic concepts now, which speed up regular queries a lot (see his recent GDC presentations). So the relative motion of the begin/end points. Very similar to Dan Coming's <a href="http://graphics.idav.ucdavis.edu/research/kinetic_sweep_prune" class="postlink">http://graphics.idav.ucdavis.edu/resear ... weep_prune</a><p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=2">Erwin Coumans</a> — Mon May 08, 2006 6:28 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[ED209]]></name></author>
		<updated>2006-05-08T07:36:04+00:00</updated>

		<published>2006-05-08T07:36:04+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=987#p987</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=987#p987"/>
		<title type="html"><![CDATA[Broadphase with markers]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=987#p987"><![CDATA[
I'v implemented a broadphase from Gino's book with stab counters. I sneak peaked into the SOLID lib. to fully understand how it works. Implementation was a litle confusing tho cause in the book the counters represent overlaps to the left of the endpoint but in SOLID its to the right of the endpoint in oposite direction. So far so good untill i stumbled on this post from Erwin:<blockquote class="uncited"><div>1) adding/removing objects in larger batches, and presort this batch in advance <br>2) for single queries and single add/removal: using marker objects <br><br>Add marker objects in the broadphase, and just search for the closest marker object, and insert from there. <br><br>Stabbing numbers are fine too, but the approach easily breaks if there are large objects in the broadphase. </div></blockquote>This marker thing looks interesting. Erwin can you please explain how it works?<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=501">ED209</a> — Mon May 08, 2006 7:36 am</p><hr />
]]></content>
	</entry>
	</feed>
