<分区>
给定两个浮点值 zoomAmount
和 zoomFactor
,我需要计算一个 newZoomAmount
这样:
(newZoomAmount <= zoomAmount) && (newZoomAmount == pow( zoomFactor, i ))
对于任何整数i
。我可以轻松地循环遍历值或通过表进行二进制搜索来找到答案。然而:是否有一个封闭的形式来完成这个?
动机:zoomFactor
为 2⅕ ≅ 1.148698354997035
,这样每 5 个“放大”事件结果正好是 2 的幂增加。当缩放图表以适应屏幕时,我希望缩放级别是这些凹口之一,以便缩小最终准确地落在“基本”1.0 缩放级别上。