从表面法线(nx,ny,nz)计算方向角

时间:2013-03-26 13:35:17

标签: matlab normals point-clouds

我想从面部法向量计算方向角,它有nx,ny,nz。

我在Matlab上使用princomp()获得了3D点云法线。

每个点都有一个法向量(nx,ny,nz)。

如何计算法向量的方向角?

我的最终目标是绘制范围图像颜色,以表面法线的方向角进行映射。

1 个答案:

答案 0 :(得分:1)

如果我没有错,方向角意味着表面法线的角度w.r.t. (请澄清我是否错误地解释了它)在​​这种情况下,你可以在表面上(或与表面法线相对应的点)取一个点。设点为P(px,py,pz)'。法线是N(nx,ny,nz)' 设θ是表面法线和点的角度b / w。

cos(theta)= P.N / | P |。| N |

所以在matlab中,

cos_theta = P'* N /(norm(P)* norm(N)) theta = acosd(cos_theta)