当我有点的坐标时,如何计算图中的内角?

时间:2013-12-24 08:35:47

标签: c++ algorithm math trigonometry

假设我有像十字架的形状,我有点的坐标,我想得到一系列数字,我的意思是像“90,270,90,90,270,90,90,270,90, 90,270,90“。 谢谢你的回答。

2 个答案:

答案 0 :(得分:2)

给定三个点,即2D中的a,b,c,线ab和bc之间的角度的余弦是(b -a)。 (c - b)/(| b - a | * | c - b |)。您可以查看at wikipedia以找出原因。

从这里,你可以拿出每个的抗体来给你实际的角度。您还需要将弧度从弧度转换为度数,乘以180 / pi。还有一些细节,例如区分270度和90度,但这应该让你开始。

答案 1 :(得分:1)

还有atan2(http://www.cplusplus.com/reference/cmath/atan2/)功能。给定一个向量,它返回该向量的方向角,以弧度为单位。因此,您基本上可以计算图中所有矢量的方向,并获得内部角度,您只需要减去相邻的方向。