This is my first foray outside of stack-overflow, so I hope this is an acceptable forum for this question.
I want to calculate a 'complexity' index based of 3D models. Currently I'm calculating the surface area and dividing it by the volume - but I'm pretty sure this isn't working correctly.
The goal would be an index where a cube might be a low value, while a sphere with lumps/bumps would be a much higher value.
Any help with this would be fantastic - I'm out of my depth!
An example of something that I would assume has a 'low', 'medium' and a 'higher' value of complexity are shown below:



There are several good choices, depending on your needs.
The first thing that comes to mind is the Willmore energy
$$\int_S (H^2-K)\,dA$$ where $H$ is the mean curvature and $K$ the Gaussian curvature of the object at a point on the surface. By Gauss-Bonet you can write this energy as $$\int_S H^2\,dA - 4\pi(1-g)$$ where $g$ is the genus (number of holes) of the surface. The Willmore energy is always nonnegative, is zero for the sphere, and has a physical interpretations: it is the bending energy of a thin rubber sheet that is in the shape of your surface. The bumpier your shape, the higher this energy will be.
If you're interested in classifying the "smoothness" of polyhedra rather than smooth surfaces, there is a complication: how to discretize mean curvature? Commonly the following relationship is used: the gradient of the surface area of a surface is the mean curvature normal: $$\nabla A = 2H\hat{n}$$ this equation can be used to discretize mean curvature at a vertex $v_i$. Calculate the gradient of the polyhedron's surface area with respect to moving $v_i$ (note that this requires looking only at the neighboring faces to $v_i$) to get $$B_i^2H_i^2 = \frac{1}{4}\left\|\frac{\partial A}{\partial v_i}\right\|^2$$ where $B_i$ is the barycentric area of vertex $i$: one-third the sum of the surface areas of the faces neighboring $v_i$ (for triangular faces; divide the face area by four for quadrilaterals, etc). Then discretize the Willmore energy as $$\sum_i H_i^2 B_i - 4\pi(1-g)$$
Here's another possible measure, if your shape is star-shaped (every point on the boundary can be "seen" from the centroid of the object). Calculate the centroid $c$; you can now write every point on the surface in spherical coordinates $r(\theta,\phi)$ centered at $c$. To measure the bumpiness of the surface you can use the Dirichlet energy of $r$: $$\int_{S^2} \|\nabla r\|^2$$ which again is always nonnegative, is zero for the round sphere, and measures the "bumpiness" of the surface. One advantage of this definition is that the Dirichlet energy can be very easily computed from the discrete Fourier transform of $r$ (using spherical harmonics as the basis functions, since we are on the sphere).