01.
import
turtle
02.
03.
def
quadrado(lado):
04.
""" Desenha um quadrado de lado."""
05.
for
i
in
range(
4
):
06.
turtle.forward(lado)
07.
turtle.left(
90
)
08.
09.
10.
def
triangulo(lado):
11.
""" Desenha um triangulo de lado."""
12.
for
i
in
range(
3
):
13.
turtle.forward(lado)
14.
turtle.left(
120
)
15.
16.
def
pentagono(lado):
17.
""" Desenha um pentagono de lado."""
18.
for
i
in
range(
5
):
19.
turtle.forward(lado)
20.
turtle.left(
72
)
1.
def
poligono(lado, num_lados):
2.
""" Desenha um poligono de num_lados ."""
3.
for
i
in
range(num_lados):
4.
turtle.forward(lado)
5.
turtle.left(
360
/
num_lados)
Com este programa podemos desenhar qualquer polígono regular. Podemos pensar agora em alterar a solução geral desfazendo a relação entre o número de lados, o ângulo de viragem e 360 graus. Isso envolve considerar o ângulo como um parâmetro adicional da definição:
1.
def
formas(lado, num_lados, angulo):
2.
""" Desenha sequências de segmentos eventualmente produzindo formas fechadas."""
3.
for
i
in
range(num_lados):
4.
turtle.forward(lado)
5.
turtle.left(angulo)
Testando diferentes configurações verificamos que para algumas de novo obtemos formas fechadas. Alguns exemplos.
1.
formas(
100
,
5
,
144
)
2.
formas(
100
,
8
,
135
)
3.
formas(
100
,
10
,
108
)
A razão para obtermos estas formas é simples: o produto do número de lados pelo ângulo de viragem é um múltiplo de 360!
Pode-se provar um teorema geral para qualquer forma fechada, seja polígono ou não: a soma dos ângulos de viragem ao longo da forma é sempre um múltiplo de 360. Será que o inverso é verdadeiro, ou seja, se a soma do ângulo de viragem for múltiplo de 360 graus então a forma é fechada? De um modo geral isto não é verdadeiro, embora seja verdadeiro para o caso das formas geradas pelo nosso programa formas.
Sem comentários:
Enviar um comentário