在 Matlab 中,我得到了一个带坐标(1,1)的A点,我希望“创建”另一个点B知道将链接两个点的段(它的长度和斜率之间)它的两个顶点,A和B)。换句话说,通过知道点(A),距离和斜率值,我怎样才能找到B点?
答案 0 :(得分:1)
根据条件,你会在线的两边有两个点,距离A [x1,y1]的距离相同。
<强>代码强>
%%// PointA Location
x1=1;y1=1;
%%// Demo values
d1 = 5; %%// distance
m = 4/3; %%// slope
%%// Calculations
f1 = d1/sqrt(m.^2+1);
x = [ x1+f1 ; x1-f1]
y = m*(x-x1)+y1
<强>输出强>
x =
4
-2
y =
5
-3
答案 1 :(得分:0)
因此,对于斜率m,您的第二个点是B =(x B ,y B )=(1,1)+(1,m)* t和它们的距离| AB |是| t | * sqrt(1 + m ^ 2)。从第二个方程得到t,从第一个方程得到正负两个可能的解决方案。