绘图工具
数学数据
无可用曲线数据
关于内接正方形查找器
数学基础
鞋带公式
我们使用鞋带公式(也称为测量员公式)来计算曲线形成的多边形面积:
其中 (xi, yi) 是多边形第i个顶点的坐标。
算法实现
查找内接正方形
该算法使用蒙特卡洛方法,在曲线内尝试随机点以找到最大的内接正方形。
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;
}
该算法使用蒙特卡洛方法,在曲线内尝试随机点以找到最大的内接正方形。
查找外接正方形
该算法找到曲线的边界框并创建一个完全包围它的正方形。
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 },
];
}
该算法找到曲线的边界框并创建一个完全包围它的正方形。
介绍
欢迎使用内接正方形查找器,这是一个探索几何学和数学猜想迷人世界的交互式工具。
这个应用程序允许你绘制闭合曲线并在其中发现内接正方形,为一个世纪以来的数学问题带来生动的体验。
关键概念
闭合曲线
闭合曲线是平面上的连续环,如圆或任何起点和终点相同的形状。
内接正方形
内接正方形是完全适合闭合曲线内部的正方形,其四个角都接触曲线。
外接正方形
外接正方形是完全包围闭合曲线的最小正方形。
面积计算
曲线和正方形的面积使用高级几何算法计算。
曲线长度
曲线周围的总距离,以千像素为单位测量。
如何使用
1
从工具栏中选择绘图工具。
2
在画布上绘制闭合曲线。
3
点击 查找内接正方形 以定位内接正方形。
4
点击 查找外接正方形 以找到包围正方形。
5
查看曲线和正方形的数学数据。
6
使用 清除 按钮重新开始绘制新曲线。
7
尝试不同的形状并比较结果!
进一步探索
内接正方形问题为数学探索开辟了许多途径:
研究完美圆形曲线产生内接正方形的频率。
探索更高效地查找内接正方形的不同算法。
研究曲线面积与其内接正方形之间的关系。
考虑这个问题如何扩展到三维空间中的内接立方体。
祝您探索愉快,愿您的数学好奇心永不停息!
由墨西哥网页开发者路易斯创建
查看源代码