我有这个数学问题。我需要知道这样的公式:
50% of (x) = 150% of 70
100% of (x) = 100% of 70
150% of (x) = 50% of 70
200% of (x) = 25% of 70
...
这似乎很容易,但我仍然坚持这个小问题。请注意,(x)
是一个变量,与此计算无关。
有关详细信息,请计算图像的偏移量。偏移量需要相对于调整大小。这是一个例子(宽度测试是1920px,原始偏移是70px):
50% of 1920 = 150% of 70 = 105
100% of 1920 = 100% of 70 = 70
150% of 1920 = 50% of 70 = 35
200% of 1920 = 25% of 70 = 17,5
...
最终的代码是javascript。
*编辑*
事实上,我只需要了解如何增加一个值,同时以同步的方式减少另一个值。
...
25% ==> 200%
50% ==> 150%
100% ==> 100%
150% ==> 50%
200% ==> 25%
...
有渲染(对不起它快速制作)
事实上,对于我的计算," 70"是一个常数。我的图像越大(> 100%),我的偏移量就越小。这也适用于倒置情况(我的图像小于< 100%,我的偏移量需要更大)。
答案 0 :(得分:0)
如果你需要找到x等于(通常用于方程式): 70/100 * 50(即我们计算70%的150%)/ 50(这是x的1%)* 100
UPD:基于更多评论,我认为您最好使用一些硬编码值而不是计算值。
var myPercentage = 0;
if (initPercentage <= 50) {
myPercentage = 150;
} else if (initPercentage > 50 and initPercentage <= 100) {
...
}
答案 1 :(得分:0)
我担心它至少不是一个线性方程式:
function test(x){return x*-1 + 200}
alert(test(50)) // okay 150
alert(test(100)) // okay 100
alert(test(150)) // okay 50
alert(test(200)) // wrong 0
答案 2 :(得分:0)
你有一个基本的数学问题:
a% * x = b% * 70
求解x,首先展开术语(*和/的顺序在这里不重要):
a * x / 100 = b * 70 / 100
将两边乘以100
a * x = b * 70
将双方划分为:
x = b * 70 / a
所以现在给出a和b你可以解决x。设a = 50
和b = 150
,然后:
x = 150 * 70 / 50
x = 210
测试:70%的150 = 105和50%的210 = 105,所以它有效。
但是那么你有:
100% of (x) = 100% of 70
表示x == 70
,这是不一致的,然后是:
150% of (x) = 50% of 70
表示x = 23.33333333
,这又是不一致的。
你可以做一个最小二乘的解决方案来计算出x的最佳值,但是这些值可能会如此广泛地传播,因此没什么用。
答案 3 :(得分:0)
是的..我解决了我的问题,但我的逻辑错了。对不起。 我用Excel来找到我的公式。