title: Given a surface normal, find rotation for 3D Plane
body: <p>So I have a 3D Plane described by 2 Vectors:</p>
  
  <blockquote>
    <p>P : a point which lies on the Plane<br>
    N : the surface normal for the Plane</p>
  </blockquote>
  
  <p>And i have a very large, flat square Polygon, which I want to render to represent this Plane. I can easily translate the polygon to the given point, but then I need to find the proper rotation to apply to make the surface normal actually be the surface normal.</p>
  
  <p>I tried a method mentioned else where which was:</p>
  
  <blockquote>
    <p>1) Take any none parallel vector (V) to the normal (N), and take the cross product (W1)<br>
    2) Take the cross product of (W1) and (N) now (W2) and that is a Vector (V') which lies on the Plane</p>
  </blockquote>
  
  <p>I then generate a rotation matrix based on (V') laying on the Plane, so that my polygon would be aligned with (V'). that worked, but it's clear that this method is not working correctly as a whole. The Polygon is not perfectly perpendicular to the surface normal.</p>
  
  <p>Any ideas on how to generate the proper rotation?</p>