假设这两点为A(x1,y1)和B(x2,y2),则向量AB的坐标为AB=(x2-x1,y2-y1)。

要求向量AB与x轴正方向的夹角,即求向量AB与x轴正方向的夹角θ。

根据向量积的定义,有:

AB·x=(x2-x1) * 1=x2-x1

又因为向量AB与x轴正方向的夹角θ的余弦值为:

cosθ=AB·x/|AB|

其中,|AB|为向量AB的长度。

因此,所求夹角θ的余弦值为:

cosθ=(x2-x1)/|AB|

以下是C++代码实现:

#include <iostream>
#include <cmath>

using namespace std;

int main() {
    double x1, y1, x2, y2;
    cout << "请输入第一个点的坐标(x1, y1): ";
    cin >> x1 >> y1;
    cout << "请输入第二个点的坐标(x2, y2): ";
    cin >> x2 >> y2;

    double ABx = x2 - x1;
    double ABy = y2 - y1;
    double ABlen = sqrt(ABx * ABx + ABy * ABy);
    double cosTheta = ABx / ABlen;
    double theta = acos(cosTheta); // 弧度制
    double thetaDeg = theta * 180.0 / M_PI; // 角度制

    cout << "向量AB与x轴正方向的夹角为:" << thetaDeg << "度" << endl;

    return 0;
}
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