我试图在给定两个点(A,B)和我希望第三个点处于的角度的情况下绘制第三个点(C)。我可能还需要一段距离来绘制第三个点,但让我们假设它现在是固定的。如何获取pontA(a.x,a.y),pointB(b.x,b.y)和45度角(例如)并以此绘制第三个点(C)。javascript - 绘制给定两个点的第三点以及该第三点的所需 Angular (可能还有一个距离)-LMLPHP

最佳答案

这是一个三角问题。

// angle = the known angle
// dist = the distance from b to c

let angleAB = Math.atan2(a.y - b.y, a.x - b.x);

// if c is counterclockwise from a
c.x = b.x + dist*Math.cos(angleAB + angle)
c.y = b.y + dist*Math.sin(angleAB + angle)

// if c is clockwise from a
c.x = b.x + dist*Math.cos(angleAB - angle)
c.y = b.y + dist*Math.sin(angleAB - angle)




注意:角度应以弧度为单位才能起作用。

关于javascript - 绘制给定两个点的第三点以及该第三点的所需 Angular (可能还有一个距离),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57682897/

10-11 21:14