【計算幾何】向量表示
計算幾何中的向量表示
二維圖中,點與向量的表示:
struct point //點座標
{
double x;
double y;
};
struct V //兩點式
{
point start;
point end;
};
V change(V a) //兩點式起點化為 0,0
{
V b;
b.start.x = 0;
b.start.y = 0;
b.end.x = a.end.x - a.start.x;
b.end.y = a.end.y - a.start.y;
return b;
}
向量的運演算法:
1.向量加減
V add(V a,V b)
{
V aa = change(a);
V bb = change(b);
V c;
c.start.x = 0;
c.start.y = 0;
c.end.x = aa.end.x+bb.end.x;
c.end.y = aa.end.y+bb.end.y;
return c;
}
V dec(V a,V b)
{
V aa = change(a);
V bb = change(b);
V c;
c.start.x = 0;
c.start.y = 0;
c.end.x = aa.end.x-bb.end.x;
c.end.y = aa.end.y-bb.end.y;
return c;
}
2.向量點積
可以通過向量點積計算向量夾角
a•b = |a|*|b|*cos(∠)
a•b = x1*x2 + y1*y2;
double dot_mul(V a,V b)
{
double result;
V aa = change(a);
V bb = change(b);
result = aa.end.x*bb.end.x + aa.end.y*bb.end.y;
return result;
}
3.向量叉積
叉積可以計算三角形面積
a×b > 0 , a 在 b的順時針方向
a×b < 0 , a 在 b的逆時針方向
a×b = 0 , a 在 b同方向或反方向
a×b = x1*y2 - x2*y1;
double cross_mul(V a,V b)
{
double result;
V aa = change(a);
V bb = change(b);
result = aa.end.x*bb.end.y - aa.end.y*bb.end.x;
return result;
}
相關文章
- 計算幾何
- 計算幾何:模板
- 計算幾何模板
- Something about 計算幾何
- [筆記] 計算幾何筆記
- 計算幾何 —— 二維幾何基礎 —— 距離度量方法
- SGU 124 Broken line(計算幾何)
- 計算幾何——平面最近點對
- POJ - 1556 【計算幾何 + 最短路】
- 【學習筆記】計算幾何筆記
- 28、(向量)歐幾里得距離計算
- 邊緣計算、霧計算、雲端計算區別幾何?
- BNUOJ 12887 isumi(計算幾何+最大流)
- SGU 120 SGU 228 Archipelago(計算幾何)Go
- 微分幾何學習(一)(向量函式)函式
- 計算幾何(一):凸包問題(Convex Hull)
- POJ 1113 Wall(思維 計算幾何 數學)
- DX12龍書 01 - 向量在幾何學和數學中的表示以及運算定義
- HNOI2016礦區(計算幾何+對偶圖)
- 計算機視覺—圖片幾何變換(2)計算機視覺
- 向量點積計算javaJava
- CodeForces 887 E. Little Brother(計算幾何+二分)
- [計算幾何]圓與三角形是否相交
- 百度造車,勝算幾何?
- 關於特徵值和特徵向量的幾何直覺意義特徵
- [幾何]計算不規則多邊形的面積、中心、重心
- NLP ——句向量表示
- 【第一道計算幾何題】 UVA11178 Morley‘s Theorem (二維幾何,旋轉直線求求交點)REM
- 幾何圖形構成的向量化極簡風格美術
- 計算中綴表示式
- 丘成桐演講全文:幾何與計算數學的關係
- 【IDL】幾何圖形數學運算函式函式
- 計算機資料的表示計算機
- 平面幾何
- 表示式計算(棧的應用)
- 將算數表示式轉換成字尾表示式並計算結果
- NLP《詞彙表示方法(一)one-hot向量表示》
- python ubuntu lib7 -計算人臉特徵向量PythonUbuntu特徵
- 資料庫-SQL_duckdb向量化計算-vector資料庫SQL