游戏开发3D基础知识

概念学习:

向量

向量简介

我们将所有彼此平行的向量进行平移,使其起点与坐标原点重合,当某一向量的起始端与坐标原点重合,我们成该向量处于标准位置。这样,我们就可用向量的终点坐标来描述一个处于标准位置的向量。 我们通常用小写粗体字母表示一个向量,又是也是用大写粗体字母,比如:2D,3D,4D向量分别表示为:u=(u_{x},u_{y}), N=(N_{x},N_{y},N_{z}),c=(c_{x},c_{y},c_{z},c_{w})。 D3DX库中,类D3DXVECTOR3表示3D空间中的向量。

向量相等

几何学中,如果两个向量长度和方向都相同,那么这两个向量相等。

向量长度

||u||= sqrt(u_x^2+u_y^2+u_z^2)

向量规范化

向量的规范化就是使向量的模变为1,即变为单位向量。可以通过将向量的每个分量都除以该向量的模来实现向量的规范化。

向量加法

向量加法定义为两个向量对应分量分别相加,只有维数相同的两个分量才能进行加法运算。
u+v = (u_x+v_x, u_y+v_y, u_z+v_z)

向量减法

u-v = u+(-v) = (u_x-v_x, u_y-v_y, u_z-v_z)

数乘

标量可以与向量相乘,顾名思义,该运算可对向量进行缩放。
ku = (ku_x,ku_y,ku_z)

点积

点积是向量代数所定义的两种乘法之一,其运算规则如下:
u*v = u_x*v_x + u_y*v_y + u_z*v_z
上述公式并不具有明显的几何意义,由余弦定理,可以发现u*v = ||u|| * ||v|| * cosθ,即两向量的点积等于两者夹角的余弦再乘以两个向量的模的乘积。

叉积

a\*b = x_1\*y_2-x_2\*y_1 = x_1 \* y_2 - x_2 \* y_1 = a \* b \* sinθ

矩阵

矩阵相等

矩阵数乘

矩阵加法

矩阵乘法

若A为m*n的矩阵,B为n*p矩阵,则乘积AB有意义,且等于一个m*p矩阵

单位矩阵

逆矩阵

矩阵转置

一个m*n矩阵的转置是一个n*m的矩阵。我们用符号M^T表示矩阵M的转置

猜你喜欢

转载自www.cnblogs.com/acmlzq/p/11279780.html