2016-11-25 122 views
-3

我正在研究一个小小的JavaScript几何库,需要从我的A,B和C点获得角度β。我试过了,但没有返回正确的角度。从三个角度获取角度

这里是我的代码:

(删除)

脚本的部分是在文件maths2d上线32

+1

您可以将代码添加到您的问题吗?我想没有人想下载任何文件 – godzsa

+0

请发布代码,而不是链接。欧几里得平面有两个角度:theta和2 * pi-theta。它们很容易使用矢量和点或交叉产品进行计算。做一个谷歌搜索,看看我的意思。 – duffymo

+0

对不起,但小提琴正在窃听,因为我不能发表太多的代码。 –

回答

1

要在通过B获得角到C计算

AB = B-A  
AC = C-A  

angleRadians = Math.atan2(AB.x*AC.x + AB.y*AC.y, AB.y*AC.x - AB.x*AC.y) 

angleDegrees = angleRadians*180/Math.Pi 

是的,里面有可怕的标量和交叉产品。或者应用于矢量的旋转矩阵。要了解这一点,你需要一些解析几何。

+0

谢谢!我不知道它会返回弧度。在计算器上,它返回了学位。 –

+0

在口袋计算器上,您可以在弧度,度数之间切换,有时也可以在gon/Neugrad之间切换。大多数人把它留在度数上,因为它更直观(在后天的味道中)。但算法上或数学上,弧度是自然的,因此指令集/数学库默认为该值,并将转换更直观地扩展到程序员。 – LutzL