Ray/Polygon Intersection

Polygon is define by set of points, Gn = { (xn, yn, zn) | n = 0, 1, .., N-1}
The polygon is in plane
Ax + By + Cz + D = 0 for a point in the plane
Normal Vector, Pn = [A, B, C]

First throw away the coordinate of each point for which the corresponding plane equation value is of the greatest magnitude (dominant coordinate).
You now have a 2-D polygon defined by the set of points
{ (un, vn) | n = 0, 1, .., n-1}

Next translate the intersection point of the ray with the plane of the polygon to the origin of the u,v system. Call these translated points
{ (u'n, v'n) | n = 0, 1, .., n-1}