PHP 查找两点之间的坐标

Ozz*_*zzy 5 php math loops coordinates

这里有一个简单的问题。可以说我有两点:

point 1

x = 0
y = 0


point 2

x = 10
y = 10
Run Code Online (Sandbox Code Playgroud)

假设两点之间有一条直线,我如何以编程方式找出其间的所有坐标......所以上面的示例将返回:

0,0
1,1
2,2
3,3
...
8,8
9,9
10,10
Run Code Online (Sandbox Code Playgroud)

谢谢 :)

Ozz*_*zzy 3

感谢您的所有帮助,但发布的答案都没有达到我想要的效果。例如,假设我的观点是:

0, 0

0, 10

只会有一个开始和一个结束坐标......它不会找到中间的坐标。

也许我做错了什么:S但我想出了自己的解决方案:

// Points
$p1 = array(
    'x' => 50,
    'y' => 50
);

$p2 = array(
    'x' => 234,
    'y' => 177
);

// Work out distances
$pxd = $p2['x'] - $p1['x'];
$pyd = $p2['y'] - $p1['y'];

// Find out steps
$steps = max($p1['x'], $p1['y'], $p2['x'], $p2['y']);

$coords = array();

for ($i = 0; $i < $steps; ++ $i) {
    $coords[] = array(
        'x' => round($p1['x'] += $pxd / $steps),
        'y' => round($p1['y'] += $pyd / $steps)
    );
}

print_r($coords);
Run Code Online (Sandbox Code Playgroud)