Normal alignment value

How could I calculate a value for how much a normal faces towards another vector?
I’d like to displace in my vertex shader, but in increasing amount if the normals face in a certain direction

I’m using a noise function to create displacement b here:

vec3 newPosition = position + normal * vec3(b*amplitude);

Normalize the vectors, and use the dot product.