【发布时间】:2013-02-27 05:05:59
【问题描述】:
我有很多(x, y) 形式的点P,其中x,y 是实数。我想在一个边界框(矩形)内平移和缩放所有这些点,该边界框从点 (0,0)(左上角)开始延伸到点 (1000, 1000)(右下角)。
为什么下面的算法不会在那个边界框中产生点?
for Point p in P:
max = greatest(p.x, p.y, max)
scale = 1000 / max
for Point p in P:
p.x = (p.x - 500) * scale + 500
p.y = (p.y - 500) * scale + 500
我担心当p.x 或p.y 是负数时这将不起作用。
我也想保持点的“形状”。
【问题讨论】:
标签: algorithm math point pseudocode bounding-box