我有许多实数形式的点P。我想在边界框(矩形)内平移和缩放所有这些点,该边界框从点(左上角)开始并延伸到点(右下角)。(x, y)
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
我还想保持点的“形状”。