Michael,
You and I are in the same boat. While I did some stuff like this in pen and ink years ago, I only recently got serious about it. What I quickly found is that, traditionally, surface shading is done almost entirely with straight lines plus the occasional arc or ellipse because those are easy to make with a ruler etc., but that this method doesn't work for the doubly-curved surfaces that I need to shade. Furthermore, I found that I couldn't come up with a method of drawing convincing shade lines on doubly-curved surfaces in Illustrator or Corel. Surveying the work of others, it seems like no one else has figured out a good method either. In other words, I believe you're in a position to greatly expand the scope of this style with your principal curvature method, rather than simply emulating what others have done with pen and ink.
re:
> although that would definitely be cool it overall adds up to a pretty large package of work.
I knew I was asking for a lot with interactivity. It's totally reasonable to limit the scope.
re:
> When generating both directions I can put them inside groups for AI and SVG format
> exports. PDF format does not have a grouping operator in it for graphics content streams
> so it may not be viable to do it for PDF format.
Understood, though I haven't tried SVG export. It's not available in v4, right? I'll have to try that since now I'm using Illustrator almost exclusively for it's ability to accepted pasted Ai and am then doing most of the real work in Corel. Regarding PDF, if each direction were assigned a different line style (color or width) that would be almost as good as grouping. But, may not be needed if SVG supports grouping.
re:
> Question - is there a specific rule for these types of breaks like should they always
> occur nearby a line that has been terminated because it is entering a brightly lit area?
While it's true that the type of line breaks you pointed out occur almost exclusively where a line enters a highlight/hotspot, it is not true that this type of line break is always used where a line enters a highlight, nor is it true that this type of line break always indicates that a line is entering a hotspot. It's not even true that a single break is always used. Here's someone who liked double breaks:
I wouldn't hard code something like this. This style of line break can be made in seconds using the Eraser tool in Corel.
re:
> Well not quite exactly - the N-gon mesher makes quads in the UV parameter space
Not what I was hoping to hear, but I've still got faith in your ability to calculate derivatives accurately.
re:
> So what happens there is that there is a conflict between tracing an accurate curvature
> line and simultaneously keeping regular spacing in image/page space.
My understanding is that you're generating densely-spaced streamlines (or vector fields) along lines of curvature in object space and then using these to guide the growth of visible lines in image space, but that while what happens in image space is guided by the projected streamlines, the visible lines can deviate from the projected streamlines because the procedure is something like an optimization or curve fitting. I worry that getting this right is a difficult problem. I'd rather receive hatch lines that are evenly spaced in object space, even if they become dense to an unsightly degree in some areas, than the result of trying to maintain even tone in image space if that leads to geometric inaccuracies.
Another reason that I'm arguing for even spacing in object space is that curvature lines that have automatically been broken in a random way to give even tone will limit what I can do with those lines. But, if I get lines that are continuous from edge to edge, then I can decide how or where I want to end them.
re:
> cones
Darn. My books with examples of simple geometric shapes are where I was traveling and I didn't take photos of those pages. Here are the examples I have at hand:
re:
> Hmmm, I'm pretty doubtful that I could get it to do that.
In the example scene that you've been posting since the start, what determines the direction of hatching on planar surfaces? Does it have something to do with the lines of curvature on adjacent areas (i.e. a continuity condition), some conditions about how hatch lines interact with ridges, or is it purely decided by UV of planes used in construction?
re:
> This might be feasible... I didn't realize that these were done using just one heavier
> line weight I kind of thought they were gradually increasing and decreasing like one
> long paint brush stroke.
This is low on my list of desires. But, if you insist I would prefer that the lightweight line run the full length underneath the heavier segment because it's more flexible. That's how I've done it in Corel: draw hatch lines with light weight, duplicate hatch lines and increase weight of duplicate, and then go at the heavy lines with the Eraser while I've got the light lines locked. If I want the lightweight lines trimmed I can use the Weld command to achieve this. Regarding smoothly varying width, that is done in woodcut, but I can't think of a nice way to do it digitally that would still be reasonably editable. Do you have an idea regarding smoothly varying width?