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

	<title>Real-Time Physics Simulation Forum</title>
	
	<link href="https://pybullet.org/Bullet/phpBB3/index.php" />
	<updated>2014-12-07T23:02:53+00:00</updated>

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

		<entry>
		<author><name><![CDATA[gino]]></name></author>
		<updated>2014-12-07T23:02:53+00:00</updated>

		<published>2014-12-07T23:02:53+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=34576#p34576</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=34576#p34576"/>
		<title type="html"><![CDATA[Re: Continuous GJK for spherically extended objects]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=34576#p34576"><![CDATA[
<blockquote class="uncited"><div>Is there a way to perform a ray cast as described in Gino Van Den Bergen's <a href="http://www.continuousphysics.com/ftp/pub/test/files/physics/papers/jgt04raycast.pdf" class="postlink">Ray Casting against General Convex Objects</a>, against spherically extended objects without having to calculate support points for the enlarged objects? With GJK you can adjust the termination condition to account for the slightly expanded objects, but what about Gino's ray cast algorithm?<br><br>Specifically, would adjusting this (from page 11):<div class="codebox"><p>Code: </p><pre><code>while (v.squaredMagnitude() &gt; epsilon*epsilon) {...}</code></pre></div>To read like this:<div class="codebox"><p>Code: </p><pre><code>while (v.squaredMagnitude() &gt; epsilon*epsilon + margin) {...}</code></pre></div>... be enough to produce results equivalent to a ray cast against the CSO of a pair of spherically extended objects?<br><br>The goal is to use Gino's ray cast algorithm to determine collision time, and regular GJK (without EPA) to determine witness points and collision normals for the [near] collision. I'd rather avoid computing support points for the expanded objects if possible.</div></blockquote>Hi Adrian,<br><br>It would be enough if you only need to know whether the ray hits the convex or not. However, most of the time you need to have the earliest time the ray hits the object as well as the normal at the hit point. By performing GJK on the "bone" objects (without dilation) you will step into the dilated object before you trigger termination, which means that both your time of impact and your contact normal are wrong. In order to advance conservatively, the best thing I can think of right now is to generate support points on the dilated object. This means that you'll need to compute the reciprocal of a square root in each iteration, which is a pity. I recall having given this issue some thought a while back and this was the best I could come up with.<br><br>If you find something better, I'd be happy to discuss it with you.<br><br>Regards,<br><br>Gino<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=4">gino</a> — Sun Dec 07, 2014 11:02 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Adrian Lopez]]></name></author>
		<updated>2014-12-03T16:42:50+00:00</updated>

		<published>2014-12-03T16:42:50+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=34549#p34549</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=34549#p34549"/>
		<title type="html"><![CDATA[Continuous GJK for spherically extended objects]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=34549#p34549"><![CDATA[
Is there a way to perform a ray cast as described in Gino Van Den Bergen's <a href="http://www.continuousphysics.com/ftp/pub/test/files/physics/papers/jgt04raycast.pdf" class="postlink">Ray Casting against General Convex Objects</a>, against spherically extended objects without having to calculate support points for the enlarged objects? With GJK you can adjust the termination condition to account for the slightly expanded objects, but what about Gino's ray cast algorithm?<br><br>Specifically, would adjusting this (from page 11):<div class="codebox"><p>Code: </p><pre><code>while (v.squaredMagnitude() &gt; epsilon*epsilon) {...}</code></pre></div>To read like this:<div class="codebox"><p>Code: </p><pre><code>while (v.squaredMagnitude() &gt; epsilon*epsilon + margin) {...}</code></pre></div>... be enough to produce results equivalent to a ray cast against the CSO of a pair of spherically extended objects?<br><br>The goal is to use Gino's ray cast algorithm to determine collision time, and regular GJK (without EPA) to determine witness points and collision normals for the [near] collision. I'd rather avoid computing support points for the expanded objects if possible.<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=6226">Adrian Lopez</a> — Wed Dec 03, 2014 4:42 pm</p><hr />
]]></content>
	</entry>
	</feed>
