2d矩阵,给出2个点,在一定距离找到第三个,PHP

时间:2016-10-05 13:18:07

标签: php multidimensional-array geometry 2d

美好的一天。 我在PHP中编写一个简单的脚本,我遇到了一个简单的几何问题: 我有一个2d矩阵,宽度= 10000,高度= 6000。

我有2分,A(2000,1000)和B(3400,5000)。

我想要计算的是第三点,距离(比如说)A在同一条线上的距离为1500。

我已经完成了一个简单的线功能:

$x1= 2000;
$y1= 1000;
$x2= 3400;
$y2= 5000;

$x = 1500;

function givemeY($x1,$y1,$x2,$y2,$x){
return ($y2-$y1)/($x2-$x1)*($x-$x1)+$y1;
}

但这只有在我给它至少$ x的情况下才有效,但是,我不知道$ x,我只想要距离1500点,在这种情况下(2000,1000) 。 (我怀疑在这个例子中,这个点会有负值,没关系。)

1 个答案:

答案 0 :(得分:1)

我不知道PHP,但这应该很容易用一些伪代码实现:

function getXComponent(angleOfLine){
    return Math.cos(angleOfLine)*1500;
}

和y组件

function getYComponent(angleOfLine){
    return Math.sin(angleOfLine)*1500;
}

现在只需使用X和y组件来放置新点。