def cut_off_vertex(self, index, alpha): new_angle = Edge.angle_points_orient( self.curr_polygon.next(), self.curr_polygon.prev(), self.curr_polygon.prev(2) ) alpha1 = self.curr_polygon.get_angle(index - 1) self.change_alpha(self.curr_polygon.prev(), alpha1, new_angle, self.curr_angles) new_angle = Edge.angle_points_orient( self.curr_polygon.next(2), self.curr_polygon.next(), self.curr_polygon.prev() ) alpha2 = self.curr_polygon.get_angle(index + 1) self.change_alpha(self.curr_polygon.next(), alpha2, new_angle, self.curr_angles) new_polygon = self.curr_polygon.split_indices(index - 1, index + 1) if len(self.curr_polygon) == 3: self.curr_polygon, new_polygon = new_polygon, self.curr_polygon self.triangles.append(new_polygon) self.save_triangle_points(new_polygon, len(self.triangles) - 1)