3DDave you inspired me to determine the solution analytically. I was going to do that initially but figured my simple explanation might suffice, however I realize now it doesn't do a great job of explaining the geometry involved.
Where:
r is the radius of curvature
h
1 is the straightness tolerance applied
c
1 is the per unit length over which straightness tolerance is applied
c
2 is the the length of the segment desired to be analyzed (in the figure 5-5 this is shown as 50/75/100)
h
2 is the straightness deviation allowed over length c2 due to straightness tolerance h1/c1
h
1 = 0.1
c
1 = 25
to find the radius of curvature
r = (c
1^2)/(8*h
1) + h
1/2 = 781.30
then
h
2 = r - r*cos((2*asin(c
2/(2*r)))/2)
For the values shown in the figure c
2 = 50 / 75 / 100, h
2 = 0.40008 / 0.90046 / 1.6015 respectively.
Its interesting to note that the resulting deviation over the entire length of the feature is more sensitive to the length over which the initial tolerance zone is specified than the diameter/width of the tolerance zone itself. This is because in the equation for the radius of curvature the per unit length c
1 (actually the chordal length) is to the power of 2 whereas the size of the tolerance zone h
1 (actually the distance from the chord to the arc) is to the power of 1. For example if the size tolerance was twice as loose (0.2mm per 25mm) the resulting deviation over 100mm would be 3.2124 (radius of curvature is now 390.73mm) whereas if the per unit length was twice as loose (0.1mm per 12.5mm) the resulting deviation over 100mm would now be 6.5067 (radius of curvature is now 195.36mm).
Perhaps the below figure can connect the figure provided in the standard (5-5) with my equation/explanation for OP. Obviously the dimensions are not to scale - I had to fudge the scaling so that you could visualize the distance from the chord to the arc, otherwise it was very difficult to see.
Edit: Just a few formatting changes for the subscripts (and one mistaken reference where I put c
1=50/75/100 where it should have been c
2=50/75/100), I realized h
1 instead of h1 is easier to read in a formula. Note to self - maybe avoid subscripts in the future and instead use unique variables..