在游戏编程中,方向很重要,它们通过法向量来定义。你可能听说过法线映射(normal mapping)这个词。那是一种纹理,其中每个像素代表一个法向量,纹理在3D模型中被拉伸,光照计算会考虑到渲染后的模型的每个像素上的法向量。法线映射使最终模型的表面上可以展现出比没有使用法线映射时多得多的细节。
假设有一个二维向量,它包含X元素和Y元素。可以分别使用[0,1]、[0,-1]、[-1,0]和[1,0]创建上、下、左、右4个向量。这创建了一个类似于十字的形状。如果在上、下、左、右4个向量之间再创建4个法向量,就可以开始模拟圆的过程了。这是一个单位圆,即其半径为1。图8-11显示了一个单位圆。如果使用3元素向量[X,Y,Z],那么就会创建一个单位球。如果所有向量的长度都为2,那么就会创建半径为2的球,以此类推。