我在屏幕上的设定XY位置有一个点(A)(例如x = 100,y = 200),我在屏幕上的随机XY位置有另一个点(B)(例如x = 50) ,y = 50)。
我希望将B点直线移向点A。
如何计算B为达到此目的必须移动的XY位置?
答案 0 :(得分:3)
如果您需要计算B和A之间的所有整数位置,请考虑使用Bresenham algorithm
答案 1 :(得分:0)
以下应该能够提出一个想法。 B点是一个随机点,x和y值在+/- 100之间。
var A = {x:100,
y:100},
B = {x:Math.floor(Math.random()*201)-100,
y:Math.floor(Math.random()*201)-100},
diff = {x: A.x - B.x,
y: A.y - B.y},
steps = Math.min(diff.x, diff.y);
for (var i = 0; i < steps; i++) {
B.x = B.x + diff.x/steps;
B.y = B.y + diff.y/steps;
console.log("Step #"+i+" B moving to X: " + B.x + " Y: " + B.y);
// plotB(Math.round(B.x), Math.round(B.y));
}