Second time posting here, hoping there could be some helpful guidance like last time. I’m working to recreate this representation style, and so far, my surface is divided, and the vectors are generated. I’m stuck on how to orient the vectors to the curvature. I have a feeling I’m overthinking this. Any help is great, thanks!
First I average the minimum and maximum sampled surface curvature values to get, well, an average, since that yielded a better result than just relying on one of the extremes.
Then I use these averages and remap them to become values between 0.0 and 1.0 for the Graph Mapper component to digest. After the Graph Mapper has done its magic, I resample the values again to bring them into a domain (here 0.0 to 1.35) of desired values that will act as line lengths. The domain defines a minium (i.e.; 0.00) and maximum (i.e.; 1.0).
The line directions are computed by lerp-ing (cf. linear interpolation) between a guiding vector and the surface normals that correspond to the sampled curvature values.
Imagine two arrows representing each normal and guide vector pair. They start from the same origin point and point away from it.
The interpolation here kinda rotates the resulting vector depending on t parameter value. If it’s 0.0, the vector will be the same as the guide vector. At 0.5, it will be a vector exactly in the middle between the guide and normal vector, and at 1.0 it will correspond to the normal vector. It rotates between the two.
The new vector defines the direction of the lines and can be swayed a little.
The rest should be the same like in your definition above.