二维矩阵,给定2个点,在一定距离处找到第三个,PHP

2d matrix, 2 points given, find third one at a certain distance, PHP

大家好。 我在 PHP 中做一个简单的脚本,我遇到了一个简单的几何问题: 我有一个二维矩阵,宽度=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)。 (我怀疑在这个例子中这个点会有负值,没关系)。

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

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

对于 y 分量

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

现在只需使用 X 和 y 分量来放置新点。