计算两条直线的锐角可以使用向量的知识来实现。在C++中,我们可以定义一个函数来计算两个向量的夹角,并根据夹角的余弦值来判断角度的大小。以下是一个用C++编写的示例代码:
#include
#include
using namespace std;
struct Vector {
double x;
double y;
};
// 计算向量的长度
double vectorLength(const Vector& v) {
return sqrt(v.x * v.x + v.y * v.y);
}
// 计算两个向量的点积
double dotProduct(const Vector& v1, const Vector& v2) {
return v1.x * v2.x + v1.y * v2.y;
}
// 计算两个向量的夹角(以弧度为单位)
double angleBetweenVectors(const Vector& v1, const Vector& v2) {
double cosTheta = dotProduct(v1, v2) / (vectorLength(v1) * vectorLength(v2));
return acos(cosTheta);
}
int main() {
Vector line1, line2;
cout line1.x >> line1.y;
cout line2.x >> line2.y;
double angle = angleBetweenVectors(line1, line2);
// 将弧度转换为角度
double degrees = angle * 180.0 / M_PI;
cout |