根据距离和方向放置点

时间:2014-03-15 15:24:32

标签: matlab matrix computational-geometry

Matlab 中,我得到了一个带坐标(1,1)的A点,我希望“创建”另一个点B知道将链接两个点的段(它的长度和斜率之间)它的两个顶点,A和B)。换句话说,通过知道点(A),距离和斜率值,我怎样才能找到B点?

2 个答案:

答案 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,从第一个方程得到正负两个可能的解决方案。