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

	<title>Real-Time Physics Simulation Forum</title>
	
	<link href="https://pybullet.org/Bullet/phpBB3/index.php" />
	<updated>2016-07-18T04:19:31+00:00</updated>

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

		<entry>
		<author><name><![CDATA[mobeen]]></name></author>
		<updated>2016-07-18T04:19:31+00:00</updated>

		<published>2016-07-18T04:19:31+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=37895#p37895</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=37895#p37895"/>
		<title type="html"><![CDATA[Re: Position and Orientation Based Cosserat Rods]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=37895#p37895"><![CDATA[
Hi Korzen,<br>    I just read the paper superficially. For your question, in the term for correction of dq, (qe3) q is the quaternion representing the orientation of the current rod element and e3 is the material frame z axis quaternion with scalar part 0 i.e. (0,[e3.x,e3.y,e3.z]) assuming authors notation with the first element of q being scalar and the other three components as vector. Setting the scalar part as 0 removes the contribution of the first column of the quaternion matrix.<br><br>Now your question on how to go about it, check this image. By the whole thing, I mean the highlighted part. dq has to be 1x4<div class="inline-attachment"><dl class="file"><dt class="attach-image"><img src="https://pybullet.org/Bullet/phpBB3/download/file.php?id=1436" class="postimage" alt="temp.jpg" onclick="viewableArea(this);" /></dt></dl></div>See if this helps.<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=8124">mobeen</a> — Mon Jul 18, 2016 4:19 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[korzen303]]></name></author>
		<updated>2016-07-17T14:55:38+00:00</updated>

		<published>2016-07-17T14:55:38+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=37892#p37892</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=37892#p37892"/>
		<title type="html"><![CDATA[Position and Orientation Based Cosserat Rods]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=37892#p37892"><![CDATA[
Hi Guys,<br><br>I am trying to implement this paper:<br><a href="http://www.cg.informatik.uni-mainz.de/files/2016/06/Position-and-Orientation-Based-Cosserat-Rods.pdf" class="postlink">http://www.cg.informatik.uni-mainz.de/f ... t-Rods.pdf</a><br><br>I have got the position based rod simulation framework implemented but I got stuck on the constraints.<br><img src="http://i64.tinypic.com/10hrfbp.jpg" class="postimage" alt="Image"><br><br>In eq. 37 for the correction of <em class="text-italics">q</em> there is <em class="text-italics">qe_3</em> but I don't know how to implement this in terms of operations. <br>I am not sure what <em class="text-italics">e_3</em> is. I know that the dash is quaternion conjugate (i.e. inverse). The bold <strong class="text-strong"><em class="text-italics">e_3</em></strong> is the  world frame 3rd (z) basis vector, which is [0,0,1].<br><br>Thanks for your help!<br><br>EDIT: OK, earlier the paper states "The non-bold notation of <em class="text-italics">p</em> denotes that the vector is embedded into a quaternion with vector part <em class="text-italics"><strong class="text-strong">p</strong></em> and scalar part 0."<br>So does <em class="text-italics">e_3</em> simply equals quat[0, 0,  1, 0]? <br>Plus I am still not sure how to multiply the expression (the left side is Vec3f and the right is Quat4f)<br><div class="codebox"><p>Code: </p><pre><code>public static void ProjectStretchAndShearConstraint(ref Vector3 pA, ref Vector3 pB, ref Quaternion q, float wA, float wB, float wQ, float restLength, float kS){            Vector3 dir = pB - pA;            float len = Vector3.Magnitude(dir);            if (len &lt;= EPSILON)                return;            float wSum = wA + wB + (4 * wQ * len * len);            if (wSum &lt;= EPSILON)                return;            Vector3 d3 = q * Vector3.forward;            Vector3 dP = (1.0f / wSum) * (dir / len - d3);                 pA += dP * wA * len * kS;            pB -= dP * wB * len * kS;            Vector4 dPQ = (1.0f / wSum) * (dir / len - d3) * // WHAT GOES HERE!?;                  // q += dPQ * wQ * len * len;}</code></pre></div><p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=10616">korzen303</a> — Sun Jul 17, 2016 2:55 pm</p><hr />
]]></content>
	</entry>
	</feed>
