# How do I map a 3D triangle into 2D?

The problem I'm having is mapping a 3D triangle into 2 dimensions. I have three points in x,y,z form, and want to map them onto the plane described by the normal of the triangle, such that I end up with three points in x,y form.

My guess would be it'd assigning an arbitrary up vector... and then... doing something? Finding the distance traveled along the plane from one vertex to another...? What do I do, and how do I do it?

-

You have not specified the problem well enough. Do you have three points $(x_1,y_1,z_1), (x_2,y_2,z_2), (x_3,y_3,z_3)$ to map to two dimensional points? The simplest is to ignore the third coordinate. This is not as stupid as it sounds-you are projecting the triangle on the $xy$ plane. If you want to project onto another plane, how is it defined?
If your vector is normal (perpendicular) to the plane you want to project onto, the operation is well-defined. You can rotate so that the vector is along $z$, ignore the last coordinate, then rotate back. You will have three points, each with three coordinates, that lie in a plane perpendicular to the vector you have chosen. Is that what you want? –  Ross Millikan Jul 8 '11 at 3:42