NormalVector法向量

法向量(Normal Vector) 是指**垂直于某个几何对象(如曲面、平面或边缘)**的向量,表示该对象在某点的“朝向”或“方向”。


🌟 一句话理解:

法向量是“垂直”某个面(或线)的小箭头,表示这个面朝哪边。


📐 数学定义

  • 对于一个平面

    • 如果平面由向量 ab 构成,则法向量 n=a×b(叉积)

    • 这个 n 与平面垂直

  • 对于一个曲面

    • 法向量是该点处切平面的垂直方向

  • 在 3D 空间中,单位法向量满足: $n=1$


🧱 举个例子

  • 一个水平地面,它的法向量是 (0,1,0)(向上)

  • 一个垂直的墙面,面朝你的方向,其法向量可能是 (0,0,1)


📊 在计算机视觉/图形学中的作用

✅ 1. 3D 模型与点云处理

  • 每个点或三角面都可估算出一个法向量,用于:

    • 光照计算(如 Phong 光照模型)

    • 网格重建

    • 法向量场可视化

✅ 2. 表面平滑与分割

  • 相邻点法向量差异大 → 可能是边缘或折角

  • 法向量一致区域 → 可聚类为同一平面

✅ 3. 消失点与几何先验

  • 在曼哈顿世界假设下,建筑面法向量通常沿固定方向

  • 将法向量投影到高斯球上可以看到明显聚集,便于提取主方向


🔄 法向量的获取方式

  • 显式表示:三角面片直接提供

  • 估算:对点云或深度图,通过邻域拟合平面来估算

    • PCA

    • 最小二乘拟合

  • 深度学习方法:从图像或深度图中端到端预测法向量图(normal map)


🧠 总结一句话:

法向量描述了“一个面在朝哪个方向”,是空间几何结构中的核心向量,在计算机视觉中用来识别形状、检测边缘、估算方向、渲染光照等。