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 - point sampling")
      void samplePoints() {
          Circle circle = new Circle(new Vector2D(0, 0), 1);
          List<Vector2D> samplePoints = Circles.samplePoints(circle, 4);
          assertEquals(4, samplePoints.size());
          assertEquals(new Vector2D(1.0, 0.0).getX(), samplePoints.get(0).getX(), 1e-8);
          assertEquals(new Vector2D(1.0, 0.0).getY(), samplePoints.get(0).getY(), 1e-8);
          assertEquals(new Vector2D(0.0, 1.0).getX(), samplePoints.get(1).getX(), 1e-8);
          assertEquals(new Vector2D(0.0, 1.0).getY(), samplePoints.get(1).getY(), 1e-8);
          assertEquals(new Vector2D(-1.0, 0.0).getX(), samplePoints.get(2).getX(), 1e-8);
          assertEquals(new Vector2D(-1.0, 0.0).getY(), samplePoints.get(2).getY(), 1e-8);
          assertEquals(new Vector2D(0.0, -1.0).getX(), samplePoints.get(3).getX(), 1e-8);
          assertEquals(new Vector2D(0.0, -1.0).getY(), samplePoints.get(3).getY(), 1e-8);
      }
test_case.class_method_signature: CirclesTest.samplePoints()
test_case.full_signature: @Test @DisplayName("circle calculations - point sampling") void samplePoints()
test_case.identifier: samplePoints
test_case.invocations: samplePoints assertEquals size assertEquals getX getX get assertEquals getY getY get assertEquals getX getX get assertEquals getY getY get assertEquals getX getX get assertEquals getY getY get assertEquals getX getX get assertEquals getY getY get
test_case.modifiers: @Test @DisplayName("circle calculations - point sampling")
test_case.parameters: ()
test_case.return: void
test_case.signature: void samplePoints()
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 List<Vector2D> samplePoints(Circle circle, int numberOfPoints) {
          double angle = (2.0 * Math.PI) / (double) numberOfPoints;
          double commulativeAngle = 0.0;
          List<Vector2D> points = new ArrayList<>();
          while (commulativeAngle < 2 * Math.PI) {
              double x = Math.cos(commulativeAngle) * circle.getRadius();
              double y = Math.sin(commulativeAngle) * circle.getRadius();
              Vector2D point = new Vector2D(x + circle.getMidpoint().getX(), y + circle.getMidpoint().getY());
              if (!points.contains(point)) {
                  points.add(point);
              }
              commulativeAngle += angle;
          }
          return points;
      }
focal_method.class_method_signature: Circles.samplePoints(Circle circle, int numberOfPoints)
focal_method.full_signature: public static List<Vector2D> samplePoints(Circle circle, int numberOfPoints)
focal_method.identifier: samplePoints
focal_method.invocations: cos getRadius sin getRadius getX getMidpoint getY getMidpoint contains add
focal_method.modifiers: public static
focal_method.parameters: (Circle circle, int numberOfPoints)
focal_method.return: List<Vector2D>
focal_method.signature: List<Vector2D> samplePoints(Circle circle, int numberOfPoints)