I am trying to figure out how to convert a flat representation of a curve into the silhouette of a surface of revolution in a isometric projection. In essence in want the planar cut of the surface edge to be converted to the silhouette.Image 1: Starting point.The geometry in this case is a Bzier curve although if somebody has solutions for any functions or higher order curves would be fine. So in essence im open to conics and NURBS also. Image 2: End result. How to transform the magenta curves?The way I've done this now is by sampling several forms and in this case draw the new curve over the points. But id like to do this automatically and more precise. Please note: I am perfectly aware on how to do this with discrete data, I am looking for a more analytical solution if possible.Image 3: The shape was derived using an old draftsman's trick.Please note: Most applications polygonize NURBS or Bzier surface for rendering. Also trivial root finding does not really work well as result should not be pixels but a curve. Let us to avoid this, as I am perfectly capable of discretisizing the solution and project the edges on the back face culling edge, and doing a secondary fitting, or even fitting on the NURBS underworld and then to 2d*. That is exactly the same solution as I am using now. Seem to me there should be a somewhat analytical transformation possible.Image 4: I am perfectly capable of doing this with subdivision/discretisation of the domain.* Though if you know a robust way to do the projection to a curve on surface I'm interested in that too.
Silhouette curve for isometric surface of revolution
bezier curve;silhouette