美好的一天。 我在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) 。 (我怀疑在这个例子中,这个点会有负值,没关系。)
答案 0 :(得分:1)
我不知道PHP,但这应该很容易用一些伪代码实现:
function getXComponent(angleOfLine){
return Math.cos(angleOfLine)*1500;
}
和y组件
function getYComponent(angleOfLine){
return Math.sin(angleOfLine)*1500;
}
现在只需使用X和y组件来放置新点。