Donc déjà, si tes variables sont dans le tableau v (accessibles par v[i]), alors :
1) Tu calcules la proportion de la quantité i, donc tu as besoin de S = v[0]+v[1]+ ... +v[n-1], puis tu poses a[i] = v[i] / S
2) Ensuite tu calcules la position b[i] = a[0]+a[1]+ ... +a[i-1], là tu as besoin de n+1 variables. Ca va correspondre à la proportion des i premières variables.
3) Enfin tu calcules les coordonnées des points d'angle 2*Pi*b[i], autrement dit :
x[i] = cos(2*Pi*b[i])
y[i] = sin(2*Pi*b[i])
4) x[i] et y[i] sont entre -1 et 1, il faut les modifier pour qu'ils correspondent à ton affichage, puis tu traces une ligne entre (x[i],y[i]) et (x[i+1],y[i+1])
Bon là c'est la base, autrement dit camembert en 2D, avec des flottants. Tu peux facilement accélérer avec de la virgule fixe, et ce n'est pas difficile de passer au camembert 3D non plus (mais est-ce bien utile?

)