<?xml version="1.0" encoding="utf-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Decomposing Matrices</title>
	<atom:link href="http://www.robertblum.com/articles/2005/02/14/decomposing-matrices/feed" rel="self" type="application/rss+xml" />
	<link>http://www.robertblum.com/articles/2005/02/14/decomposing-matrices</link>
	<description>Rachel Blum on Software, Games And The Rest Of Life</description>
	<lastBuildDate>Mon, 09 Jan 2012 17:39:17 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
	<item>
		<title>By: Vitaly</title>
		<link>http://www.robertblum.com/articles/2005/02/14/decomposing-matrices/comment-page-1#comment-94868</link>
		<dc:creator>Vitaly</dc:creator>
		<pubDate>Tue, 12 Apr 2011 13:20:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertblum.com/articles/2005/02/14/decomposing-matrices#comment-94868</guid>
		<description>&lt;p&gt;The tricks are great, but math is all wrong from the very beginning.
1) Correct rotation matrices (common rotation direction is assumed):
1 0 0
0 cosx -sinx
0 sinx cosx&lt;/p&gt;

&lt;p&gt;cosy 0 siny
0 1 0
-siny 0 cosy&lt;/p&gt;

&lt;p&gt;cosz -sinz 0
sinz cosz 0
0 0 1&lt;/p&gt;

&lt;p&gt;2) If you rotate around X, then around Y and then around Z, you should multiply Rz by Ry and then by Rx: R = (Rz&lt;em&gt;Ry)&lt;/em&gt;Rx. Correct final rotation matrix is given here http://en.wikipedia.org/wiki/Rotation_matrix#General_rotations
phi is x, theta is y and psi is z&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>The tricks are great, but math is all wrong from the very beginning.
1) Correct rotation matrices (common rotation direction is assumed):
1 0 0
0 cosx -sinx
0 sinx cosx</p>

<p>cosy 0 siny
0 1 0
-siny 0 cosy</p>

<p>cosz -sinz 0
sinz cosz 0
0 0 1</p>

<p>2) If you rotate around X, then around Y and then around Z, you should multiply Rz by Ry and then by Rx: R = (Rz<em>Ry)</em>Rx. Correct final rotation matrix is given here <a href="http://en.wikipedia.org/wiki/Rotation_matrix#General_rotations" rel="nofollow">http://en.wikipedia.org/wiki/Rotation_matrix#General_rotations</a>
phi is x, theta is y and psi is z</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Tim</title>
		<link>http://www.robertblum.com/articles/2005/02/14/decomposing-matrices/comment-page-1#comment-89139</link>
		<dc:creator>Tim</dc:creator>
		<pubDate>Mon, 09 Aug 2010 10:53:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertblum.com/articles/2005/02/14/decomposing-matrices#comment-89139</guid>
		<description>&lt;p&gt;Thank you.  That helps.  I kept trying to somehow make _23 and _33 equal each other.  What you&#039;re saying makes perfect sense.&lt;/p&gt;

&lt;p&gt;Again, great article!&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Thank you.  That helps.  I kept trying to somehow make _23 and _33 equal each other.  What you&#8217;re saying makes perfect sense.</p>

<p>Again, great article!</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Administrator</title>
		<link>http://www.robertblum.com/articles/2005/02/14/decomposing-matrices/comment-page-1#comment-89136</link>
		<dc:creator>Administrator</dc:creator>
		<pubDate>Mon, 09 Aug 2010 04:11:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertblum.com/articles/2005/02/14/decomposing-matrices#comment-89136</guid>
		<description>&lt;p&gt;Hi Tim!&lt;/p&gt;

&lt;p&gt;I hope I&#039;ve clarified a bit how I arrived at this - basically, I&#039;m solving a system with two unknowns for one of them, taking advantage of common terms between them&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Hi Tim!</p>

<p>I hope I&#8217;ve clarified a bit how I arrived at this &#8211; basically, I&#8217;m solving a system with two unknowns for one of them, taking advantage of common terms between them</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Tim</title>
		<link>http://www.robertblum.com/articles/2005/02/14/decomposing-matrices/comment-page-1#comment-89131</link>
		<dc:creator>Tim</dc:creator>
		<pubDate>Sun, 08 Aug 2010 18:27:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertblum.com/articles/2005/02/14/decomposing-matrices#comment-89131</guid>
		<description>&lt;p&gt;Hey Rachel - this is great.  Thank you.  The one think I&#039;m stumped on is your statement:&lt;/p&gt;

&lt;p&gt;&quot;We find a nice pair of values in row 2&amp;3, column 3: Sin(x).Cos(y) and Cos(x).Cos(y). If we divide those two, we get Sin(x)/Cos(x) = Tan(x)&quot;&lt;/p&gt;

&lt;p&gt;I don&#039;t understand what allows us to divide m23 by m33.  They are just two different values in two cells.  How did you determine you could divide?&lt;/p&gt;

&lt;p&gt;I&#039;m sure I&#039;m missing something obvious.&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Hey Rachel &#8211; this is great.  Thank you.  The one think I&#8217;m stumped on is your statement:</p>

