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

	<title>Real-Time Physics Simulation Forum</title>
	
	<link href="https://pybullet.org/Bullet/phpBB3/index.php" />
	<updated>2022-02-05T17:12:26+00:00</updated>

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

		<entry>
		<author><name><![CDATA[felipekersting]]></name></author>
		<updated>2022-02-05T17:12:26+00:00</updated>

		<published>2022-02-05T17:12:26+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=43834#p43834</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=43834#p43834"/>
		<title type="html"><![CDATA[raw-physics, a simple rigid body physics engine created with XPBD]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=43834#p43834"><![CDATA[
raw-physics is a project that I have been working during the past few months.<br><br><a href="https://github.com/felipeek/raw-physics" class="postlink">https://github.com/felipeek/raw-physics</a><br><br>It is a rigid body physics simulator powered by XPBD for collision response and GJK+EPA for collision detection. Specifically:<br><br>Collision Response: All of the collision response is handled by XPBD. The algorithm is based on this work by Mathias Muller et all, published in 2020: <a href="https://matthias-research.github.io/pages/publications/PBDBodies.pdf" class="postlink">https://matthias-research.github.io/pag ... Bodies.pdf</a>. The beauty of this work is that it presents a XPBD algorithm specific for rigid bodies such that the algorithm (and the constraints) directly takes into account rigid-body properties such as the angular velocity, inertia tensor, etc. Hinge joints and spherical joints are easily integrated as constraints and I also implemented in my engine.<br><br>Collision Detection: For collision detection, I used GJK+EPA for convex shapes with Sutherland-Hodgman for clipping the contacts and generating the collision manifold. It worked really well with XPBD! I also implemented dedicated collision detectors for spheres.<br><br>The simplicity of XPBD allows the generation of very interesting visual results with very little code, it is really amazing. I show some examples in the README.<br><br>This project is not meant to be a full engine that can be directly integrated in a big project, but rather a small project showing how these pieces can be integrated and serving as a small reference.<br><br>Some examples are presented in the README. It is also very easy to build yourself and see some examples (build instructions in README. ESC to open the menu)<br><br>I hope you find it useful!<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=14204">felipekersting</a> — Sat Feb 05, 2022 5:12 pm</p><hr />
]]></content>
	</entry>
	</feed>
