2 つの浮動小数点値zoomAmount
とが与えられた場合、次のようzoomFactor
に を計算する必要があります。newZoomAmount
(newZoomAmount <= zoomAmount) && (newZoomAmount == pow( zoomFactor, i ))
任意の整数i
。値を簡単にループしたり、テーブルを二分探索したりして、答えを見つけることができます。ただし、これを達成するための閉じたフォームはありますか?
動機:zoomFactor
は 2 ⅕</sup> ≅1.148698354997035
であるため、5 回の「ズームイン」イベントごとに、正確に 2 の累乗が増加します。ダイアグラムを画面に合わせてズームするとき、ズーム レベルをこれらのノッチのいずれかにして、ズーム アウトが最終的に「ベース」の 1.0 ズーム レベルに正確に到達するようにします。