Geavanceerde Ingeschreven Vierkanten Zoeker

Tekengereedschap

Wiskundige Gegevens

Geen curvegegevens beschikbaar

Over de Ingeschreven Vierkanten Zoeker

Wiskundige Grondslagen

Vetersluiting Formule

We gebruiken de vetersluiting formule (ook bekend als de landmeterformule) om de oppervlakte van de veelhoek gevormd door de curve te berekenen:

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|

Waarbij (xi, yi) de coördinaten zijn van de i-de hoekpunt van de veelhoek.

Algoritme Implementatie

Het Ingeschreven Vierkant Vinden

Dit algoritme gebruikt een Monte Carlo-benadering, waarbij willekeurige punten binnen de curve worden geprobeerd om het grootste ingeschreven vierkant te vinden.

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;
}

Dit algoritme gebruikt een Monte Carlo-benadering, waarbij willekeurige punten binnen de curve worden geprobeerd om het grootste ingeschreven vierkant te vinden.

Het Uitgebreide Vierkant Vinden

Dit algoritme vindt het omsluitende kader van de curve en maakt een vierkant dat deze volledig omsluit.

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 },
  ];
}

Dit algoritme vindt het omsluitende kader van de curve en maakt een vierkant dat deze volledig omsluit.

Introductie

Welkom bij de Ingeschreven Vierkanten Zoeker, een interactief hulpmiddel dat de fascinerende wereld van geometrie en wiskundige vermoedens verkent.

Deze applicatie stelt je in staat om gesloten curves te tekenen en ingeschreven vierkanten erin te ontdekken, waardoor een eeuwenoud wiskundig probleem tot leven komt.

Kernconcepten

Gesloten Curves

Een gesloten curve is een continue lus in een vlak, zoals een cirkel of elke vorm die eindigt waar hij begint.

Ingeschreven Vierkanten

Een ingeschreven vierkant is een vierkant dat perfect past binnen een gesloten curve, waarbij alle vier de hoeken de curve raken.

Uitgebreide Vierkanten

Een uitgebreid vierkant is het kleinste vierkant dat de gesloten curve volledig omsluit.

Oppervlakteberekening

De oppervlakte van de curve en vierkanten wordt berekend met geavanceerde geometrische algoritmen.

Curvelengte

De totale afstand rond de curve, gemeten in kilopixels.

Hoe te Gebruiken

1

Selecteer een tekengereedschap uit de werkbalk.

2

Teken een gesloten curve op het canvas.

3

Klik op 'Vind Ingeschreven Vierkant' om een ingeschreven vierkant te lokaliseren.

4

Klik op 'Vind Uitgebreid Vierkant' om het omsluitende vierkant te vinden.

5

Bekijk de wiskundige gegevens voor je curve en vierkanten.

6

Gebruik de 'Wissen' knop om opnieuw te beginnen met een nieuwe curve.

7

Experimenteer met verschillende vormen en vergelijk de resultaten!

Verdere Verkenning

Het probleem van het ingeschreven vierkant opent vele wegen voor wiskundige verkenning:

Onderzoek hoe vaak perfect cirkelvormige curves ingeschreven vierkanten opleveren.

Verken verschillende algoritmen om ingeschreven vierkanten efficiënter te vinden.

Bestudeer de relatie tussen de oppervlakte van de curve en zijn ingeschreven vierkant.

Overweeg hoe dit probleem zich zou kunnen uitbreiden naar drie dimensies met ingeschreven kubussen.

Veel plezier met verkennen, en moge je wiskundige nieuwsgierigheid nooit ophouden!

Gemaakt door Luis, webontwikkelaar uit Mexico

Bekijk broncode