""" Si un pentágono regular, un hexágono regular y un decágono regular están inscritos en círculos congruentes, entonces las longitudes de sus lados forman un triángulo rectángulo La longitud del lado de un polígono regular de n lados es 2R sin(π/n) donde R es el radio del círculo que pasa por los vértices. Entonces, para demostrar que la razón entre el lado del hexágono y el lado del decágono es la proporción áurea φ, basta probar sen(π/6) / sen(π/10) = φ """ from numpy import exp, pi, arange import matplotlib.pyplot as plt # Vertices of a hexagon hexa = exp(2j * pi * arange(6) / 6) # Vertices of a decagon, shifted and rotated # to have a side perpendicular to the hexagon deca = exp(2j * pi * (0.5 + arange(10)) / 10) deca += hexa[1] - deca[5] # Shift and rotate a pentagon to share one vertex # with the hexagon and one vertex with the decagon omega = exp(2j * pi / 5) c = (hexa[2] * omega - deca[4]) / (omega - 1) penta = c + (hexa[2] - c) * exp(2j * pi * arange(5) / 5) def connect(p, q, c): plt.plot([p.real, q.real], [p.imag, q.imag], "-", color=c) plt.gca().set_aspect("equal") for n in range(-1, 5): connect(hexa[n], hexa[n + 1], "blue") for n in range(-1, 9): connect(deca[n], deca[n + 1], "green") for n in range(-1, 4): connect(penta[n], penta[n + 1], "red") plt.show()