I want to be able to create a silhouette edge from a chosen point on any given mesh. Essentially, the silhouette edge is a 3D curve made up of points on the mesh whose tangent planes intersect with a chosen perspective point. I'm not just looking for a silhouette to surround the mesh from all perspectives. I want to be able to create a silhouette edge from one perspective, and then look at the curve created from the previous viewpoint in different viewpoints.
This is a demonstration of what it would look like with a cube. The silhouette edge take from perspective A:
This is the same silhouette edge viewed from a different perspective B:




