import matplotlib.pyplot as plt import matplotlib.patches as patches import math def draw_star(ax,center_x,center_y,radius,color,rotation): degree=[72*i+rotation for i in range(5)] star_points=[(center_x+math.cos(math.radians(d))*radius,center_y+math.sin(math.radians(d))*radius) for d in degree] star_polygon=[ star_points[0],star_points[2], star_points[4],star_points[1], star_points[3],star_points[0] ] ax.add_patch(patches.Polygon(star_polygon,closed=True,color=color)) unit=0.5 width=30*unit height=20*unit fig,ax=plt.subplots(figsize=(width,height)) ax.set_xlim(0,width) ax.set_ylim(0,height) ax.axis('off') ax.add_patch(patches.Rectangle((0,0),width,height,linewidth=0,edgecolor='r',facecolor='r')) big_star_center_height=15*unit big_star_center_width=5*unit big_star_radius=3*unit draw_star(ax,big_star_center_width,big_star_center_height,big_star_radius,'yellow',90) small_stars_centers=[(10*unit,18*unit),(12*unit,16*unit),(12*unit,13*unit),(10*unit,11*unit)] small_star_radius=1*unit for cx,cy in small_stars_centers: rotation=math.degrees(math.atan2(big_star_center_height-cy,big_star_center_width-cx))-72 draw_star(ax,cx,cy,small_star_radius,'yellow',rotation) plt.show()
06-03
6013

01-26
7677

11-20
273

03-24
4634

10-20
4479

11-02
4840

01-01