I believe I have found a way to map out the weight of each specific segment.
I started with the original equation, I(a)=ABS(I(10)+M*[2*(10-a)*r-(10-a)^2])
I plugged in the data for my DNX10, to get some real numbers.
I then modified it, by changing M to be M/137 (as I was using .5 cm increments) and solving for M. This resulted in M(seg)=ABS(135*[(I(a)-I(10))/(2*[10-a]*r-[10-a]^2)])
where M(seg) is the weight of each segment.
The numbers totalled to 4059.509, so they were obviously off. However, they seemed to have a pattern to them: a pattern that apex'd about 1 cm high of the balance point. This made me question, why not just make it a ratio?? So I did.
M(g)=100*[M(seg)*M/Sum(M(seg))]
where Sum(M(seg))=4059.509, and M(g) is the true mass of the segment in grams.
That made some sense! They all added up to exactly what they should: 340g.
Then, for some added flair, I made another ratio to get the %age of each .5 cm segment, using the same format as before:
M(%)=M(seg)*100/SUM(M(seg))
M(%) is the percentage of the distrobution in each place.
I realise that I made a number of those variables up, so if you would like I could send anyone who wants it a copy of the Excel book I did this work in.
(I'll save you 135 sets of numbers from posting here)
To wrap up any confusions:
M was in kg, r in cm, a in cm, otherwise the numbers always seem to come out funny.

Watching your units helps.
However, this does suffer from the same smootheness as the original equation, so who knows.