Take the 2-minute tour ×
MathOverflow is a question and answer site for professional mathematicians. It's 100% free, no registration required.

I've been toying with a Catmull-Clark subdivision algorithm; I also compared my results to results I found online (e.g. images.google.com).

The weights used to relocate the old vertices of the mesh are given as $\frac{(n-3)}n$ for the old vertex, $\frac2n$ for the average of the newly inserted edge points of adjacent edges and $\frac1n$ for the average of the new points at the adjacent faces centroids.

This causes the location of the old vertex to have no impact at all for $n=3$, e.g. corners of a cube.

I've made a short movie http://t.co/nIoMXBr that illustrates the first three iterations of subdivisions. The result after the first step sure looks not convex and at least to me looks different from the sample image on wikipedia http://en.wikipedia.org/wiki/Catmull-Clark_subdivision_surface; which is similar to other sources.

For extraordinary vertices the coefficients are $1-\frac7{4n}$, $\frac3{2n}$ and $\frac1{4n}$.

But these give the quite a large weight to the old vertices location and the resulting subdivision surface looks nothing like the ones on the images; it's original non-$4$-valent vertices are much more pronounced.

So conclusively, I found that seemingly neither rule produces results similar to the image on the web. I must be missing something. I would be very glad for any points that might allow me to resolve this.

UPDATE: apparently the images found on the web are usually created using weights of $\frac{(n-2)}n$, $\frac1n$, $\frac1n$. Found those after digging through the K-3D source. (K-3D was used to create the images on Wikipedia). They are also listed in Mathematical tools in computer graphics with C# implementations by Alexandre Hardy, Willi-Hans Steeb.

UPDATE2: Movie showing the subdivision with different weights: http://t.co/Z8IT4rL

share|improve this question

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.