假定向量p繞單位向量a旋轉角度θ,得到新的向量p',則:
p'=p * cosθ + (a×p)sinθ +a(a·p)(1 - cosθ)
其中a為單位向量,旋轉角度θ為逆時針方向旋轉的角度。
假定向量p的座標為(px,py,pz),向量a的座標為(ax,by,cz)
且:a×p=(ay * pz- az * py, ax * pz- az * px , ax * py- ay * px)
a·p = ax * px + ay * py + az * pz
則:px』= px * cosθ+( ay * pz- az * py)sinθ + ax (ax * px + ay * py + az * pz)(1 - cosθ)
py』= py * cosθ+( ax * pz- az * px)sinθ + ay (ax * px + ay * py + az * pz)(1 - cosθ)
pz』= pz * cosθ+( ax * py- ay * px)sinθ + az (ax * px + ay * py + az * pz)(1 - cosθ)
1 inline fvector fvector::rotateangleaxis( constfloat angledeg, const fvector& axis ) const
2
計算幾何之向量旋轉
實際做題中我們可能會遇到很多有關及計算幾何的問題,其中有一類問題就是向量的旋轉問題,下面我們來具體 一下有關旋轉的問題。首先我們先把問題簡化一下,我們先研究乙個點繞另乙個點旋轉一定角度的問題。已知a點座標 x1,y1 b 點座標 x2,y2 我們需要求得 a點繞著 b點旋轉 度後的位置。a點繞b點旋...
平面向量及空間向量間角度的計算
如果根據斜率什麼的判斷可能會涉及到對斜率計算結果精確度的判斷,這就很麻煩,所以並不推薦用斜率計算 更推薦的是使用向量的關係 假設向量a a1,a2 向量b b1,b2 平行 共線 a1 b1 a2 b2 這裡就不需要擔心計算斜率帶來的精度的問題了 相交 則計算角度 實現 如下文貼出的空間向量計算的實...
向量歸一化 傅利葉變換與向量空間
建議建議閱讀原文 預備知識傅利葉變換 我們知道傅利葉級數 可以從向量空間的角度理解,而傅利葉變換可以看作傅利葉級數區間取無窮大時的極限,所以我們以下使用一種 幼稚 的觀點,從向量空間的角度來理解傅利葉變換 模擬傅利葉級數,我們仍然可以將傅利葉變換看作是向量空間中兩組正交歸一基底之間的變換,我們分別把...