計算幾何_向量的實現
將向量用帶有兩個成員變數的類函式表示
表示二維向量的vector2類函式如下:
struct vector2
{
double x,y;
///建構函式指定為explicit,可以防止隱式轉換
explicit vector2(double x_=0,double y_=0):x(x_),y(y_) {}
///過載 * 號 ,與實數相乘
vector2 operator * (double rhs)const
{
return vector2(x*rhs,y*rhs);
}
///返回向量的長度
double norm()const
{
return hypot(x,y);
}
///返回方向相同的單位向量
vector2 normalize()const
{
return vector2(x/norm(),y/norm());
}
///返回從x軸正方向逆時針到當前向量時的角度
double polar() const
{
return fmod(atan2(y,x)+2*PI,2*PI);
}
///計算內積(點積)
double dot(const vector2& rhs)const
{
return x*rhs.x+y*rhs.y;
}
///計算叉積(向量積)
double cross(const vector2& rhs)const
{
return x*rhs.y-y*rhs.x;
}
///將當前向量對映到rhs的結果
vector2 project(const vector2& rhs)const
{
vector2 r=rhs.normalize();
return r*r.dot(*this);
}
};
相關文章
- 【計算幾何】向量表示
- 計算幾何
- 計算幾何:模板
- 計算幾何模板
- [筆記] 計算幾何筆記
- 【總結】計算幾何模板
- 二維計算幾何模板
- 【計算幾何】線段相交
- 三維計算幾何模板
- Something about 計算幾何
- 計算幾何常用的函式/方法函式
- 計算幾何 —— 二維幾何基礎 —— 距離度量方法
- 邊緣計算、霧計算、雲端計算區別幾何?
- 【學習筆記】計算幾何筆記
- 【計算幾何】多邊形交集
- 計算幾何——平面最近點對
- 雲端計算逼近現實生活 IT員工何去何從?
- 微分幾何學習(一)(向量函式)函式
- POJ - 1556 【計算幾何 + 最短路】
- An Easy Problem?! POJ 2826 計算幾何
- 特徵值與特徵向量的幾何含義(轉)特徵
- BNUOJ 12887 isumi(計算幾何+最大流)
- SGU 124 Broken line(計算幾何)
- 【計算幾何】Triangles HUST 1607
- 【計算幾何】多邊形點集排序排序
- CG_Hadoop:基於MapReduce的計算幾何Hadoop
- C++計算幾何演算法大全C++演算法
- POJ 2991 Crane(線段樹+計算幾何)
- 【計算幾何】點在多邊形內部
- POJ 1556 The Doors(Dijkstra+計算幾何)
- 計算機圖形學(四)_幾何變換_1_基本的二維幾何變換(一)計算機
- 關於特徵值和特徵向量的幾何直覺意義特徵
- 二維幾何常用運算
- 丘成桐演講全文:幾何與計算數學的關係
- HDU 4643 GSM(計算幾何求線段的中垂線)
- SGU 120 SGU 228 Archipelago(計算幾何)Go
- 計算機視覺—圖片幾何變換(2)計算機視覺
- 【計算幾何】求線段相交交點座標