Esempio n. 1
0
    def reverse_equal_line(self, arc_a, arc_b):
        i_a, j_a = arc_a[0], arc_a[1]
        i_b, j_b = arc_b[0], arc_b[1]

        if i_a - j_a != i_b - j_b:
            return False

        while i_a <= j_a:
            if not equal_point(self.coordinates[i_a], self.coordinates[j_b]):
                return False
            else:
                i_a += 1
                j_b -= 1

        return True
Esempio n. 2
0
    def reverse_equal_ring(self, arc_a, arc_b):
        i_a, j_a = arc_a[0], arc_a[1]
        i_b, j_b = arc_b[0], arc_b[1]
        n = j_a - i_a

        if n != j_b - i_b:
            return False

        k_a = self.find_minimum_offset(arc_a)
        k_b = n - self.find_minimum_offset(arc_b)

        for i in range(n):
            if not equal_point(self.coordinates[i_a + (i + k_a) % n],
                               self.coordinates[j_b - (i + k_b) % n]):
                return False

        return True
Esempio n. 3
0
 def equal_index(self, i, j):
     return equal_point(self.coordinates[i], self.coordinates[j])