WWhen dealing with growth solvers, often you not only need the growth itself, but a direction vector. For exapmple to copy feathers onto a surface, or other directed object, like knitting loops. In this tutorial Manuel explains how to calculate direction vectors on the surface by using the gradient.

The gradient is the vector that points in the direction of the steepest ascent of a function. I’s a concept of differential geometry.

Fortunately we don’t have to compute the gradient ourselves, but we can use the inbuilt “Polyframe” node, that is capable of calculating the gradient of an attribute.

Thank you sir ! It’s really great!

Can I copy a line at each point to make this line perfectly fit the surface of the model ?

Thank you, you’re cool!

I can not understand why two cross-products? Why did not you use the normal for the second vector in the matrix?