离散点云的法向量如何计算?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了离散点云的法向量如何计算?相关的知识,希望对你有一定的参考价值。

参考技术A 点没有法向量,离散点必须拟合成曲面才能计算 参考技术B 邻域内求最小特征值对应特征向量,详见http://wenku.baidu.com/view/5f52530190c69ec3d5bb75f1.html

旋转平面使其具有一定的法向量

我有以下问题:在3D中有一个从固定中心到原点的矢量。该平面在该中心周围具有任意坐标,因此其法向量不一定是所提到的向量。因此,我必须围绕这个固定的中心旋转平面,使得所提到的矢量是平面的法向量。

我的第一个想法是计算向量和法向量之间的角度,但问题是如何旋转平面。

有任何想法吗?

答案

平面是满足以下等式的数学实体:

enter image description here

其中n是法线,a是飞机上的任何一点(在这种情况下,中心点如上)。 “旋转”这个方程是没有意义的 - 如果你想让飞机面向某个方向,只需使法线等于那个方向(即“提到的”矢量)。

您稍后在评论中提到“平面”是一个OpenGL四元组,在这种情况下,您可以使用Quaternions来计算旋转。

This Stackoverflow post告诉您如何计算从当前法向量到“提到的”向量的旋转四元数。 This site告诉您如何将四元数转换为旋转矩阵(其尺寸为3x3)。

假设中心点被称为q,并且您获得的旋转矩阵具有以下形式:

enter image description here

这只能围绕原点旋转几何体。围绕一般点的旋转需要4x4矩阵(OpenGL使用的),可以构造如下:

enter image description here

以上是关于离散点云的法向量如何计算?的主要内容,如果未能解决你的问题,请参考以下文章

对同一个平面的点云进行分块拟合,拟合出来的法向量为啥方向会不同?

点云特征——法向量估计

点云法线

求出点云法向量有啥作用

FPFH特征匹配不上

点云处理技术之open3d第二篇:点云的基本操作篇——可视化降采样法向量裁剪和绘制点云