How to make this kind of shape using BufferGeometry?

Hi everyone,
I’m having a hard trying to make this kind of shape (3D pattern of an antenna) using BufferGeometry :


I don’t even know where to start or what path to follow in order to get something similar. How do I get the vertices ? How do I link them properly ?
I’ve read the documentation and example about custom BufferGeometry but the gap is to big between the simple example in the doc and what I want to achieve.

Any tips that could help me ?

Thank you

You could create a sphere with enough sub-divisions for your purpose, so you have vertices and they are already properly linked.

Then go through the vertices and change their positions to match the actual shape based on its formula.

1 Like

Instead of a sphere, I would use an icosahedron with high level of details, as its geometry has more or less evenly distributed vertices.
Example: IsoNoise (Icosahedron + Perlin noise + Isolines + SelectiveBloom)

Thank for your answer ! I’ll try this !

Thank you for the work and the tip of using an icosahedron, I hope this will help !

Maybe you can adapt the MultiForm geometry to your needs?

From the Collection of examples from discourse.threejs.org
MultiFormGeometry
see
threejsResources/MultiFormGeometry at master · hofk/threejsResources · GitHub

The way I see it, the first shape could be done using a LatheGeometry, assuming you get the functions for those curve segments right and making some adjustments (you could use the example from the ShapeGeometry for the heart shaped part at the left and add it to the Lathe).

The second shape is trickier to do like that on the right of the image, but you could just create an hemisphere as a starting point and “mold” it into the desired shape afterwards, for that part. Using CapsuleGeometry could help as well, but otherwise, the “egg” part is just sin() and cos() after all. The more complex zone is the “flower”-like part at the right, but maybe you can assemble it from multiple “petal”-like (or whatever they look like) geometries that you merge together… :thinking:

THANKS,help me a lot!

And I would like to know where I can get the basic principle of MutiFormGeometry?

In multiFormGeometryStatic / multiFormGeometryDynamic - see GitHub - I define a base geometry starting at line 187. In principle it is a cylinder. The input parameters are then used to generate the deformations.