計算幾何_向量的實現
將向量用帶有兩個成員變數的類函式表示
表示二維向量的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 計算幾何
- [筆記] 計算幾何筆記
- 計算幾何 —— 二維幾何基礎 —— 距離度量方法
- SGU 124 Broken line(計算幾何)
- 計算幾何——平面最近點對
- POJ - 1556 【計算幾何 + 最短路】
- 【學習筆記】計算幾何筆記
- 28、(向量)歐幾里得距離計算
- 邊緣計算、霧計算、雲端計算區別幾何?
- BNUOJ 12887 isumi(計算幾何+最大流)
- SGU 120 SGU 228 Archipelago(計算幾何)Go
- 微分幾何學習(一)(向量函式)函式
- 計算幾何(一):凸包問題(Convex Hull)
- POJ 1113 Wall(思維 計算幾何 數學)
- HNOI2016礦區(計算幾何+對偶圖)
- 計算機視覺—圖片幾何變換(2)計算機視覺
- 關於特徵值和特徵向量的幾何直覺意義特徵
- [幾何]計算不規則多邊形的面積、中心、重心
- 向量點積計算javaJava
- CodeForces 887 E. Little Brother(計算幾何+二分)
- 幾何圖形構成的向量化極簡風格美術
- word2vec實現域名向量化並計算相似度-python程式碼Python
- 丘成桐演講全文:幾何與計算數學的關係
- 計算今天是該年的第幾天(c語言實現)C語言
- 向量化實現矩陣運算最佳化(一)矩陣
- [計算幾何]圓與三角形是否相交
- Flink實時計算pv、uv的幾種方法
- 百度造車,勝算幾何?
- 簡單幾行程式碼輕鬆實現大文字平行計算行程
- 5G將近,國內的雲遊戲實現幾何遊戲
- 【第一道計算幾何題】 UVA11178 Morley‘s Theorem (二維幾何,旋轉直線求求交點)REM
- 神奇的周幾計算器
- 論 DevOps 實踐有幾何?dev
- 用c++實現淨現值的計算C++
- 軟體優化的原理與實踐系列之一向量化計算優化
- 實時計算既有Flink,為何又推出個StreamPark?