点积测试也用于背面剔除(back face culling)。背面剔除用于查看某个多边形是否没有面对摄像机。默认情况下,多边形并不包含两个边,它们只包含由法向量指示的一边。如果多边形没有面对摄像机,则玩家看不到它们,这意味着不必告诉图形硬件它们的存在。点积可以用来筛选掉没有面对摄像机的所有多边形。
8.2.7 叉积运算
最后要讨论的一个向量运算是叉积。与前面的运算不同,这种运算只能处理包含3个或更多个元素的向量。也就是说,简单的[X,Y]向量是没有叉积运算的。这种运算比前面的运算更加复杂,但是结果却很直观。叉积对两个向量执行运算,返回与传入的向量垂直的一个向量。如果有一张桌子,它的一面从[0,0,0]指向[0,0,1],另一面从[0,0,0]指向[1,0,0],那么得到的叉积向量是从桌子的表面指向上方的向量[0,1,0]。
上面的公式看起来有点让人望而生畏,但是用代码表达后,就没那么复杂了。使用这个公式时,不必考虑代码的具体工作原理,而只需知道自己想要得到一个从计算叉积的两个向量指向外部的一个向量。