<p>&#8220;We find a nice pair of values in row 2&amp;3, column 3: Sin(x).Cos(y) and Cos(x).Cos(y). If we divide those two, we get Sin(x)/Cos(x) = Tan(x)&#8221;</p>

<p>I don&#8217;t understand what allows us to divide m23 by m33.  They are just two different values in two cells.  How did you determine you could divide?</p>

<p>I&#8217;m sure I&#8217;m missing something obvious.</p>

<p>Thanks</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Rachel 'Groby' Blum</title>
		<link>http://www.robertblum.com/articles/2005/02/14/decomposing-matrices/comment-page-1#comment-81000</link>
		<dc:creator>Rachel 'Groby' Blum</dc:creator>
		<pubDate>Wed, 24 Jun 2009 12:25:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertblum.com/articles/2005/02/14/decomposing-matrices#comment-81000</guid>
		<description>&lt;p&gt;Hey Aaron - you are perfectly right.  It&#039;s amazing how many typos one can add transcribing math :)&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Hey Aaron &#8211; you are perfectly right.  It&#8217;s amazing how many typos one can add transcribing math <img src='http://www.robertblum.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>]]></content:encoded>
	</item>
	<item>
		<title>By: Aaron</title>
		<link>http://www.robertblum.com/articles/2005/02/14/decomposing-matrices/comment-page-1#comment-80824</link>
		<dc:creator>Aaron</dc:creator>
		<pubDate>Fri, 19 Jun 2009 23:01:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertblum.com/articles/2005/02/14/decomposing-matrices#comment-80824</guid>
		<description>&lt;p&gt;I think there&#039;s a mistake:
rotation.y=asin( matrix._13 ) I think should be
rotation.y=asin( -matrix._13 )&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I think there&#8217;s a mistake:
rotation.y=asin( matrix._13 ) I think should be
rotation.y=asin( -matrix._13 )</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Andy Geers</title>
		<link>http://www.robertblum.com/articles/2005/02/14/decomposing-matrices/comment-page-1#comment-79072</link>
		<dc:creator>Andy Geers</dc:creator>
		<pubDate>Sat, 09 May 2009 11:40:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertblum.com/articles/2005/02/14/decomposing-matrices#comment-79072</guid>
		<description>&lt;p&gt;Assuming the description of how to apply the scaling is correct, then I think there&#039;s an error in your code:
rotation.x = atan2( matrix._23&lt;em&gt;scale.x, matrix._33 );
rotation.z = atan2( matrix._12&lt;/em&gt;scale.y, matrix._11 );&lt;/p&gt;

&lt;p&gt;should really read as follows:
rotation.x = atan2( matrix._23&lt;em&gt;scale.z, matrix._33 );
rotation.z = atan2( matrix._12&lt;/em&gt;scale.x, matrix._11 );&lt;/p&gt;

&lt;p&gt;... since you said you want to divide matrix._11 by scale.x and matrix._33 by scale.z&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Assuming the description of how to apply the scaling is correct, then I think there&#8217;s an error in your code:
rotation.x = atan2( matrix._23<em>scale.x, matrix._33 );
rotation.z = atan2( matrix._12</em>scale.y, matrix._11 );</p>

<p>should really read as follows:
rotation.x = atan2( matrix._23<em>scale.z, matrix._33 );
rotation.z = atan2( matrix._12</em>scale.x, matrix._11 );</p>

<p>&#8230; since you said you want to divide matrix._11 by scale.x and matrix._33 by scale.z</p>]]></content:encoded>
	</item>
	<item>
		<title>By: cb</title>
		<link>http://www.robertblum.com/articles/2005/02/14/decomposing-matrices/comment-page-1#comment-77958</link>
		<dc:creator>cb</dc:creator>
		<pubDate>Thu, 16 Apr 2009 19:13:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertblum.com/articles/2005/02/14/decomposing-matrices#comment-77958</guid>
		<description>&lt;blockquote&gt;
  &lt;p&gt;Are we there yet? Not quite! What if Cos(y) is zero?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Is there any way you could add code for this case, as well? Thanks!&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<blockquote>
  <p>Are we there yet? Not quite! What if Cos(y) is zero?</p>
</blockquote>

<p>Is there any way you could add code for this case, as well? Thanks!</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Administrator</title>
		<link>http://www.robertblum.com/articles/2005/02/14/decomposing-matrices/comment-page-1#comment-58304</link>
		<dc:creator>Administrator</dc:creator>
		<pubDate>Tue, 03 Jun 2008 14:05:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertblum.com/articles/2005/02/14/decomposing-matrices#comment-58304</guid>
		<description>&lt;p&gt;@Bill: Indeed. Great catch. I&#039;ve updated it&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>@Bill: Indeed. Great catch. I&#8217;ve updated it</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Administrator</title>
		<link>http://www.robertblum.com/articles/2005/02/14/decomposing-matrices/comment-page-1#comment-58292</link>
		<dc:creator>Administrator</dc:creator>
		<pubDate>Tue, 03 Jun 2008 04:24:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertblum.com/articles/2005/02/14/decomposing-matrices#comment-58292</guid>
		<description>&lt;p&gt;Thanks, Bill. Updated the article.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Thanks, Bill. Updated the article.</p>]]></content:encoded>
	</item>
</channel>
</rss>

