向量
image.png
OpenGL math3d庫
:庫中有2個(gè)數(shù)據(jù)類型乙各,表示三維或者四維向量爬骤。M3DVector3f
表示三維向量(x,y,z),M3DVector4f
表示一個(gè)四維向量(x,y,z,w),w表示縮放因子骡湖,典型情況下贱纠,w的坐標(biāo)設(shè)為1.0,x,y,z值通過除以w勺鸦,來進(jìn)行縮放并巍。
M3DVector3f vVector;//聲明一個(gè)三分量向量
M3DVector4f vVector = {0.0f,0.0f,1.0f,1.0f};//聲明四分量向量
M3DVector vVects[] = {
-0.5f,0.0f,0.0f,
0.5f,0.0f,0.0f,
0.0f,0.5f,0.0f
};//三分量頂點(diǎn)數(shù)組
點(diǎn)乘與叉乘
點(diǎn)乘運(yùn)算返回2個(gè)向量之間的夾角
叉乘運(yùn)算返回的是一個(gè)新的向量,這個(gè)新的向量與原來的的2個(gè)向量垂直换途。
矩陣
矩陣
是一個(gè)按照長方陣列排列的復(fù)數(shù)或?qū)崝?shù)的集合懊渡。另外注意的是image.png兩個(gè)矩陣的乘法僅當(dāng)?shù)谝粋€(gè)矩陣A的列數(shù)和另一個(gè)矩陣B的行數(shù)相等時(shí)才能定義
。
矩陣堆棧
可以理解成一個(gè)暫時(shí)存放矩陣的地方军拟,通過壓棧(pushMatrix)和出棧(popMatrix)進(jìn)行操作剃执。(通過壓棧和出棧讓每一次變換相互獨(dú)立)(流程圖片引自http://www.reibang.com/p/ce3b51b8f168)
image.png