O método da exaustão para encontrar a área do círculo

O método da exaustão foi desenvolvido nos tempos de Eudoxo e Arquimedes. Este post visa mostrar a ideia geral do método. Os gregos antigos tinham uma noção bastante forte de geometria, e por isso, é bastante lúdico entender o raciocínio.

Como calcular a área de um círculo, ou de alguma outra forma complicada? Uma resposta é aproximar por algo mais simples, como um triângulo ou um quadrado.

O maior quadrado possível que cabe dentro de um círculo é o quadrado inscrito.

O menor quadrado possível em que o círculo cabe dentro é o quadrado circunscrito.

Assumindo que o raio é igual a 1, para facilitar, a área do círculo vai estar entre 2 e 3,31 (demonstração nos capítulos seguintes abaixo).

Mas o quadrado é muito diferente do círculo. Não dá para melhorar?

Que tal utilizar um pentágono?

A aproximação melhorou um pouco, entre 2,38 e 3,25 (hoje sabemos que a área é pi*r^2, se o raio é 1, a área é pi = 3.1415…)

Podemos continuar crescendo o número de lados do polígono.

Digamos, 6 lados (hexágono):

10 lados:

15 lados:

Quanto maior o número de lados, o polígono regular é mais parecido com o círculo.

Repetindo o procedimento, até a exaustão (daí o nome), podemos chegar ao valor de pi com a precisão desejada.

Os gregos utilizaram técnica semelhante para calcular área de diversas outras formas, e também o volume de esferas e outros sólidos.

O método acima tem pouca álgebra e muita geometria e é uma espécie de precursor do cálculo integral.

Mexa na versão web em https://asgunzi.github.io/MetodoExaustao/index.html

É possível utilizar o Excel para traçar os polígonos acima, embora seja um pouco mais avançado (utilizando VBA).

O desenho utiliza apenas retas e círculos, o que facilita bastante.

Em essência, para adicionar uma linha, só é necessário saber as coordenadas iniciais (x1,y1) e finais (x2,y2).

ActiveSheet.Shapes.AddLine(x1, y1, x2, y2)

O número de lados N do polígono regular vai dividir o círculo em N, mostrado acima como bolinhas amarelas.

Se uma volta completa é igual a 360 graus (2*pi), o ângulo theta entre dois pontos é de 2*pi/N.

As coordenadas do ponto i são (r*cos(theta_i), r*sin(theta_i)), com theta_i = i*2*pi/N.

O código final envolve vários outros detalhes, porém, a essência está descrita acima.

For i = 1 To nlados

    theta = 2 * i * pi / nlados + theta0

    x1 = cx0 + raio * Math.Sin(theta)

    y1 = cy0 + raio * Math.Cos(theta)

theta = 2 * (i + 1) * pi / nlados + theta0

    x2 = cx0 + raio * Math.Sin(theta)

    y2 = cy0 + raio * Math.Cos(theta)

    plotaLinha "FrmRef", x1, y1, x2, y2, r, g, b

Next i

Para calcular a área, utilizar geometria novamente.

Se o lado do polígono é igual a x, e a altura do triângulo h, temos um triângulo retângulo h – x/2 – r.

Lembrando que o raio do círculo é conhecido.

O ângulo é theta = 360 / N.

Fazendo as contas, a área do polígono inscrito é N/2 * sin(2*pi/N).

A área do polígono circunscrito é 2*N*tan(pi/(2*N)).

Há um erro lógico aqui no exercício. Utilizei o conhecimento moderno de trigonometria para calcular a área – e tal conhecimento utiliza explicitamente o pi, que era justamente o que Eudoxo e Arquimedes queriam descobrir. Porém, para efeito de ilustração, imagino que seja suficiente.

Versão web em https://asgunzi.github.io/MetodoExaustao/index.html

Para baixar o arquivo Excel e o código-fonte em Javascript:

https://github.com/asgunzi/MetodoExaustao

Vide também:

https://ideiasesquecidas.com/laboratorio-de-matematica/

Husky ou Lobo?

Um algoritmo de IA da Universidade de Washington conseguiu distinguir Lobos de Huskies, com 90% de acurácia! Um feito fantástico, considerando que são muito parecidos.

Os protocolos usuais, como separar dados de treinamento e de testes, tinham sido obedecidos, e por todas as métricas, o algoritmo era excelente.

