Multi Fans uses the geometric fact that a hexagon is surrounded snugly by six similarly sized ones. The image also utilizes the Python feature that allows an S form starting from a tip of a line and ending on the other to create 2 color-filled regions when "fillcolor" is used
Feel free to copy the basic Python Turtle code that is given below. Don't hesitate to write comments or ask questions about the code if you have any. Enjoy! Please comment, like, or subscribe :)
import turtle
t = turtle.Turtle() #Definitions and Initializations
screen = turtle.Screen()
t.pensize(4)
blade_length = 95
def fan(): #Steps to draw a fan
for i in range(3): #For 3 pairs of blades in a pan
t.penup()
t.backward(blade_length) #Trail-less movement of turtle to starting point of drawing
t.fillcolor("green") #Start of green filling procedure for one pair of blades
t.begin_fill()
t.pendown()
t.forward(2 * blade_length) #Straight line for one pair of blades
t.left(120) #Turtle direction to start S pattern for 1 pair of blades
t.circle((1 / 3) * blade_length * (3 ** (1 / 2)), 120) #First arc in S pattern
t.circle(-(1 / 3) * blade_length * (3 ** (1 / 2)), 120) #Second arc in S pattern
t.end_fill() #End of green filling procedure for same pair of blades
t.right(120) #Turtle rotation to align with line for drawn pair
t.penup()
t.forward(blade_length) #Trail-less movement of turtle to center of drawn line
t.right(60) #Turtle rotation to prepare for next pair of blades
t.pendown() #Start of drawing for next pair of fan blades
fan() #Python_Graphic start of drawing; Fan() call to draw a central fan
t.right(180) #Turtle rotation to starting point of a border fan
t.penup()
for i in range(6): #For 6 full fans bordering the central one
t.forward(2.1 * blade_length) #Trail-less movement of turtle to a border fan
t.pendown()
fan() #Function call to draw a fan bordeing the central one
t.penup()
t.forward(2.1 * blade_length) #Trail-less return of turtle to center of central fan
t.setheading(60 + i * 60) #Turtle rotation to draw next border fan
t.hideturtle()
screen.exitonclick()