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

	<title>Real-Time Physics Simulation Forum</title>
	
	<link href="https://pybullet.org/Bullet/phpBB3/index.php" />
	<updated>2019-01-03T01:53:18+00:00</updated>

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

		<entry>
		<author><name><![CDATA[jun]]></name></author>
		<updated>2019-01-03T01:53:18+00:00</updated>

		<published>2019-01-03T01:53:18+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=41736#p41736</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=41736#p41736"/>
		<title type="html"><![CDATA[Conservation of momentum in position based solver]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=41736#p41736"><![CDATA[
Hello everyone!<br><br>I'm trying to understand Muller's paper "Position Based Dynamics (2006)" these days, but there is something I can't understand...<br><br>In his paper he said, internal constraint cannot be affected by rigidbody modes,<br><br>so if we choose delta-pos to be along gradient of constraint, then both linear and angular momentum are automatically conserved.<br><br>But I think there is some case where both position and orientation of rigidbody are not changed,<br><br>but angular velocity is affected by projection of solver, that is, angular momentum is not conserved.<br><br>Suppose I have two particles, which has same mass and are rotating about origin,<br><br>and has distance constraint so their distance remain constant during simulation.<br><br>There is no external forces.<br><br>(You can imagine free rod rotating at origin, composed of two particles by distance constraint)<br><br>Supposing this case, I've tried solve this system manually, but I found a loss of angular velocity of system caused by<br><br>integration step and Verlet integration.<br><br>Let's say<br><br>time step is 1<br><br>initial condition of system<br>x1 = initial postion of particle 1 = (0,  1)<br>x2 = initial postion of particle 2 = (0, -1)<br>v1 = initial velocity of particle 1 = (-1/sqrt(3), 0)<br>v2 = initial velocity of particle 2 = ( 1/sqrt(3), 0)<br><br>after integration (both particles have moved out of circular path)<br>p1 = first prediction pos of particle 1 =  (-1/sqrt(3), 1)<br>p2 = first prediction pos of particle 2 =  (1/sqrt(3), -1)<br><br>after projection<br>p'1 = projected pos of particle 1 = (-1/2, sqrt(3)/2)<br>p'2 = projected pos of particle 2 = (1/2, -sqrt(3)/2)<br><br>after velet integration scheme<br>v'1 = (p'1 - x1) / 1 = (-1/2,  (sqrt(3)-2)/2)<br>v'2 = (p'2 - x2) / 1 = ( 1/2, -(sqrt(3)-2)/2)<br>x'1 = p'1 = (-1/2,  sqrt(3)/2)<br>x'2 = p'2 = ( 1/2, -sqrt(3)/2)<br><br>There is difference between length of v1 and length of v'1. So angular velocty has changed.<br><br>Is there anything that I'm missing on his paper?<br><br>I'm really begginer at this field, so I need your help.<br><br>Any insight into this would be appreciated. Thank you.<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=13160">jun</a> — Thu Jan 03, 2019 1:53 am</p><hr />
]]></content>
	</entry>
	</feed>