Analisando a fundo, os pesquisadores descobriram a mágica. Ele estava reconhecendo a neve no fundo da foto. Se tinha neve, era lobo, se não tinha, era husky!

Nos modelos atuais, entramos com dados e resultados, e o que acontece lá dentro é uma caixa-preta. Hoje em dia, nem precisamos saber a matemática envolvida (infelizmente).

Uma foto de husky pode ser inofensiva, porém, imagine um carro autônomo que não reconhece pedestres com máscara e chapéu, por exemplo.

Por isso, precisamos evoluir para uma IA Explicável, a fim de entender o que está acontecendo, estabelecer relações causais e colocar restrições além do que é possível no método caixa-preta.

Este foi um dos temas discutidos no Informs 2020, que acontece on-line essa semana.

As curvas do espirógrafo e as órbitas dos planetas

Comprei um espirógrafo, para analisar melhor as curvas que este produz (são diferentes das que eu tinha feito antes).

Segue a implementação descrita a seguir, em versão web: https://asgunzi.github.io/Espirografos/.

Espirógrafo desenhos geométricos hipotroclóides e epitroclóides

Fiz algumas figuras para entender a lógica deste – vide o scan abaixo.

Esquematicamente, imagine um círculo menor rodando dentro de um círculo maior.

Além disso, dentro do círculo menor, escolho a posição do ponto onde coloco a caneta, representada pelo círculo vermelho abaixo.

A posição inicial do círculo menor é dada pelo círculo verde abaixo.

O raio do círculo maior é R, o do círculo menor que roda dentro do círculo maior é r2.

A posição da caneta pode ser descrita por um raio r3, e um ângulo lambda em relação ao centro do círculo menor no início da rotação.

Imagine que o círculo menor rodou um ângulo theta em relação ao círculo maior.

A posição do CENTRO do círculo menor vai ser dada pelas equações da figura – até agora, nenhuma novidade, são equações de um círculo.

A posição inicial do círculo, em verde, mudou, porque girou com o círculo.

O ângulo phi, do deslocamento da posição inicial, é obtido notando que o arco da circunferência maior tem a mesma dimensão do arco da circunferência do círculo menor.

Um arco de circunferência é dado por R*ângulo, onde o ângulo é medido em radianos.

Assim, R*theta = r2*phi.

Ou seja, phi = R*theta / r2.

Se o raio menor r2 for pequeno, phi é maior, ou seja, vai ter que girar mais vezes para chegar ao mesmo ponto.

Agora, finalmente, temos que encontrar a posição da caneta (a bola vermelha). Lembrando, ela estava a um ângulo lambda da posição inicial, e num raio r3.

Portanto, o ângulo até o ponto de tangência entre os dois círculos é (phi – lambda), onde phi = R*theta / r2.

As equações finais têm que levar em consideração a posição inicial do círculo maior, o centro do círculo menor, e a rotação descrita acima.

X = x0 + (R-r2)*Math.sin(theta)-r3*Math.sin(theta*R/r2 - phi));

Y = y0 + (R-r2)*Math.cos(theta)-r3*Math.cos(theta*R/r2 - phi));

Fiz a implementação utilizando a excelente biblioteca D3 de Javascript.

Para o raio maior, utilizei o valor arbitrário de 200. Os outros parâmetros são o raio menor (r2), a posição da caneta (r3) e o número de voltas que o círculo menor dá em torno do maior.

Seguem alguns resultados.

Com os parâmetros descritos, e 1 volta.

2 voltas:

Chega uma hora que não adianta mais dar voltas, que elas coincidem na mesma trajetória.

Outros exemplos:

Nota: o ângulo lambda foi desprezado, no final das contas, porque apenas desloca um pouco o ângulo, sem mudar o formato da figura.

Vide a implementação citada aqui: https://asgunzi.github.io/Espirografos/.

A dança das estrelas

As curvas desenhadas acima lembram as curvas que os planetas fazem no céu, vistos da Terra.

When the motion of the planets are charted as their so called ...

Imagine que a Terra é o círculo menor, girando ao redor do Sol, o círculo maior. A Terra também gira em torno de si mesma. Agora, um outro planeta, Vênus, também gira ao redor do Sol numa velocidade diferente.

Certamente, a equação dos planetas é muito mais complexa: é em três dimensões, as órbitas são elípticas, e o outro planeta gira em torno do Sol também. Porém, a ideia geral é mais ou menos semelhante: uma composição de rotações em torno de rotações de rotações, ora fazendo a posição aparente ir para frente, ora para trás, numa eterna dança celestial…

