How to add spaced and raised bumps to a geometry?

Hi there! i’m trying to add raised bumps to a geometries vertices like in the picture above,

Does anyone know what kind of math formula could do this? I know earlier we figured out how to add spirals and waves by using Math.Sine(). is there a math.function that could do bumps? It’d be cool to tweak the spacing, size, and sharpness with parameters

I wonder what this thing represents :smile:

Sure you can do this with plain math, even render it entirely in screenspace with discrete functions. A quick inbuilt solution is using a displacement map which will displaces the vertices along their normal by the brightness of the texture, but you might not want to deal with uv coordinate distortion, if that might become an issue for this shape.


One of the best explanatory pictures ever on this forum.
I even can’t reply without laughter, looking at it. :rofl:

You rock! :laughing: :+1:
I have an idea, but I’ll check it a bit later, when I calm down :smile:

1 Like

Thanks Fyrestar, but what do you mean by discrete functions? Also the bumps have to be applied to an unknown shape generated by a users input.
So far I’ve tried iterating the vertices and then dropping a sphere geometry every X vertices. Then i planned on using spheres vertices to influence my shapes, then delete all the spheres.

I came up with this approach:


No wonder the cylinder needed to be ribbed, twisted, and bumpy! :laughing: It all makes sense now.

Next up: “Can you help me make the geometry vibrate in Three.js”? :grin:


:smile: Damn! I’ve burst with laughter :laughing:

1 Like

@Tintinabulator_Zea I think it’s ok to post a link to the main project, if you’re free to share it.

These poor guys are just gonna die from curiosity otherwise :joy:


Okay looeee is right, here is the current progress, it’s a tool for sculpting and 3D-printing dongs. Thanks for all the help so far, I couldn’t have done it without you: )

Who could’ve thought it! :laughing: Nice project!

1 Like