sexta-feira, 4 de outubro de 2013

Tartarugas e Geometria

Durante as aulas vimos como podíamos usar o módulo turtle para desenhar polígonos regulares. Em particular partimos das soluções para triângulos, quadrados e pentágonos:
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)
e ao analisar o código para cada caso verificamos que todos têm em comum o facto de o produto do número de lados pelo ângulo de viragem ser sempre igual a 360. E terá que ser sempre assim para um polígono regular! Então podemos generalizar a nossa solução:

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