sexta-feira, 23 de fevereiro de 2024

Geometry (corrigido)


Devido a (justas) reclamações sobre o perímetro da elipse, o Zé Oliveira corrigiu o programa Geometry.

Os utilizadores do fórum da página Spectrum Computing estão muito atentos ao que se passa no blogue Planeta Sinclair e detectaram um erro no programa.

O Zé Oliveira cometeu o erro de pegar em 2*pi*sqrt((R^2+r^2)/2) e simplificar para pi*sqrt(R^2+r^2). Visto de longe parece certo, mas se examinarmos ao microscópio vemos que aparece um grande e feio bug.

Lembramos que não existe uma fórmula simples para o perímetro da elipse. Para os curiosos, eis algumas aproximações (desde a menos precisa até à mais precisa):

Aproximação 1:
P1 = pi*(R+r)
P1 = pi*(34+12) = 144.5

Aproximação 2:
P2 = 2*pi*sqrt((R^2+r^2)/2)
P2 = 2*pi*sqrt((34^2+12^2)/2) = 160.19


Aproximação 3:
P3 = (P1+P2)/2
P3 = (144.5+160.19) = 152.345

Esta já é uma aproximação razoável. Mas existem melhores aproximações...

Aproximação 4:
P4 = pi*(3*(R+r)−sqrt((3*R+r)*(R+3*r)))
P4 = pi*(3*(34+12)−sqrt((3*34+12)*(34+3*12))) = 152.8987


Aproximação 5:
L = (R-r)/(R+r)
P5 = pi*(R+r)*(1+(3*L^2)/(10+sqrt(4-3*L^2)))
P5 = pi*(34+12)*(1+(3*((34-12)/(34+12))^2)/(10+sqrt(4-3*((34-12)/(34+12))^2))) = 152.9026

Poderão aqui ver online o programa.

Se preferirem, podem aqui descarregá-lo.

Sem comentários:

Enviar um comentário