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)
谢谢 :)
感谢您的所有帮助,但发布的答案都没有达到我想要的效果。例如,假设我的观点是:
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)