def _get_center_pos(self): """ Return position in the centre of middle segment of a line. Angle of the middle segment is also returned. """ p0, p1 = middle_segment([h.pos for h in self.handles()]) pos = (p0.x + p1.x) / 2, (p0.y + p1.y) / 2 angle = atan2(p1.y - p0.y, p1.x - p0.x) return pos, angle
def get_center_pos(points, inverted=False): """ Return position in the centre of middle segment of a line. Angle of the middle segment is also returned. """ h0, h1 = middle_segment(points) pos = (h0.pos.x + h1.pos.x) / 2, (h0.pos.y + h1.pos.y) / 2 angle = atan2(h1.pos.y - h0.pos.y, h1.pos.x - h0.pos.x) if inverted: angle += pi return pos, angle