test_class.declarator: circle
test_class.modifier: private static
test_class.original_string: private static Circle circle;
test_class.type: Circle
test_class.var_name: circle
test_class.declarator: first
test_class.modifier: private static
test_class.original_string: private static Vector2D first;
test_class.type: Vector2D
test_class.var_name: first
test_class.declarator: second
test_class.modifier: private static
test_class.original_string: private static Vector2D second;
test_class.type: Vector2D
test_class.var_name: second
test_class.file: singa-mathematics/src/test/java/bio/singa/mathematics/geometry/faces/CirclesTest.java
test_class.identifier: CirclesTest
test_case.body: @Test
      @DisplayName("circle calculations - central angle")
      void centralAngle() {
          double centralAngle = Circles.centralAngle(circle, first, second);
          assertEquals(Math.PI / 2.0, centralAngle, 1e-12);
      }
test_case.class_method_signature: CirclesTest.centralAngle()
test_case.full_signature: @Test @DisplayName("circle calculations - central angle") void centralAngle()
test_case.identifier: centralAngle
test_case.invocations: centralAngle assertEquals
test_case.modifiers: @Test @DisplayName("circle calculations - central angle")
test_case.parameters: ()
test_case.return: void
test_case.signature: void centralAngle()
focal_class.file: singa-mathematics/src/main/java/bio/singa/mathematics/geometry/faces/Circles.java
focal_class.identifier: Circles
focal_class.class_method_signature: Circles.Circles()
focal_class.full_signature: private  Circles()
focal_class.identifier: Circles
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.signature:  Circles()
focal_class.class_method_signature: Circles.circumference(double radius)
focal_class.full_signature: public static double circumference(double radius)
focal_class.identifier: circumference
focal_class.modifiers: public static
focal_class.parameters: (double radius)
focal_class.return: double
focal_class.signature: double circumference(double radius)
focal_class.class_method_signature: Circles.area(double radius)
focal_class.full_signature: public static double area(double radius)
focal_class.identifier: area
focal_class.modifiers: public static
focal_class.parameters: (double radius)
focal_class.return: double
focal_class.signature: double area(double radius)
focal_class.class_method_signature: Circles.randomPoint(Circle circle)
focal_class.full_signature: public static Vector2D randomPoint(Circle circle)
focal_class.identifier: randomPoint
focal_class.modifiers: public static
focal_class.parameters: (Circle circle)
focal_class.return: Vector2D
focal_class.signature: Vector2D randomPoint(Circle circle)
focal_class.class_method_signature: Circles.centralAngle(Circle circle, Vector2D first, Vector2D second)
focal_class.full_signature: public static double centralAngle(Circle circle, Vector2D first, Vector2D second)
focal_class.identifier: centralAngle
focal_class.modifiers: public static
focal_class.parameters: (Circle circle, Vector2D first, Vector2D second)
focal_class.return: double
focal_class.signature: double centralAngle(Circle circle, Vector2D first, Vector2D second)
focal_class.class_method_signature: Circles.arcLength(Circle circle, Vector2D first, Vector2D second)
focal_class.full_signature: public static double arcLength(Circle circle, Vector2D first, Vector2D second)
focal_class.identifier: arcLength
focal_class.modifiers: public static
focal_class.parameters: (Circle circle, Vector2D first, Vector2D second)
focal_class.return: double
focal_class.signature: double arcLength(Circle circle, Vector2D first, Vector2D second)
focal_class.class_method_signature: Circles.samplePoints(Circle circle, int numberOfPoints)
focal_class.full_signature: public static List<Vector2D> samplePoints(Circle circle, int numberOfPoints)
focal_class.identifier: samplePoints
focal_class.modifiers: public static
focal_class.parameters: (Circle circle, int numberOfPoints)
focal_class.return: List<Vector2D>
focal_class.signature: List<Vector2D> samplePoints(Circle circle, int numberOfPoints)
focal_class.class_method_signature: Circles.intersect(Circle circle, LineSegment lineSegment)
focal_class.full_signature: public static boolean intersect(Circle circle, LineSegment lineSegment)
focal_class.identifier: intersect
focal_class.modifiers: public static
focal_class.parameters: (Circle circle, LineSegment lineSegment)
focal_class.return: boolean
focal_class.signature: boolean intersect(Circle circle, LineSegment lineSegment)
focal_method.body: public static double centralAngle(Circle circle, Vector2D first, Vector2D second) {
          // https://math.stackexchange.com/a/185844
          double rSq = circle.getRadius() * circle.getRadius() * 2.0;
          double c = EUCLIDEAN_METRIC.calculateDistance(first, second);
          return Math.acos((rSq - c * c) / rSq);
      }
focal_method.class_method_signature: Circles.centralAngle(Circle circle, Vector2D first, Vector2D second)
focal_method.full_signature: public static double centralAngle(Circle circle, Vector2D first, Vector2D second)
focal_method.identifier: centralAngle
focal_method.invocations: getRadius getRadius calculateDistance acos
focal_method.modifiers: public static
focal_method.parameters: (Circle circle, Vector2D first, Vector2D second)
focal_method.return: double
focal_method.signature: double centralAngle(Circle circle, Vector2D first, Vector2D second)