二维矩阵,给定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 分量来放置新点。
大家好。 我在 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 分量来放置新点。