How to draw a irregular sphere?

I want to draw a irregular sphere. like apple or ugly orange
What kind of data should I collect and what geometry should to use?

All you really need is a displacementMap - it’s a black-and-white texture, black meaning no displacement, white meaning maximum displacement from the centre of the sphere (you can control the strength of displacement with displacementScale.)

Example of a squashed sphere with a displacement applied :cloud:

I mean, if you dont want to create one in a 3D program, you will have to rely on the works of others. Either find a 3D model of an orange or try some workarounds in threejs. You can create a sphere and apply maps to it.Try searching for a normal map and/or displacement map for an orange peel or something. Then apply them to your model. Just a note that displacement map requires a bit more geometry, so when you create the sphere, make sure it has them. Also try searching for UVs specifically made for a sphere.

1 Like

Feel free to use LatheGeometry: Cider Rocks! [MeshSurfaceSampler + Texture, gradient, modified pass]
or deform an icosahedron with noise: IsoNoise (Icosahedron + Perlin noise + Isolines + SelectiveBloom)

I think it’s also worth mentioning blender, you will be limited in your expression if you can’t at least model basic shapes and apply textures and maps. Rectangles and spheres in threejs will not get you far.

True, when one doesn’t know / doesn’t want to know how to manage geometries.
Otherwise, makes some funky stuff. :wink:


@prisoner849 well yes i wish i was a math genius, i should have added that :smile: hats off for what you guys can do with just simple shapes and math.


Oh! I wish to be that too :slightly_smiling_face: :handshake:

@zhaolun7 Just in case, if you find it useful/helpful: