PHP查找两点之间的坐标

PHP查找两点之间的坐标

本文介绍了PHP查找两点之间的坐标的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

simple question here. Lets say I have two points:

point 1

x = 0
y = 0


point 2

x = 10
y = 10

假设两个点之间有一条海峡线,我将如何以编程方式找出它们之间的所有坐标...因此,上面的示例将返回:

How would i find out all the coordinates inbetween that programmatically, assuming there is a strait line between two points... so the above example would return:

0,0
1,1
2,2
3,3
...
8,8
9,9
10,10

谢谢:)

推荐答案

感谢您的所有帮助,但没有发布的答案可以满足我的要求.例如,假设我的观点是:

thanks for all your help but non of the answers posted worked how i wanted it to. For example, lets say my points were:

0,0

0,10

只有一个起点和一个终点坐标...它之间找不到坐标.

There would only be a start and a finish coordinate... it wouldnt find the ones inbetween.

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

Maybe i did something wrong :S but i came up with my own solution:

// 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);

这篇关于PHP查找两点之间的坐标的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-29 08:45