Vector Operations Result Not Expected (Solved)

I’m continuing my geo nodes study with Blender Studio’s introduction. Trying to build Simon’s tree gen by myself to practice recalling the concepts. I want to align the bottom of the overall geometry with the origin at world 0.

My first approach was to take the min vector from bounding box, extract the Z value using Combine XYZ node, and scale -1 then offset. But it was just a little bit off as you can see in the screenshot. I used the Mix Vector node to change the factor just for debugging.

I checked what Simon does and he takes the min vector and multiplies by 0,0,-1, which produces the result I expected.

But… why is it different? I thought maybe I was doing something that caused a loss of float precision but looking at the spreadsheet values in the top right, the values are far enough apart that I don’t think that’s the case. I tried taking the min vector, Separate XYZ the Z value and input to Combine XYZ’s Z socket and that’s the same as the single multiple node. Just don’t get why combine node doesn’t work.

Multiply Vector: Z: 2.44 (correct)
Combine XYZ: Z: 2.186
Separate, Combine XYZ: Z: 2.44 (correct)

Feeling there’s a gap in my knowledge of something fundamental here. Can anyone point it out?

Here are the three variations. The middle is incorrect.


Thank you.

Answering my own question here.

I see it.

I assumed plugging a vector into the Z socket would separate out the Z value. Ahhh now I remember, vector to float socket averages the values into one (and a color to a float results in the luminance value).


The average of those values is indeed

Case closed.

1 Like