Given: A 3D mesh defined with a set of vertices and triangles building up the mesh with these points.
Problem: Find the 2d outline of the projected arbitrarily rotated m
The 2D outline of the mesh projection is a subset of the projection of its edges.
Using this observation, one can determine the 2D outline using the following method:
Note that this method will report all the edges that are orthogonal to the projection plane, even those which are not visible from the projection plane's point of view. For example, with a torus, it will find the interior and the exterior outlines, even when the torus is rotated in such a way that its interior hole isn't visible from the projection plane's point of view. To sort out which edges are visible, you will need some sort of visibility test. If the intended use is for user display, you can use a depth buffer computed with an orthogonal projection matrix to render the geometry from the projection plane's point-of-view and do some z-testing to determine which edges are visible from the plane. If you need precision, you will need to perform ray/triangle intersection to determine visibility.