向量夾角計算

//座標點
struct Point { 
//public:
    double x;
    double y; 
};

//平面向量
struct Vector2
{
    double x;
    double y;
    
};

// 計算兩個向量夾角的cos值, cos=0夾角爲90度, cos小於0夾角大於90度
static inline double getVector2Angle(const Vector2 & a, const Vector2 & b) {
    double doc_product =  a.x * b.x + a.y * b.y;
    double ma = sqrt(a.x * a.x + a.y * a.y);
    double mb = sqrt(b.x * b.x + b.y * b.y);
    double cos = doc_product / (ma * mb);
    return cos;
}

// 計算a指向b的向量
static inline Vector2 getVecor2(const Point &a, const Point &b) {
    return {b.x - a.x, b.y - a.y};
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章