1
$\begingroup$

So I have this horizontal curve where I'm instancing spirals from. I grab the tangent of the curve and scale the instances oriented from that vector but it doesn't work as expected. How to procede so the scaling in X and Y occur perpendicularly to the curve's splines? Thx!

enter image description here

PS: The tangent from the 'curve to points' node is the original curve's tangent right?

$\endgroup$
8
  • $\begingroup$ maybe uneven scale is the issue. Try to apply scale $\endgroup$
    – Crantisz
    Commented Sep 1, 2023 at 22:41
  • $\begingroup$ no, it's all good already $\endgroup$
    – AAA Yerus
    Commented Sep 1, 2023 at 22:48
  • $\begingroup$ Can you share the file then? $\endgroup$
    – Crantisz
    Commented Sep 1, 2023 at 22:49
  • 1
    $\begingroup$ Please make a sketch of what you want. It seems you don't understand how scaling works in Blender, and that what you're really after is aligning first, and then scaling. Potentially, you may want to realize instances and then deform the 'spirals' (they look like circles to me) $\endgroup$ Commented Sep 1, 2023 at 23:43
  • 1
    $\begingroup$ The instancing is with 0 rotation (not aligned to the curve). The scaling is aligned to the curve. Each instance will be stretched in a different direction with respect to its own geometry. Maybe you want to align the instances to the curve, first? $\endgroup$
    – Robin Betts
    Commented Sep 2, 2023 at 10:13

3 Answers 3

2
$\begingroup$

This is how you scale along a custom axis in Blender:

Transform Geometry nodes use matrix transformations (in all cases except when only Translating = moving), and this is the typical matrix shenanigans (just like rotating around a custom pivot points means moving so the pivot point is in the origin, rotating, and moving back). Just keep in mind since you don't have the super-convenient "Reverse" option known from the Vector Rotate node, if you rotate on more than one axis, you need to manually reverse the rotation order from $xyz$ to $zyx$:

In your case you want to rotate multiple things, so You can't use the Transform node, but you can use equivalent instance nodes:

The result, as well as a comparison with UV spheres:

Aligning scale to tangent

I think you might be after this:

$\endgroup$
2
  • $\begingroup$ Um, wicked! I obtained a non-deformed result up there but the thing is that the won't align properly. Has it to do with that? My impression is that I'm not capturing precisely the tanget's perpendicular vector. $\endgroup$
    – AAA Yerus
    Commented Sep 3, 2023 at 7:22
  • $\begingroup$ @AAAYerus I forgot to ping you to see the edit, so, see the edit and if it's what you want. $\endgroup$ Commented Sep 4, 2023 at 9:33
0
$\begingroup$

The best result I achieved so far has been this one, but as you can see it's still not aligning perfectly to the perpendicular. As you can see, I grabbed the perpendicular of the base curve's tangent, the spirals are kind of aligning to it but badly. Anything I can do to improve?

enter image description here

$\endgroup$
0
$\begingroup$

Oh I get it! What was getting in the way was that 'Curve to Points' node, I just replaced to 'Resample Curve' so I didn't lose the info from the original curve - this somehow was screwing up the tangent information. Thanks for your time guys! Peace out! =)

enter image description here

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .