按角度和起点查找坐标

时间:2018-01-14 08:34:48

标签: javascript math geometry

当我只知道时,我怎样才能找到点#34; C"的坐标:

1)距离" A"到" B";

2)角度

3)起点

在JS中看起来像:

let A = {x: 50, y: 30},
    B = {x: 50, y: 80},
    C = {x: null, y: null};
let angle = 345;

let distanceBetweenAB = (B.x - A.x) + (B.y - A.y);

C = ?

图片详细说明:

PICTURE with description

2 个答案:

答案 0 :(得分:0)

找到从AB的方向向量,将其旋转90°,然后缩放:

dir = B - A
dirOrth = (-dir.y, dir.x)
C = B + tan(a) * dirOrth

如果您不熟悉向量,只需按组件方式执行(即分别为x / y组件)。

答案 1 :(得分:0)

C的x坐标与B相同,即80。 使用tan(a)你可以找到距离BC。 tan(a)= BC / AB => BC = 30 tan(a)。 然后在点B和C上使用距离公式,您还可以找到点C的y坐标。