【发布时间】:2011-02-02 11:45:07
【问题描述】:
这更像是一个数学问题。尽管如此,我正在寻找伪代码中的算法来解决它。
给定的是一个一维坐标系,有多个点。点的坐标可能是浮点数。
现在我正在寻找一个缩放此坐标系的因子,以便所有点都在固定数字上(即整数坐标)
如果我没记错的话,这个问题应该有解决方案,只要点数不是无限的。
如果我错了并且这个问题没有解析解,我对尽可能接近解的算法感兴趣。 (即坐标看起来像 15.0001)
如果您对具体问题感兴趣: 我想克服 adobe flash 中众所周知的像素捕捉问题,如果整个舞台被缩放,它会在位图的边界处切割半像素。我想找到一个理想的舞台比例因子,使我的位图被放置在整个(屏幕)像素坐标上。
由于我在舞台上放置了两个位图,因此每个方向 (x,y) 上的点数将为 4。
谢谢!
【问题讨论】:
-
没有通用的解决方案,例如无理数。
-
@Jaime Pardos:但无理数不能表示为(有限)浮点数,这似乎是他所拥有的。 @OP:一般但实际上可能很愚蠢的解决方案是将浮点数表示为整数的分数,直到达到所需的精度。那么你的比例因子就是所有分母的乘积。
-
谢谢,是的,让我们排除这个问题的无理数