Rotation of instances aligned to curve tangent and normals of another object

I hope your're not mad about another dump rotation alignment question. I'm trying hard to wrap my head around this topic, but still fail at certain points. And other answered question here i can't relate to my specific issue.

So, situtaion is, i'm working on a geo system for a specific climbing plant. I planned it for sometime, evaluated different methods and found for this specific situation that drawn splines on the objects that should be overgrown would work best. Now i want to align the leaves distributed on the faces after curve-to-mesh to the curves tangents and to the normal of the object, on which the curves are drawn. This is important, as you can see, the plant in the image has the leaves aligned to the stem, but also flat on the wall.

It kinda works with the setup in the blend attached, but this way i get some random rotation, i guess because the points from 'distribute points on faces' bring their orientation into it.

Using the captured curve-tangent for vector in 'align euler to vector' and the normal from 'sample nearest surface' for rotation doesn't give me the desired orientation. But this i was expecting... Also, origin of objects seems not to be the issue, what would be my second guess.

Btw: the Geometry proximity node with the vector math operation following is used for a set-position-operation to move the plant a bit outward from the object to get rid of intersections. It works quiet well, this is why i simplified the system for this question.

enter image description here

• just attached the .blend Commented Feb 15 at 7:26
• I don't know what you want to obtain, but you can add a second rotation around Z to oriented the instances the way you want... is that it ? Commented Feb 15 at 7:50
• Thx for your reply lemon! I want the leaves rotation to be aligned to the curves tangent AND to the normals of the underlying object. So that all leaves x-axes are pointing in the direction of the normals of this object and the y-axes follow the curves tangent. I want to have a clear rotation like that, to then manipulate it with rotate-instance-node. When i say x- or y- axes, it's just for example. Commented Feb 15 at 8:04
• but "all leaves x-axes are pointing in the direction of the normals of this object" means that leaves X axis will be orthogonal to the cylinder. Is that really what you want? Commented Feb 15 at 10:49
• yeah, right. Because as you see in the image above, this plant orientates it's leaves almost flat on the surface where it grows on and thus maximizes the space covered to catch as much light as possible. Commented Feb 15 at 11:25

You can for instance do:

First orient leaves top (Z) along the surface normal.

Then orient them to the curve tangent (rotating around the previous Z).

And optionally add some random (-pi/2 to pi/2) around Z again.

• Thank you so much Lemon! That was exactly what i tried to understand: how can i chain euler rotations. in my head it was like, dude, that must be simply like this and like that. But for me, the align euler to vector-node is still a little tricky and missing a fundamental understanding. But something important is getting clearer thanks to your help! If you know a good resource for deepening understanding of euler rotation etc, please tell me! Commented Feb 15 at 14:02

Here is my solution with curve to points and these points rotation, aligned to normals of another object. It's a bit messy, sorry for that! At the bottom you see my solution for different rotation for opposing leaves.

I add a screenshot of the WIP, because i'm proud of how it looks by now. It's all learning GN. Most of the geo is procedural and the textures are 100% procedural.