segment_angle_rad = 2 * np.pi / circle_segments chord_length = calc_chord_length(.5, segment_angle_rad) newcenter = (.5 * chord_length, .5 * np.cos(segment_angle_rad / 2)) circle.center = newcenter[0], newcenter[1] line = ax.plot([0, chord_length], [0, 0], '.', color='yellow', markersize=15)[0] fig.savefig(os.path.join(figure_directory, 'fig2.png')) #%% # Roll the circle to the right, each time leaving an arc on the x-axis and # removing the arc from the circle. Repeat until circle is all used up. circle.theta1 = 270 - segment_angle_deg / 2 circle.theta2 = circle.theta1 for k in range(0, circle_segments - 1): arc = Arc(newcenter, 1, 1, 0, 270 - segment_angle_deg / 2, 270 + segment_angle_deg / 2, lw=clw, edgecolor=ccol) ax.add_patch(arc) newcenter = (newcenter[0] + chord_length, newcenter[1]) circle.theta2 = circle.theta2 - segment_angle_deg circle.center = newcenter