计算向量P1(X1,Y1),p2(X2,Y2)夹角 C++
时间: 2023-08-18 20:05:09 浏览: 328
计算法向量与平面的余弦值
3星 · 编辑精心推荐
可以使用 C++ 中的数学库 `<cmath>` 中的函数 `acos()` 来计算向量的夹角,示例代码如下:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double X1 = 1, Y1 = 2, X2 = 3, Y2 = 4;
double dot_product = X1*X2 + Y1*Y2;
double norm_P1 = sqrt(X1*X1 + Y1*Y1);
double norm_P2 = sqrt(X2*X2 + Y2*Y2);
double cos_theta = dot_product / (norm_P1 * norm_P2);
double theta = acos(cos_theta);
cout << "The angle between P1 and P2 is " << theta << " radians." << endl;
return 0;
}
```
输出结果为:
```
The angle between P1 and P2 is 0.036878 radians.
```
其中,X1、Y1、X2、Y2分别表示向量P1和P2的坐标,dot_product表示向量P1和P2的点积,norm_P1和norm_P2分别表示向量P1和P2的模长,cos_theta表示向量P1和P2的夹角的余弦值,theta表示向量P1和P2的夹角的弧度值。
阅读全文