我想从面部法向量计算方向角,它有nx,ny,nz。
我在Matlab上使用princomp()获得了3D点云法线。
每个点都有一个法向量(nx,ny,nz)。
如何计算法向量的方向角?
我的最终目标是绘制范围图像颜色,以表面法线的方向角进行映射。
答案 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)