Trilha sonora: O segundo sol, Cássia Eller

“Quando o segundo sol chegar, para realinhar as órbitas dos planetas…”

Vide também:

https://ideiasesquecidas.com/2015/03/03/a-danca-de-afrodite/

https://ideiasesquecidas.com/2017/07/05/plutao-e-a-falacia-narrativa/

Como criar um quadrado mágico de qualquer tamanho

Quadrados mágicos são números arranjados numa grade, de tal forma que a soma das linhas, colunas e diagonais seja igual.

A questão de como criar diversos tipos de quadrados mágicos vem intrigado os matemáticos há séculos.

Magic Squares - history of chinese math squares as in book "The ...

Veremos neste tutorial, como criar um quadrado mágico de qualquer tamanho. Implementação em VBA e em Python disponível no Github.

Há três casos diferentes:

– quadrados mágicos ímpares,

– do tipo 4*n

– do tipo 4*n+2

Para cada caso, há um algoritmo diferente.


Caso 1: Quadrados mágicos ímpares

São os que têm número de lado ímpar (3, 5, 7, etc).

Começar colocando o 1 na célula superior do meio. Andar uma casa para a esquerda e uma para cima, para colocar o próximo número. Como o tabuleiro acaba, é como se ele desse a volta e colocasse o número no canto inferior.

Ir repetindo o passo acima, do número 2 para o 3.

Quando a casa em questão já estiver ocupada, como no caso abaixo,

… colocar o próximo número imediatamente abaixo da casa de referência.

Isso é suficiente para gerar qualquer quadrado mágico ímpar.

Ex. quadrado mágico 3×3:

Obs. Devido à simetria, tanto faz ir para a direita ou para a esquerda, no primeiro passo acima.

Padrão de cores: mais claro -> número maior, mais escuro, número menor.

Ex. Quadrado mágico 15×15:


Caso 2: Quadrados de ordem 4*n

Ou seja, quadrados de lado 4, 8, 12, 16, etc.

Colocar os números de 1 a 16 sequencialmente na grade.

Apagar os números da diagonal principal e da diagonal secundária:

Agora, imagine o grid preenchido sequencialmente, mas na ordem inversa:

Neste grid inverso, apagar todos os números que NÃO são das diagonais principal e secundária.

Juntar ambos os quadrados semi-preenchidos, e voilá, temos um quadrado mágico!

Para ordem 8, 12, é similar. É só imaginar um quadrado 8×8 sendo dividido em 4 quadrados 4×4, e para cada quadrado 4×4, aplicar o padrão acima.


Caso 3: Ordem 4*n+2

São quadrados com casas 6, 10, 14, etc, em que os algoritmos acima não funcionam.

Este caso é mais complicado.

A regra utilizada aqui é a LUX, desenvolvida por John Conway (o mesmo do Jogo da Vida).

Dividir o quadrado em grupos de quadrados 2×2.

Exemplo, um quadrado 6×6 pode ser visto como um grupo de 3×3 quadrados 2×2.

Para o grupo de quadrados, dividir assim:

  • Até a metade de linhas L
  • 1 linha de U
  • O restante de X

No exemplo de lado 6, não “cabe” a linha X, mas para casos maiores, sim.

Depois, inverter o L central com o U abaixo:

Note que o grupo de quadrados torna-se um quadrado de ordem ímpar (o primeiro algoritmo descrito).

L, U e X referem-se à padrões de preenchimento:

Portanto, o algoritmo é:

– A ordem de preenchimento é como no caso ímpar, para grupos de quadrados 2×2

– Dentro do quadrado 2×2, usar a regra LUX correspondente ao quadrado.

Exemplo: cubo 6×6

No exemplo acima, começo com 1 no meio na linha superior, que é padrão L:

O próximo número é 5, e o local dele é à direita e acima, conforme o algoritmo de lado ímpar. Esta casa corresponde ao padrão U.

O próximo número é o 9, à direita e acima. Agora, é o padrão L.

E assim sucessivamente.

Ex. Quadrado 10×10.

Utilizando os três algoritmos acima, é possível criar quadrados mágicos de qualquer tamanho, digamos 1000 x 1000.

Implementação em D3: https://asgunzi.github.io/QuadradoMagicoD3/index.html

Implementação em VBA e em Python disponível no Github.

