查找线上某点的坐标

Kir*_*ran 1 math matlab

这应该很简单.我试图在一条直线上找到一个点的坐标.我在MATLAB中实现.我知道,端点的坐标和距其中一个点的距离.

我使用以下公式计算坐标(请注意,我不能使用中点公式,因为距离可能会有所不同).

在此输入图像描述

当斜率为负时,我得到了错误的结果.您能否建议使用此配方需要考虑的条件是什么?我也不知道任何其他公式.

Mik*_*ail 5

这对于这么简单的任务来说太复杂了.使用直接向量计算:

function P = point_on_line(A, B, AP)
  D = B - A;
  P = A + D / norm(D) * AP;
end
Run Code Online (Sandbox Code Playgroud)

像这样打电话:

P = point_on_line([x1 y1], [x2 y2], len);
x = P(1);
y = P(2);
Run Code Online (Sandbox Code Playgroud)

询问您是否需要任何澄清.