# [SOLVED] Normals point away

## Recommended Posts

Posted (edited)

This is a simple network consisting of a circle with a scatter node that's followed by an attribute wrangle to create (and orientate) some normals upward. It's working but I'm curious as to why all the normals lay down as they get further away from the center of the circle.

Here's what's in the Att Wrangle ::

• vector a = set(0,1,0);
• @N = normalize(a+@P);

Increasing the Y parameter affects the normals' direction (e.g. a value of 1000 forces them straight up without a noticeable difference in their relative angles, where a value of 1 has the noticeable falloff like influence). I'm wondering why it has a stronger influence toward the center of the circle?

Edited by ChazS

##### Share on other sites
Posted (edited)

You add a constant value (a) with a value that increases with distance (P), but has a value y=0.
Near the center, P has little influence. Yes we can say that near center vector a, relatively has more influence.
And if a.Y=1000 while the values of P vary from -5 to 5, after normalize, P has practically no influence anymore.

Edited by flcc
• 1

##### Share on other sites

I hadn't realized that P had a distance falloff. What's still a little confusing is that P.y having less effect toward the outside since it has no value. For some reason, my brain wants to reverse that logic. Gonna need to chew on that info for a bit. Hopefully it'll make sense sooner than later.

Thank you flcc.

##### Share on other sites
Posted (edited)

P have not a distance falloff. It's just that near center values are smal, and the further away you get, the more values grow.

Yes you can use it as a falloff, but a better idea for a faloff is to use distance. That work just because your object is centered.

Edited by flcc
• 1

##### Share on other sites

Okay, the distance thing I get, but what doesn't make sense is that the values grow over the distance (away from the center)... shouldn't the reverse be true and the stronger values be toward the center?

##### Share on other sites

P get bigger value away from center, doesn't make sense ?
Or may be I don't understand wat you don't understand. You should made a capture of your geometry spreadsheat and show what values you mean.

##### Share on other sites

Obviously I'm missing something here (so you have my sincerest apologies for the bother) but yes, the fact that the value of P increases as it moves away from the center doesn't make sense to me. Reason being, I'd expect values to decrease the further they are away they get from its origin.

What does make sense—and I'm not claiming this is what's happening, but please bear with me—is that the value of P is a constant value and that a.y loses its mojo the further away from the point it gets. This then allows the influence of P to become more noticeable as a.y decreases...??

Anyway, that's just what's clicking with me, although I'm not married to the idea, so hopefully your explanation will click into place at some point.

##### Share on other sites
Posted (edited)
32 minutes ago, ChazS said:

Obviously I'm missing something here (so you have my sincerest apologies for the bother) but yes, the fact that the value of P increases as it moves away from the center doesn't make sense to me. Reason being, I'd expect values to decrease the further they are away they get from its origin.

Why? If you check the geometry spreadsheet, a point at the origin will have P = (0, 0, 0). A point further away from origin might have (2, 0, 5), which is a larger value. If you use P as a direction vector (without normalizing), a point further away from origin will have a longer vector.

Say your A vector is (0, 1, 0). This is a constant number, and the same for all points. You add this to a point at origin (0, 0, 0), and your N will point straight up (0, 0, 0) + (0, 1, 0). If you add A to something further away, it will get (0, 1, 0) + (2, 0, 5). So that point will get an N that isnt pointing up.

In your code in the first post I think you want to do this: @N = normalize(a+normalize(@P));

Edited by Skybar

##### Share on other sites

In addition to Skybar's excellent explanation, when you say "the value of P is a constant value ", no @P is not a constant value. it varies for each point. I think there's a misunderstanding here
You should get into the habit of looking into the geomerty spreadsheet. In fact when you go to vex, geometry Spreadsheat is as important as the 3D view.

##### Share on other sites

Ahhh... I see now...

I just wasn't considering distance as the value in question (which flcc was referring to earlier, d'oh!) since my brain was thinking of angles, not distance. Somehow I was thinking there was some intrinsic angle to P I wasn't seeing/understanding (spreadsheet would say otherwise though... ugh, *shame*). It didn't occur to me these values can commingle. My background in game vfx using proprietary tools which always had points carrying basic transformation parameters (position, angle and sometimes color), but this isn't how Houdini works. Old dog and all...

So what's happening is that the distance vector of P was being added to the normal value of 'a' causing the seen behavior. This is another example that data is just data despite whatever name or expectation I place on it.

I will take your advice and begin to look at the geo sheet more carefully. I have been trying to use it, but I'm not sure what I'm looking for at times, but this helps immensely. No excuses though, I hadn't looked at it in this case, but will do so from now on.

Anyway, humbly and delightfully educated and corrected, so thank you both for dispelling this for me.

## Create an account

Register a new account