Localizador Avançado de Quadrados Inscritos

Ferramentas de Desenho

Dados Matemáticos

Nenhum dado de curva disponível

Sobre o Localizador de Quadrados Inscritos

Fundamentos Matemáticos

Fórmula do Cadarço

Usamos a fórmula do cadarço (também conhecida como fórmula do agrimensor) para calcular a área do polígono formado pela curva:

A=12i=1n1(xiyi+1+xny1)i=1n1(xi+1yi+x1yn)A = \frac{1}{2}\left|\sum_{i=1}^{n-1} (x_i y_{i+1} + x_n y_1) - \sum_{i=1}^{n-1} (x_{i+1} y_i + x_1 y_n)\right|

Onde (xi, yi) são as coordenadas do i-ésimo vértice do polígono.

Implementação do Algoritmo

Encontrando o Quadrado Inscrito

Este algoritmo usa uma abordagem de Monte Carlo, tentando pontos aleatórios dentro da curva para encontrar o maior quadrado inscrito.

function findInscribedSquare(curve) {
  const minX = Math.min(...curve.map(p => p.x));
  const maxX = Math.max(...curve.map(p => p.x));
  const minY = Math.min(...curve.map(p => p.y));
  const maxY = Math.max(...curve.map(p => p.y));

  let bestSquare = [];
  let maxSize = 0;

  for (let i = 0; i < 1000; i++) {
    const center = getRandomPointInside(curve);
    let low = 0;
    let high = Math.min(maxX - minX, maxY - minY);

    while (high - low > 1) {
      const mid = (low + high) / 2;
      const square = [
        { x: center.x - mid / 2, y: center.y - mid / 2 },
        { x: center.x + mid / 2, y: center.y - mid / 2 },
        { x: center.x + mid / 2, y: center.y + mid / 2 },
        { x: center.x - mid / 2, y: center.y + mid / 2 },
      ];

      if (square.every(p => isPointInside(p, curve))) {
        if (mid > maxSize) {
          maxSize = mid;
          bestSquare = square;
        }
        low = mid;
      } else {
        high = mid;
      }
    }
  }

  return bestSquare;
}

Este algoritmo usa uma abordagem de Monte Carlo, tentando pontos aleatórios dentro da curva para encontrar o maior quadrado inscrito.

Encontrando o Quadrado Estendido

Este algoritmo encontra a caixa delimitadora da curva e cria um quadrado que a engloba completamente.

function findExtendedSquare(curve) {
  const minX = Math.min(...curve.map(p => p.x));
  const maxX = Math.max(...curve.map(p => p.x));
  const minY = Math.min(...curve.map(p => p.y));
  const maxY = Math.max(...curve.map(p => p.y));

  const centerX = (minX + maxX) / 2;
  const centerY = (minY + maxY) / 2;
  const size = Math.max(maxX - minX, maxY - minY);

  return [
    { x: centerX - size / 2, y: centerY - size / 2 },
    { x: centerX + size / 2, y: centerY - size / 2 },
    { x: centerX + size / 2, y: centerY + size / 2 },
    { x: centerX - size / 2, y: centerY + size / 2 },
  ];
}

Este algoritmo encontra a caixa delimitadora da curva e cria um quadrado que a engloba completamente.

Introdução

Bem-vindo ao Localizador de Quadrados Inscritos, uma ferramenta interativa que explora o fascinante mundo da geometria e das conjecturas matemáticas.

Esta aplicação permite que você desenhe curvas fechadas e descubra quadrados inscritos dentro delas, dando vida a um problema matemático centenário.

Conceitos-Chave

Curvas Fechadas

Uma curva fechada é um loop contínuo em um plano, como um círculo ou qualquer forma que termina onde começa.

Quadrados Inscritos

Um quadrado inscrito é um quadrado que se encaixa perfeitamente dentro de uma curva fechada, com todos os quatro cantos tocando a curva.

Quadrados Estendidos

Um quadrado estendido é o menor quadrado que engloba completamente a curva fechada.

Cálculo de Área

A área da curva e dos quadrados é calculada usando algoritmos geométricos avançados.

Comprimento da Curva

A distância total ao redor da curva, medida em kilopixels.

Como Usar

1

Selecione uma ferramenta de desenho da barra de ferramentas.

2

Desenhe uma curva fechada na tela.

3

Clique em 'Encontrar Quadrado Inscrito' para localizar um quadrado inscrito.

4

Clique em 'Encontrar Quadrado Estendido' para encontrar o quadrado envolvente.

5

Veja os dados matemáticos da sua curva e quadrados.

6

Use o botão 'Limpar' para começar de novo com uma nova curva.

7

Experimente com diferentes formas e compare os resultados!

Exploração Adicional

O problema do quadrado inscrito abre muitos caminhos para exploração matemática:

Investigue com que frequência curvas perfeitamente circulares produzem quadrados inscritos.

Explore diferentes algoritmos para encontrar quadrados inscritos de forma mais eficiente.

Estude a relação entre a área da curva e seu quadrado inscrito.

Considere como este problema poderia se estender para três dimensões com cubos inscritos.

Boa exploração, e que sua curiosidade matemática nunca cesse!

Criado por Luis, desenvolvedor web do México

Ver código-fonte