如何根据对数要求创建尺寸公式

时间:2017-10-09 12:08:03

标签: javascript css algorithm math

我正在创建一个UI,需要根据从中心离得越远的元素大小进行调整。

具体而言,其他元素来自中心,它们需要的越小。我将使用CSS var_dump(parse_url("www.abc.de/page2/#link1", PHP_URL_FRAGMENT)); 执行此操作。

距离单位是这样的:

transform: scale(x)

由于我使用的是0 (at the centre, no adjust needed) 1 2 3 4 ... and so on ,因此我需要将scale(x)转换为1, 2, 3, 4..等值,以便:

0.8, 0.65, 0.4, 0.25

这只是一个近似值,输出数字不需要精确,只是一条很好的曲线。

如何使用JavaScript完成此操作?我知道这是一个简单的数学问题,但我无法绕过它。

2 个答案:

答案 0 :(得分:0)

为什么不使用Math.exp(-x)。它会做的伎俩

答案 1 :(得分:0)

您可以选择任何数学函数并进行一些实验以获得正确的边界。

例如,让我们使用cos函数 cos(0)= 1; cos(pi / 2)= 0; 在这种情况下,将我们的长度和索引插值到pi / 2就可以了。

var calcScale = (index, length) => {
    let x = ((Math.PI/2) * index)/length;
    return Math.cos(x);
};