Algorithm 如何在边界框中平移和缩放点?
我有许多p点,形式为Algorithm 如何在边界框中平移和缩放点?,algorithm,math,point,pseudocode,bounding-box,Algorithm,Math,Point,Pseudocode,Bounding Box,我有许多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 - 50
(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
为负数时,这将不起作用
我还想保持点的“形状”