I am trying to find a way to identify silhouette curves in geometries which are largerly axisymmetric but with non-axisymmetric features (e.g. a cylinder with a a few small holes drilled in) and run into a silhouette definition that I think could be applicable to this problem
“Given E(u, v) as the eye vector, a point on a surface (u, v) with surface normal N(u, v) is a silhouette point if E(u, v)·N(u, v) = 0, that is, the angle between E(u, v) and N(u, v) is 90 degrees.”
Can someone explain how silhouette curves calculation applies to quasi-axisymmetric geometries using this or an alternative definition?
Thank you!
Suppose we have a parameterized surface $S(u,v)$, and we are viewing it from an eye-point $E$. Let $N(u,v)$ be the surface normal at the point $S(u,v)$. The silhouette points are the ones where $$ (E - S(u,v)) \cdot N(u,v) = 0 $$ If the eye-point is infinitely far away, in the direction of a vector $W$, then this reduces to $$ W \cdot N(u,v) = 0 $$
On a cylinder or a cone, the silhouette curves (SCs) are always straight lines. On a sphere, the SCs are always circles. On any quadric surface, the SCs are conic section curves. On a general surface of revolution, the SCs can get very complex, and can be determined only by numerical tracing.