Links:

https://en.wikipedia.org/wiki/Conway%27s_LUX_method_for_magic_squares

https://en.wikipedia.org/wiki/Siamese_method

https://ideiasesquecidas.com/laboratorio-de-matematica/

https://ideiasesquecidas.com/2016/03/09/quadrados-magicos-impares/

Laboratório de matemática

Separei na página a seguir alguns trabalhos interativos que envolvem a Rainha das Ciências.

https://ideiasesquecidas.com/laboratorio-de-matematica/


Desenhos com círculos

Utilizando apenas círculos, é possível criar padrões interessantes.

Brinque aqui: https://asgunzi.github.io/CirculosSVG/


Fibonacci Visual

Visualize a sequência de Fibonacci https://asgunzi.github.io/Fibonacci/


Cardioides

Conheça a curva cardioide, feita apenas de retas sobre um círculo: https://asgunzi.github.io/Cardioids/


Cardioides circulares

Brinque com cardioides feitas com círculos ao invés de retas: https://asgunzi.github.io/CircularCardioids/


O Jogo da Vida

Implementação do Jogo da Vida, em homenagem a John Conway – falecido vítima do Coronavírus.

Versão Excel: https://github.com/asgunzi/JogodaVidaExcel

Versão Python: https://github.com/asgunzi/JogoVidaPython


Jogo da Vida Hexagonal

Inspirado no Jogo da Vida normal, porém com células hexagonais.

https://github.com/asgunzi/HexGameLife


Fractais

Crie os seus próprios fractais de Mandelbrot no Excel: https://github.com/asgunzi/vbaMandelbrot


Estrela geométrica

Estrela feita de retas. Em Excel VBA: https://github.com/asgunzi/EstrelaGeometrica


O problema de Josephus

Quem sobra, no final? https://ferramentasexcelvba.wordpress.com/2019/08/09/sobre-o-problema-de-josephus/


Quantas bobinas cabem num conteiner?

https://ferramentasexcelvba.wordpress.com/2019/01/19/quantas-bobinas-cabem-num-conteiner/


SEND + MORE = MONEY

Como resolver computacionalmente este puzzle? https://ferramentasexcelvba.wordpress.com/2019/05/27/send-more-money/


Curva cicloide

Simulação de uma curva cicloide

https://ferramentasexcelvba.wordpress.com/2019/07/23/cicloide-em-excel-vba/

Preparados para o risco

 “Preparados para o risco”, do autor alemão Gerd Gigerenzer, nos ensina a questionar os números, e com isso, tomarmos boas decisões.

Quatro highlights abaixo.

1 – Pergunte pelo significado.

“Amanhã, tem 30% de chance de chuva”. O que isso significa?

O 30% pode ter várias interpretações. 30% do dia vai chover. Há chance 30% de alguma chuva. No estado todo, vai chover em 30% da área…

Sem uma clara definição, não dá para saber o significado.

Exemplo: As manchetes dos últimos dias dizem que “a taxa de isolamento está em 49% e o ideal é 70%, segundo o governo”. O número é calculado a partir de rastreamento de celulares.

Mas, o que significa essa taxa de isolamento?

Se eu ficar em casa o dia inteiro, mas der uma voltinha, vai contar que estou furando o isolamento ou não?

2 – Pergunte pelos números relativos e absolutos

O autor cita uma manchete espalhafatosa: “Segunda geração de pílula anticoncepcional aumenta casos de trombose em 100%”.

A informação acima levou uma geração inteira de mulheres a evitar a pílula (e assim, aumentar a chance de gravidez).

Investigando o caso a fundo, num universo de 7.000 mulheres, os casos de trombose tinham aumentado de 1 para 2! Realmente, era um aumento de 100% nos casos, porém, são tão poucos casos que não há significado estatístico na conclusão citada. Ou seja, não havia motivo algum para o pânico gerado.

Como diz uma piada, “Estatística é a arte de torturar os números até que eles confessem.”

3 – Regras de bolso podem ser úteis.

Num mundo cada vez mais complexo, as pessoas têm a impressão de que necessitamos de soluções igualmente sofisticadas. Porém, não há sistema que consiga levar em conta tantas incertezas de um número enorme de variáveis possíveis.

Nesses casos, heurísticas simples e robustas são mais eficazes. Exemplo. O avião que pousou no rio Hudson, em 2009, usou a regra do polegar. Fique de olho na torre, se ela sumir do para-brisa, não há como chegar à pista. Decidiram pousar no rio Hudson.  

