-1

私はこの数学の問題を抱えています。このようなものを得るには、式を知る必要があります。

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% 未満で、オフセットを大きくする必要があります)。

4

4 に答える 4

0

次のような基本的な数学の問題があります。

a% * x = b% * 70

x について解くには、まず項を展開します (* と / の順序はここでは重要ではありません)。

a * x / 100 = b * 70 / 100

両辺を100倍する

a * x = b * 70

両辺を a で割る:

x = b * 70 / a

これで a と b が与えられ、x を解くことができます。a = 50と、次にb = 150

x = 150 * 70 / 50
x = 210

テスト: 70 の 150% = 105 および 210 の 50% = 105 なので、うまくいきます。

しかし、次のようになります。

100% of (x) = 100% of 70

これはx == 70、矛盾していることを意味し、次のことを意味します。

150% of (x) = 50% of 70

つまりx = 23.33333333、これも一貫性がありません。

x の最適な値を求めるために最小二乗法を実行することもできますが、値が広範囲に分散しているため、あまり役に立たない可能性があります。

于 2013-03-21T03:38:50.443 に答える
0

はい..問題は解決しましたが、ロジックが間違っていました。ごめんなさい。Excel を使用して式を見つけました。

于 2013-04-11T02:51:54.127 に答える
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 

http://jsfiddle.net/basarat/Skss2/

于 2013-03-21T03:38:26.060 に答える
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) { ... }

于 2013-03-21T03:24:08.127 に答える