Esempio n. 1
0
 def test_generate_plottable_linear_points_between_twopoints(self):
     pt_start = Point(1, 1)
     pt_end = Point(20, 20)
     unit = Vector.create_vector_from_2points(pt_start, pt_end).UnitVector
     new_points = Util.generate_plottable_points_between_twopoints(
         pt_start, pt_end)
     distance_start_end = Point.euclidean_distance(pt_start, pt_end)
     for new_point in new_points:
         distance_from_start = Point.euclidean_distance(pt_start, new_point)
         self.assertTrue(distance_from_start < distance_start_end)
         new_unit = Vector.create_vector_from_2points(pt_start,
                                                      new_point).UnitVector
         dot_product = Vector.dot_product(new_unit, unit)
         self.assertAlmostEquals(dot_product, 1.0, delta=0.1)
Esempio n. 2
0
    def test_generate_points_from_circle_model_center_at_0_0_radius_10(self):
        center_x = 0
        center_y = 0
        radius = 100.0
        distance = 5
        model = CircleModel(center_x, center_y, radius)
        points = CircleModel.generate_points_from_circle(model,
                                                         distance=distance)
        pt: Point
        for pt in points:
            distance_from_center = math.sqrt((pt.X - center_x)**2 +
                                             (pt.Y - center_y)**2)
            self.assertAlmostEqual(distance_from_center, radius, 2)

        #compare distance
        for index in range(1, len(points)):
            point1 = points[index]
            point2 = points[index - 1]
            actual_distance = Point.euclidean_distance(point1, point2)
            self.assertAlmostEqual(distance, actual_distance, delta=2)