3D图形数学6-背面剔除

05/14/2020

什么是背面剔除

通常来说,肉眼看不见的面算背面,这些背面看不见就不需要绘制出来。一个立方体有六个面,通常最多看到三个面,其他三个面就可以不需要绘制,同时立方体内部的面也不需要绘制。假如是一个平面三角形,它依然有两个面,正面和背面。

如何判定一个面是正面或者反面

考虑三角形的法向量与摄像机的相对位置

叉乘与点乘

叉乘计算三角形法向量

三角形的法向量可以通过三角形两边作为向量叉乘得到。如何判断法向量的方向是,将第一个向量的头和第二个向量的尾相连,判断是否是顺时针或者逆时针,注意左右手坐标系会导致不同的结果。

摄像机到三角形的方向

摄像机到三角形任意点的向量,两点相减的向量

点乘表示两个向量之间角度的情况

  • 点乘大于0,方位基本相同,三角形是背面
  • 点乘等于0,呈现直角90度,三角形显示一条边
  • 点乘小于0,方向基本相反,三角形是正面

顺时针与逆时针的定义

通常在传输三角形顶点时候可以规定顺时针的三个点是正面,那反着看三角形三个顶点是逆时针的,提前规定好,就不需要判断正方面了。

注意

摄像机的朝向不需要考虑,只考虑摄像机与物体的相对位置。
如果考虑摄像机朝向,那就变成裁剪问题,考虑视锥。

其它参考资料

背面剔除: 图片解释.

猜你喜欢

转载自blog.csdn.net/weixin_44200074/article/details/106117792