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