title: What is the method for calculating rotations - in particular this tetrahedron example?
body: <p>I'm having difficult understanding rotations of irregular objects such as triangles and tetrahedron's.  I'm trying to rotate a tetrahedron so that two corners will be straight along the x axis and it will sit flat on the ground.  Below is what I have so far - close, it is on the ground but how do I move the left corner down (see arrow in image) so it is in line with the right corner?</p>
  
  <p><a href="https://i.stack.imgur.com/DKSY6.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/DKSY6.png" alt="enter image description here"></a></p>
  
  <p>This is what's flattening the tetrahedron:</p>
  
  <pre><code>tetrahedron.applyMatrix( new THREE.Matrix4().makeRotationAxis( new THREE.Vector3( 1, 0, -1 ).normalize(), Math.atan( Math.sqrt(2)) ) );
  </code></pre>
  
  <p>Took me an age to understand that <code>Math.atan( Math.sqrt(2))</code> was 54.735610317245346 degrees.  Do I need to apply a new <code>makeRotationAxis</code> or simply rotate it?  In general what is the method for calculating rotations like this?</p>