求解比例未知数、化简比例、黄金比例、宽高比计算
黄金比例是数学中一个独特的比例,存在于自然、艺术和建筑中。将整体分为两部分,较大部分与较小部分之比等于整体与较大部分之比。
比例计算器是一款用于计算和验证数学比例关系的在线工具。比例(ratio)是两个数之间的比较关系,在数学、设计、摄影、工程等领域中无处不在。在前端开发中,比例计算尤为重要:响应式设计中的宽高比(16:9、4:3)、黄金比例布局(1:1.618)、栅格系统中的列间距比例、图片裁剪的纵横比等。本工具支持以下计算:已知比例和部分值求未知值(如 3:5 = x:20,求 x)、比例化简(如 12:8 → 3:2)、比例验证(判断两组数是否成比例)、以及多个数的比例分配(如按 2:3:5 分配 100)。工具实时显示计算过程和结果,帮助开发者和设计师快速完成各种比例相关的计算。
当设计稿中图片宽度为 800px、比例为 16:9 时,快速计算高度为 450px。修改宽度为 640px 后,按比例重新计算高度为 360px。保持宽高比是避免图片变形的基本要求。
黄金比例 1:1.618 被广泛应用于视觉设计中。使用比例计算器可以快速算出符合黄金比例的主内容和侧边栏宽度。例如容器总宽 960px,按 1:1.618 分配,侧边栏约为 366px,主内容约为 594px。
项目预算或人力资源需要按部门比例分配。例如总预算 100 万,按开发:设计:测试 = 5:3:2 的比例分配,工具立即算出各部分分别为 50 万、30 万、20 万。
比例计算的核心数学原理是交叉相乘和最大公约数(GCD)。判断 A:B = C:D 是否成立,验证 A×D = B×C。求比例中的未知值:已知 A:B = C:x,则 x = B×C/A。化简比例使用欧几里得算法求 GCD:gcd(a,b),然后将两个数都除以 GCD。比例分配:按 a:b:c 分配总量 S,各部分分别为 S×a/(a+b+c)、S×b/(a+b+c)、S×c/(a+b+c)。
// 最大公约数(欧几里得算法)
function gcd(a, b) { return b === 0 ? a : gcd(b, a % b); }
// 比例化简
function simplifyRatio(a, b) {
const d = gcd(a, b);
return [a/d, b/d];
}
// 按比例分配总量
function distribute(total, ...ratios) {
const sum = ratios.reduce((a, b) => a + b, 0);
return ratios.map(r => total * r / sum);
}
// 示例
simplifyRatio(24, 36); // [2, 3]
distribute(100, 2, 3, 5); // [20, 30, 50]
A>使用最大公约数(GCD)。例如 24:36,GCD(24,36)=12,两边除以 12 得到 2:3。这就是最简比例。GCD 使用欧几里得算法高效计算,时间复杂度 O(log(min(a,b)))。
A>现代 CSS 使用 aspect-ratio: 16/9 属性。兼容方案使用 padding-top 技巧:.container { height: 0; padding-top: 56.25%; }(9/16×100=56.25%)。内部元素使用 position: absolute 填满容器。
A>3:2(=1.5)是传统摄影比例,常见于单反相机和 iPad。16:9(≈1.78)是宽屏视频标准(1920×1080、3840×2160)。4:3(=1.33)是传统显示器比例。选择哪个比例取决于内容类型和目标设备。
A>交叉相乘法:A:B = C:D 当且仅当 A×D = B×C。例如验证 6:9 = 4:6,计算 6×6=36 和 9×4=36,相等则比例成立。本工具的"比例验证"模式自动执行此检查。
A>依次求所有数的 GCD。例如 12:18:24,先 GCD(12,18)=6,再 GCD(6,24)=6,所有数除以 6 得到 2:3:4。对于小数比例,先统一乘以 10 的幂次转为整数再化简。