Computer vision 为什么取切线向量的叉积得到法向量?

Computer vision 为什么取切线向量的叉积得到法向量?,computer-vision,computational-geometry,depth,normals,cross-product,Computer Vision,Computational Geometry,Depth,Normals,Cross Product,我有一个深度图像,比如说z=f(x,y),用(x,y)像素表示。我想计算每个像素的法向量来创建法线贴图 我一直在尝试这种方法。在这种方法中,叉积的“输入”基本上是两个切线向量,即梯度(dz/dx)和(dy/dx)。这两个切向量将在点(x,y,f(x,y))处形成切平面,然后叉积将找到该平面的法向量 但是,我不明白为什么法向量指向这个平面(3D平面(x,y,f(x,y))也将是我试图找到的世界坐标中平面的法向量。这里有任何假设吗?如何使用这种方法来找到每个像素处的法向量?这几乎是曲面法向量的定义。

我有一个深度图像,比如说
z=f(x,y)
,用
(x,y)
像素表示。我想计算每个像素的法向量来创建法线贴图

我一直在尝试这种方法。在这种方法中,叉积的“输入”基本上是两个切线向量,即梯度
(dz/dx)
(dy/dx)
。这两个切向量将在点
(x,y,f(x,y))
处形成切平面,然后叉积将找到该平面的法向量


但是,我不明白为什么法向量指向这个平面(3D平面
(x,y,f(x,y))
也将是我试图找到的世界坐标中平面的法向量。这里有任何假设吗?如何使用这种方法来找到每个像素处的法向量?

这几乎是曲面法向量的定义。法向量局部垂直于切平面。以及两个像素的叉积非共线向量是垂直于两个向量的向量。这就是为什么切线平面的两个非共线向量的叉积垂直于该切线平面。因此它沿着法线方向。

如何找到法线向量?基本上,我问这个问题,因为切线平面是t的切线平面深度函数(x,y,f(x,y))的深度三维图,而不是与真实世界点的切面。这以什么方式回答了我的问题?我投票结束这个问题,因为它不是一个编程问题…它是一个数学或三维几何问题,甚至不涉及三维库或任何代码讨论。基本上,我问这个问题是因为切面是与该点的切面深度函数(x,y,f(x,y))的三维图形,而不是与真实世界点的切面。