(((Target density - Next Lower Density) / (Next Higher Density - Next Lower Density)) * (Patch# for next lower density + 5)) * cross over % of the next darker shade
That last bit of the "cross over percentage of the next darker shade" is what actually give you the value you put in think descriptor file. This first cross over point is easy because it is just 100. The next cross over point is also easy because the relative density of that shade is multiplied by 100% (the cross over point of the next darker shade). The cross over point of the next lighter shade is where it can be confusing because you need to multiply the relative density for that shade by the cross over point (as a percentage) of the next darker ink.
Hope that helps,
Richard Boutwell