C++ 当我有点的坐标时,如何计算图中的内角?
假设我有一个像十字架一样的图形,我有点的坐标,我想得到一个数字序列,我的意思是角度,像“90,270,90,90,270,90,90,270,90”。C++ 当我有点的坐标时,如何计算图中的内角?,c++,algorithm,math,trigonometry,C++,Algorithm,Math,Trigonometry,假设我有一个像十字架一样的图形,我有点的坐标,我想得到一个数字序列,我的意思是角度,像“90,270,90,90,270,90,90,270,90”。 谢谢你的回答。给定三个点,a,b,c在2D中,ab线和bc线之间的夹角的余弦是(b-a)。(c-b)/(b-a |*| c-b |)。你可以看看原因 从这里,你可以得到每个的反正弦,得到实际的角度。您还必须通过乘以180/pi将弧度转换为度。还有一些细节,例如区分270度和90度,但这应该可以让您开始了。还有atan2()函数。给定一个向量,它返
谢谢你的回答。给定三个点,a,b,c在2D中,ab线和bc线之间的夹角的余弦是(b-a)。(c-b)/(b-a |*| c-b |)。你可以看看原因
从这里,你可以得到每个的反正弦,得到实际的角度。您还必须通过乘以180/pi将弧度转换为度。还有一些细节,例如区分270度和90度,但这应该可以让您开始了。还有atan2()函数。给定一个向量,它返回该向量的方向角(弧度)。因此,你基本上可以计算出图中所有矢量的方向,要得到内角,你只需减去相邻方向。请参见:你创建了一个从点2到点1的矢量,以及另一个从点2到点3的矢量。然后得到这两个向量之间的角度。你可以用两个向量的点积来计算角度。是的,好的,但当我计算三个点之间的角度时,我会得到90度,而不是270度。我怎么知道哪个角度是内角?