I'm trying to create a version of Alberti's window, a figure that represents the projection of a three-dimensional figure onto a two-dimensional plane.
Here are my steps:
1) Create the three-dimensional figure:
myDodecahedronFigure = Graphics3D[{EdgeForm[Blue], PolyhedronData["Dodecahedron", "Faces", "Polygon"]}] 2) Extract the vertices and create a line from each to the center of projection (at {10,0,0}):
myVertices = N@PolyhedronData["Dodecahedron", "Vertices"]; myProjectionLines = (Line[{{10, 0, 0}, #}] & /@ myVertices); 3) Put them together with the plane of projection (at x = 6):
Show[myDodecahedronFigure, Graphics3D[{Red, myProjectionLines, PointSize[0.01], Point[myVertices], Opacity[0.5], Yellow, Polygon[{{6, -2, -2}, {6, -2, 2}, {6, 2, 2}, {6, 2, -2}, {6, -2, -2}}]}], ImageSize -> 600 ] I would like to render the projections of the (red) points and the (blue) edges onto the projection plane.
Problems
I have two component problems:
a) I want to include only the points and edges that are visible from the center of projection. (I don't want to hand-select such points.)
b) I want a natural and simple way to render lines and points on the projection plane. (Alas Projection merely projects a vector onto another vector, so that doesn't seem of much help.)