Menos é mais. Faça o simples. Utilize regras simples em ambientes complexos.

Da mesma forma, não compre produtos financeiros que não entenda. 

4 – Falsos positivos e falsos negativos podem ocorrer.

Gigerenzer ensinou mais de 1000 médicos em sua carreira, e estima que 80% não entendem o que um exame médico positivo significa, por não entenderem o que é um falso positivo e um falso negativo.

Uma recomendação é refazer um exame diversas vezes, não acreditar puramente no primeiro resultado.

Uma consequência é a chamada “medicina defensiva”. Por receio de que os pacientes o processem, os médicos acabam tomando medidas superprotetoras, o que leva a procedimentos médicos desnecessários.

Uma heurística simples: Não perguntar ao médico o que fazer. Perguntar ao médico o que ele faria, se estivesse no seu lugar.

Conclusão: o livro apresenta questionamentos bastante válidos e cases interessantes. O mundo não sabe falar a linguagem dos riscos de forma adequada, e todos deveriam estudar mais o assunto.

Um exemplo final. Risco é diferente de incerteza. Para mensurar o risco (exemplo, risco de perder na loteria), tenho que ter um alto grau de certeza. Por outro lado, podemos estar despreocupados com o risco de algo incerto (digamos, uma epidemia mundial), até que, finalmente, esta acontece.

Agradecimento ao amigo Flávio Deganutti por me emprestar o livro e pelas discussões.


Links:

Link da Amazon para o livro https://amzn.to/3aqVxP2

A lógica do Cisne Negro

O “cubo torcido”

O “cubo torcido” é o da foto abaixo. Não sei se este é o nome oficial do mesmo, mas é exatamente um Rubik torcido.

O mesmo, bagunçado, fica assim:

Um pouco assustador, mas quase todos os algoritmos são idênticos ao Rubik 3x3x3.

Pré-requisito: saber resolver o 3x3x3.

O primeiro passo é arrumar o primeiro layer, que pode ser feito sem grande dificuldade.

A seguir, arrumar as peças de centro. Esta é a única grande diferença. No Rubik normal, a peça de centro é flat. Aqui, ela é torcida, ou seja, uma rotação errada vai bagunçar a mesma.

A seguir, arrumar as laterais do segundo layer. Aqui, outra ressalva.

Como a peça lateral é indistinguível se está de pé ou de cabeça para baixo, podemos descobrir, no final, uma paridade insolúvel.

Aí, saberemos que há uma das peças laterais de cabeça para baixo – é necessário tirar a peça (qualquer lateral serve) e colocar de novo, porém no sentido inverso.

O último layer começa a ser resolvido da forma usual. Aqui, há alguns métodos diferentes. Costumo arrumar as peças de canto para a posição correta, depois girar as mesmas para ficar na orientação correta.

Este é o exemplo de paridade impossível descrito acima. Quem mexe no Rubik, sabe que uma posição dessas nunca vai ocorrer. Neste caso, deve-se virar de cabeça para baixo alguma peça lateral do layer 2, e resolver tudo de novo.

Resolvendo tudo, fica assim:

Outro ângulo:

Este exemplo é outro tipo de paridade que ocorre no cubo torcido, mas não no Rubik (pela peça central ser flat). Alguns dos algoritmos do último layer podem girar a peça central do meio.

Para resolver, é mais ou menos simples. É só não usar o algoritmo que gira a peça central das laterais, que causa o efeito da foto. É necessário usar mais vezes os outros algoritmos, porém, é possível resolver.

Outro comentário é que as peças centrais dos layers de cima e de baixo (branco e amarelo), são flats – podemos aproveitar isto para jogar com a rotação desta peça.

Fica como exercício para o leitor, mapear e decidir a técnica a utilizar.

Este cubo, eu comprei pela Amazon Brasil. Mas é possível comprar direto da China, via AliExpress. Fora isso, já vi vendendo cubos assim no bairro da Liberdade, em São Paulo.

É um passatempo divertido, mas extremamente mais simples que o “ghost Rubik” do post https://ideiasesquecidas.com/2019/09/22/o-cubo-fantasma/

Outros cubos no link a seguir.

https://ideiasesquecidas.com/cubos-magicos/

Ideias técnicas com uma pitada de filosofia

https://ideiasesquecidas.com