How do I convert a 4x4 matrix from translation, rotation and scale transformations?
<p>I have 3 transformations of the human skeleton (example of hips bone):</p>

<pre><code>  &lt;node id="hips" name="hips_bone" type="JOINT"&gt;
    &lt;translate&gt;0 0.941045 -0.02637&lt;/translate&gt;
    &lt;rotate sid="rotateZ"&gt;0 0 1 90&lt;/rotate&gt;
    &lt;rotate sid="rotateY"&gt;0 1 0 -12.0004&lt;/rotate&gt;
    &lt;rotate sid="rotateX"&gt;1 0 0 0&lt;/rotate&gt;
    &lt;scale&gt;1 1 1&lt;/scale&gt;
  &lt;/node&gt;
</code></pre>

<p>Is there a way to convert this data into 4x4 matrix? (I suppose we can throw scale transformation off because it's always 1 1 1).</p>

<p>To be more precise the result I want to achieve:</p>

<pre><code>&lt;matrix sid="matrix"&gt;
  0.978148 -0.207912 0.000000 0.000000
  0.207912 0.978148 0.000000 -0.000012
  -0.000000 0.000000 1.000000 0.000000
  0.000000 0.000000 0.000000 1.000000
&lt;/matrix&gt;
</code></pre>

<p>(the result matrix is not equal to the transformations data above).</p>

<p>And is there any useful structures in c# to work with 4x4 matrices?</p>