# EVOLVE-BLOCK-START import numpy as np def hexagon_packing_11(): """ Constructs a packing of 11 disjoint unit regular hexagons inside a larger regular hexagon, maximizing 1/outer_hex_side_length. Returns inner_hex_data: np.ndarray of shape (11,3), where each row is of the form (x, y, angle_degrees) containing the (x,y) coordinates and angle_degree of the respective inner hexagon. outer_hex_data: np.ndarray of shape (3,) of form (x,y,angle_degree) containing the (x,y) coordinates and angle_degree of the outer hexagon. outer_hex_side_length: float representing the side length of the outer hexagon. """ n = 11 # Simple grid arrangement of inner hexagons inner_hex_data = np.array( [ [0, 0, 0], # center [-2.5, 0, 0], # left [2.5, 0, 0], # right [-1.25, 2.17, 0], # top-left [1.25, 2.17, 0], # top-right [-1.25, -2.17, 0], # bottom-left [1.25, -2.17, 0], # bottom-right [-3.75, 2.17, 0], # far top-left [3.75, 2.17, 0], # far top-right [-3.75, -2.17, 0], # far bottom-left [3.75, -2.17, 0], # far bottom-right ] ) outer_hex_data = np.array([0, 0, 0]) # centered at origin outer_hex_side_length = 8 # large enough to contain all inner hexagons return inner_hex_data, outer_hex_data, outer_hex_side_length # EVOLVE-BLOCK-END