Here is a snippet of code from the program that I wrote:
hull_radius=dia2/2.0;
ballast_radius=dia1/2.0;
hull_area=3.14159*hull_radius*hull_radius;
ballast_area=3.14159*ballast_radius*ballast_radius;
chord_height_remainder=sqrt((hull_radius*hull_radius)-(ballast_radius*ballast_radius));
chord_angle=2.0*acos(chord_height_remainder/hull_radius)*(180.0/3.14159);
hull_area_percentage=chord_angle/360.0;
area_of_hull_pie_slice=hull_area*hull_area_percentage;
area_of_chord=area_of_hull_pie_slice-(ballast_radius*chord_height_remainder);
final_area_of_ballast_tank=(ballast_area/2.0)-area_of_chord;
"ballast_area" is simply the total area of the pipe used for the
ballast tank.
180.0/3.14159 is a factor to convert radians to degrees (computers work
in radians)
hull_area_percentage is the percentage that the 'pie slice' inside of
the hull takes up.
area_of_chord is the area_of_hull_pie_slice minus the area of the two
right-angle triangles that help make up the pie slice.
final_area_of_ballast_tank is the total area of the ballast tank, divided
by 2 (calculating for half a pipe), less the area of the chord (the overlap
area of the two pipes).
-John