7. Teselación hexagonal: Panal de abejas

Descripción
En este proyecto, exploro la teselación hexagonal, mostrando cómo se forma un panal de abejas. Es una forma perfecta de introducir a los estudiantes en conceptos de simetría, teselación y sus aplicaciones en la naturaleza.
Vídeo
Ventana PyGgb
Código fuente Python
# ------ · ------ · ------ MatemáTICas: 1,1,2,3,5,8,13,... ------ · ------ · ------ # # Librerías import math import time import random # # time.sleep(2) print(" ------ · MatemáTICas: 1,1,2,3,5,8,13,... https://matematicas11235813.luismiglesias.es · ------ ") print(" Teselación hexagonal. Panal de abejas ") print(" Luis M. Iglesias @luismiglesias 11/01/2024 ") print("------ · ------ · ------ · ------ · --- Geogebra + Python #pyggb --- · ------ · ------ · ------ · ------") # Paleta de colores #paleta_de_colores= ['aqua','azure','blue','cyan','coral','gold','green','grey','lightgrey','magenta','maroon','olive','orange','pink','purple','red','skyblue','violet'] paleta_de_colores= ['aqua','azure','blue','cyan','coral','gold','green','magenta','maroon','olive','orange','pink','purple','red','skyblue','violet'] # Configuración print(" --> Iniciando la construcción") #print(" --> Iniciando la construcción:", time.ctime(time.time())) time.sleep(1) inf_izq=Point(-5000, -5000,is_visible=False) inf_der=Point(5000, -5000,is_visible=False) fondo=Polygon(inf_izq,inf_der,4) fondo.color='black' fondo.opacity=0 time.sleep(1) def teselacion_hexagonal(x_inicio,y_inicio,lado_hexagono,color_teselacion,num_columnas): distancia_entre_hexagonos=lado_hexagono+(lado_hexagono/2) apotema_hexagono=math.sqrt(math.pow(lado_hexagono,2)-math.pow(lado_hexagono/2,2)) altura_hexagono=2*apotema_hexagono print(f" Teselación compuesta por",num_columnas, "x", num_columnas,"=", int(math.pow(num_columnas,2)),"hexágonos regulares de lado", lado_hexagono, "u.") for i in range(0,num_columnas): #print(f"i=",i) #print(f"resto=",i%2) if i%2==0: for j in range(0,num_columnas): punto_aux_1=Point(x_inicio+i*distancia_entre_hexagonos,y_inicio+j*altura_hexagono,is_visible=False) punto_aux_2=Point(x_inicio+i*distancia_entre_hexagonos+lado_hexagono,y_inicio+j*altura_hexagono,is_visible=False) hexagono_aux=Polygon(punto_aux_1,punto_aux_2,6) hexagono_aux.color=color_teselacion #4 #fondo.color='white' #hexagono_aux.color='blue' #5 hexagono_aux.color=random.choice(paleta_de_colores) hexagono_aux.line_thickness=8 time.sleep(0.001) else: for j in range(0,num_columnas): punto_aux_1=Point(x_inicio+i*distancia_entre_hexagonos,y_inicio+(2*j+1)*altura_hexagono/2,is_visible=False) punto_aux_2=Point(x_inicio+i*distancia_entre_hexagonos+lado_hexagono,y_inicio+(2*j+1)*altura_hexagono/2,is_visible=False) hexagono_aux=Polygon(punto_aux_1,punto_aux_2,6) hexagono_aux.color=color_teselacion #4 #fondo.color='white' #hexagono_aux.color='red' #5 hexagono_aux.color=random.choice(paleta_de_colores) hexagono_aux.line_thickness=8 time.sleep(0.001) ''' color_teselacion=random.choice(paleta_de_colores) teselacion_hexagonal(-10,10,1,color_teselacion,5) teselacion_hexagonal(10,10,1,color_teselacion,5) teselacion_hexagonal(10,-10,1,color_teselacion,5) teselacion_hexagonal(-10,-10,1,color_teselacion,5) teselacion_hexagonal(0,0,1,color_teselacion,5) ''' ''' #1 color_teselacion='purple' teselacion_hexagonal(0,0,1,color_teselacion,5) ''' ''' #2 zoom- color_teselacion='blue' teselacion_hexagonal(-8,-3,2,color_teselacion,5) ''' ''' #3 y dentro #4 y #5 fondo.opacity=1 color_teselacion='gold' teselacion_hexagonal(5,5,1,color_teselacion,8) ''' #''' #6 va con 5 dentro fondo.color='black' fondo.opacity=1 color_teselacion=random.choice(paleta_de_colores) teselacion_hexagonal(-10,10,0.8,color_teselacion,6) teselacion_hexagonal(10,10,0.8,color_teselacion,6) teselacion_hexagonal(10,-10,0.8,color_teselacion,6) teselacion_hexagonal(-10,-10,0.8,color_teselacion,6) teselacion_hexagonal(0,0,0.8,color_teselacion,6) #''' print(" --> Construcción finalizada") print("------ · ------ · ------ · ------ · --- Geogebra + Python #pyggb --- · ------ · ------ · ------ · ------") print("") print("") ''' # ------ · ------ · --- Geogebra + Python --- · ------ · ------ #

Information: 7. Teselación hexagonal: Panal de abejas