Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 当我有点的坐标时,如何计算图中的内角?_C++_Algorithm_Math_Trigonometry - Fatal编程技术网

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

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()函数。给定一个向量,它返

假设我有一个像十字架一样的图形,我有点的坐标,我想得到一个数字序列,我的意思是角度,像“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()函数。给定一个向量,它返回该向量的方向角(弧度)。因此,你基本上可以计算出图中所有矢量的方向,要得到内角,你只需减去相邻方向。

请参见:你创建了一个从点2到点1的矢量,以及另一个从点2到点3的矢量。然后得到这两个向量之间的角度。你可以用两个向量的点积来计算角度。是的,好的,但当我计算三个点之间的角度时,我会得到90度,而不是270度。我怎么知道哪个角度是内角?