我想知道以下资料:
关于以下向量类型:
Normal
Tangent
Binormal
简单的以游戏开发为中心的解释就足够了。
发布于 2013-03-20 15:01:35
一般说来,法线向量表示直接“向外”指向一个曲面的方向,这意味着它是正交的(在90度角度上)任何向量与平面共面(在平坦曲面的情况下)或与给定点的曲面相切(在非平面的情况下)。
切线向量通常被认为是存在于曲面平面内的向量(对于平面而言),或者是与曲面上的参考点相切的向量。如果从参考点用相同的法线构造平面,则切线向量将与该平面共面)。
二法向量的概念比较复杂,在计算机图形学中,它一般是指二值向量(reference 这里),它实际上是曲面的“其他”切线向量,它与法向量和选定的切线向量都是正交的。
关于它们是如何计算的,这取决于曲面的复杂性和你希望法线的精确程度(在某些情况下,例如光滑着色,当一个曲面的实际信息不存在时,计算近似曲面的法线更可取),但是有几个给出这里的广义公式。
就它们的发生地点而言,答案无处不在。法向量用于在三维空间中定位摄像机和物体,确定物理计算中的轨迹、反射和角度,将皮肤和纹理映射到三维模型,确定AI编程中的目标轨迹偏移,向着色器提供关于如何在表面上相对于光线、摄像机和其他物体的光照、阴影和颜色点的提示,等等。它们可能是3D环境中最有用的信息之一,甚至在2D环境中也非常有用。
发布于 2013-03-20 15:01:52
法向量通常用于照明计算。它是一个向量,它应该垂直于表面,由网格的顶点近似。法线是在每个点阵位置定义的,但可以根据你想要的光线在那个点阵处折射的方式或者你想在阴影中用你的光线计算做什么来计算。
切线向量和二法向量是相互垂直的向量,法向量主要描述u,v纹理坐标相对于你试图渲染的曲面的方向。通常,它们可以与普通地图一起使用,这样你就可以为你的模型创建地下照明细节(颠簸)。
显然还有其他方法来利用这些向量,我刚才描述了它们的平均使用情况。关于更多的技术信息,我建议你拿起一本关于计算机图形学的书,或者在互联网上浏览一些文章。关于这件事有很多信息。
发布于 2020-05-15 21:14:38
我知道这是旧的,但我想补充一点实用的信息。正如其他人所说的,但更具体地说是与图形化编程有关。
与4x4矩阵的实用关系。
通常,正如您可能知道的,一个常用的右手4x4矩阵有3个向量,表示向前、向上和右边。放置在矩阵中的这三个单位长度向量等于一个完整的定向矩阵。(例如,矩阵可能与这些向量类似,尽管据我所知,这不是标准化的,m.Forward =法线,m.Up =切线,m.Right =双切线)。
这就形成了一个方向,表示它形成了一个正交矩阵,每个向量与其他向量垂直,每个维x,y,z都有一个向量。
当另一个矩阵通常是一个旋转矩阵被应用到它(曲面在图形情况下是三角形)时,描述该曲面的方向将是.正确地旋转。
然后遍历屏幕上的一个三角形,在2d情况下。
x = x + 1;
这样我们就可以直接在三维物体表面上移动。(尽管简化了,您可以看到,即使矩阵m是旋转的,下面公式的前提也是成立的)
x = x + m.Right;
实际使用。
当复杂的旋转被应用到一个曲面上,例如纹理映射,如果你有所有的这三个值,那么无论曲面旋转到什么方向,它总是向前、向上和正确的。纹理uv位置可以从这或如果你喜欢它的切线和双切线矢量在表面的三角形可以移动从一个三角形顶点。在三维空间和2d空间中一样容易。有了这些信息,您可以从3d到2d屏幕空间,或者反之亦然,当您需要或如果您需要为各种可能的需要。
具体应用
最常见的例子是法向映射或Bump映射的图形技术,它使平面看起来具有深度,您可以查阅该术语以获得更多信息。
https://gamedev.stackexchange.com/questions/51399
复制相似问题