向量的旋轉

2021-07-27 21:18:31 字數 2397 閱讀 1693

實際做題中我們可能會遇到很多有關及計算幾何的問題,其中有一類問題就是向量的旋轉問題,下面我們來具體**一下有關旋轉的問題。

首先我們先把問題簡化一下,我們先研究乙個點繞另乙個點旋轉一定角度的問題。已知a點座標

(x1,y1),b

點座標(x2,y2)

,我們需要求得

a點繞著

b點旋轉θ度後的位置。

a點繞b點旋轉θ角度後得到的點,問題是我們要如何才能得到a' 

點的座標。(向逆時針方向旋轉角度正,反之為負)研究乙個點繞另乙個點旋轉的問題,我們可以先簡化為乙個點繞原點旋轉的問題,這樣比較方便我們的研究。之後我們可以將結論推廣到一般的形式上。

令b是原點,我們先以

a點向逆時針旋轉為例,我們過

a' 做

ab的垂線,交ab於

c,過c做

x軸的平行線交過

a' 做

x軸的垂線於

d。過點c做

x軸的垂線交

x軸於點e。

的座標(x,y)

,a' 

座標(x1,y1),b

的座標(0,0)

。我們可以輕鬆的獲取

ab的長度,而且顯而易見

a' b

長度等於

ab。假設我們已知θ角的大小那麼我們可以很快求出bc和

a' c

的長度。

bc=a' b x cos

θ,a' c=a' b x sinθ。

因為∠a' cb

和∠dce

為直角(顯然的結論),則∠

a' cd +

∠dcb =

∠ecb +

∠dcb=90度。

則∠a' cd=

∠ecb

,∠a' dc=

∠ceb=90

度,因此可以推斷⊿

ca' d 

∽⊿cbe

。由此可以推出的結論有:

bc/be=a' c/a' d和

bc/ce=a' c/cd

當然了dc

和a' d

都是未知量,需要我們求解,但是我們卻可以通過求出

c點座標和

e點座標間接獲得

a' c和cd

的長度。我們應該利用相似的知識求解

c點座標。

c點橫座標等於:

((|ab| x cos

θ) / |ab|) * x = x*cosθ

c點縱座標等於:

((|ab| x cos

θ) / |ab|) * y = y*cosθ

則ce和

be的的長度都可以確定。

我們可以通過相⊿ca' d 

∽⊿cbe

得出:

a'd =  x * sinθ         

dc = y * sinθ

a'd是通過bc/be = a'c/a'd得出的

dc是通過bc/ec = a'c/dc得出的

那麼接下來很容易就可以得出:

x1 =  x*cosθ

- y * sin

θ     

y1 = y*cos

θ + x * sinθ

則a' 

的座標為

(x*cos

θ- y * sin

θ, y*cos

θ + x * sinθ)

我們可以這樣認為:對於任意點a(x,y),a

非原點,繞原點旋轉θ角後點的座標為:

(x*cos

θ- y * sin

θ, y*cos

θ + x * sinθ)

接下來我們對這個結論進行一下簡單的推廣,對於任意兩個不同的點a和b

(對於求點繞另乙個點旋轉後的座標時,

a b重合顯然沒有太大意義),求a點繞

b點旋轉θ角度後的座標,我們都可以將

b點看做原點,對a和

b進行平移變換,計算出的點座標後,在其橫縱座標上分別加上原

b點的橫縱座標,這個座標就是

a' 的座標。

推廣結論:對於任意兩個不同點a和b

,a繞b

旋轉θ角度後的座標為: (δ

x*cosθ- 

δy * sin

θ+ xb, 

δy*cos

θ + 

δx * sin

θ+ yb ) 

注:xb、yb

為b點座標。

結論的進一步推廣:對於任意非零向量ab

(零向量研究意義不大),對於點

c進行旋轉,我們只需求出點a和

b對於點

c旋轉一定角度的座標即可求出旋轉後的向量

a' b' 

,因為向量旋轉後仍然是一條有向線段。同理,對於任意二維平面上的多邊形旋轉也是如此。

向量旋轉公式

在二維座標系中,乙個位置向量的旋轉公式可以由三角函式的幾何意義推出。比如上圖所示是位置向量r逆時針旋轉角度b前後的情況。在左圖中,我們有關係 x0 r cosa cosa x0 r y0 r sina sina y0 r 在右圖中,我們有關係 x1 r cos a b y1 r sin a b 其中...

根據旋轉前後的向量求旋轉矩陣

在cloundcompare開源裡有矩陣的對應介面,親測可用,非常準確,把 貼下面供開發者使用。其中的dot函式是三維向量的點積函式 附內部實現inline type dot const vector3tpl v const static ccglmatrixtplfromtorotation co...

空間向量繞任一向量旋轉計算

假定向量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 p...