This module computes the area of the circular segment formed between a circle tangent to a reference line and a line found at a given distance from this reference line.
The various cases are described by the images given in the following documentation, where the area which we want to compute is that of the filled shape.
Solution
Consider an orthogonal coordinate system and a circle so that there exists with on the x-axis. Also let be parallel to the x-axis so that the distance from it to the x-axis is and .
Let be the area which we must determine. Based on the relation between and we get the following cases:
1)
r = 2.5
h = 0.0 Area = 0.000
h = 0.5 Area = 1.022
h = 1.0 Area = 2.796
h = 1.5 Area = 4.954
h = 2.0 Area = 7.334
h = 2.5 Area = 9.817
h = 3.0 Area = 12.301
h = 3.5 Area = 14.681
h = 4.0 Area = 16.839
h = 4.5 Area = 18.613
h = 5.0 Area = 19.635
h = 5.5 Area = 19.635
Example 1
#include <codecogs/maths/geometry/area/circle.h>#include <stdio.h>int main(){// the length of the radiusdouble r = 2.5;
// display the lenghts of the radiusprintf("r = %.1lf\n\n", r);
// display the area for different values of hfor(double h = 0; h < 5.6; h += 0.5)printf("h = %.1lf Area = %.3lf\n", h,
Geometry::Area::circle(r, h));
return0;
}
Parameters
r
the radius of the circle
h
the distance between line and the reference line
Returns
The value of the desired area.
Source Code
Source code is available when you buy a Commercial licence.