在对点进行某种缩放/放大时,我有以下转换。我的目标是根据这个比例计算偏移量。
我的问题是,当从大尺度变为小尺度时,我当然会有相同的偏移量。例如,如果我从 3 缩放到 4 并从 4 缩放到 3,则 3 的比例偏移应该始终相同。
但根据我的公式,它不是。而且我无法理解我做错了什么:
px = 200
offset = 0
scale: 1, and goes always +-1
基于forumla的计算:newOffset = oldOffset +- px / scale;
scale = 2 => offset = 0 + 200 / 2 = 100
scale = 3 => offset = 100 + 200 / 3 = 166,67
scale = 4 => offset = 166,67 + 200 / 4 = 216,67
如何恢复缩放?
scale = 3 => offset = 216,67 - 200 / 3 = 150 # //it should evaluate to 166,67