3D中的法線是什么意思啊~
在空間垂直於一個平面的直線;或者在一個平面里面,垂直於一條直線的直線.法線也可以指的某個方向.對於圓弧來講,指的是它與圓心相連的直線(方向).
法線:英語叫Normal Line.
就是一條垂直線,我們可以這樣聯想着記:
法 = 法律,法規,正直 = 垂直
學習quaternion的一點點筆記
http://blog.csdn.net/soilwork/article/details/1447346
在3D程序中,通常用quaternion來計算3D物體的旋轉角度,與Matrix相比,quaternion更加高效,占用的儲存空間更小,此外也更便於插值。在數學上,quaternion表示復數w+xi+yj+zk,其中i,j,k都是虛數單位:
i*i = j*j = k*k= -1
i*j = k, j*i = -k
可以把quaternion看做一個標量和一個3D向量的組合。實部w表示標量,虛部表示向量標記為V,或三個單獨的分量(x,y,z)。所以quaternion可以記為[ w, V]或[ w,(x,y,x)]。對quaternion最大的誤解在於認為w表示旋轉角度,V表示旋轉軸。正確的理解應該是w與旋轉角度有關,v與旋轉軸有關。例如,要表示以向量N為軸,軸旋α度,相對的quaternion應該是:
q = [ cos(α/ 2) , sin(α/ 2) N]
=[ cos(α/ 2) , ( sina(α/ 2) Nx, sin(α/ 2)Ny, sin(α/ 2)Nz ) ]
為了計算方便,一般要求N為單位矢量。對quaternion來說使用四個值就能記錄旋轉,而不是Matrix所需的十六個值。為什么用quaternion來計算旋轉很方便呢?先說過quaternion是一個復數,如果你還記得一點點復數的知識,那么應該知道復數乘法(叉乘)的幾何意義實際上就是對復數進行旋轉。對最簡單的復數p= x + yi來說,和另一個復數q = ( conα,sinα)相乘,則表示把p沿逆時針方向旋轉α:
p’ = pq
當然,x+yi的形式只能表示2D變換,對3D變換來說就需要使用 quaternion了,而且計算也要復雜一點。為了對3D空間中的一個點p(x,y,z)進行旋轉,需要先把它轉換為quaternion形式p = [0, ( x, y, z)],接下來前面討論的內容,定義q = cos(α/ 2) , sin(α/ 2) N為旋轉quaternion,這里N為單位矢量長度的旋轉軸,α為旋轉角度。那么旋轉之后的點p’則為:
p’ = qpq-1
ps:粗體字母表示矢量