【问题标题】:Calculate Z Values from a plane normal从平面法线计算 Z 值
【发布时间】:2020-11-23 11:24:31
【问题描述】:

我们需要将一组点 (x,y,z) 拟合到平面上,并在点 (Xi,Yi) 处得到 Z - Zi 的拟合值。

我们使用 Eigen Library 进行平面拟合。 https://gist.github.com/ialhashim/0a2554076a6cf32831ca

现在我们有了平面的法线和所有点的质心。

如何通过以下信息计算Z轴在点(xi,yi)的值?

  1. 所有点的质心
  2. 垂直于拟合平面

谢谢!

【问题讨论】:

    标签: math linear-algebra eigen plane


    【解决方案1】:

    您想要d 到点r=(xi,yi,zi) 的平面的距离。

    你有平面法线n=(nx,ny,nz),它应该是一个单位向量,平面上的一个点p=(px,py,pz)

    d = nx*(xi-px) + ny*(yi-py) + nz*(zi-pz)
    

    这是普通n和相对位置r-p之间的点积。

    或者,如果你想要平面的表面方程,那么求解下面的方程为zi

    nx*(xi-px) + ny*(yi-py) + nz*(zi-pz) = 0
    
    zi = pz - (nx*(xi-px)+ny*(yi-py))/nz
    

    【讨论】:

    • 谢谢。我可以将质心作为平面上的单点吗?当我使用 Centroid 作为点时,我得到了正确的 Z 值。
    • 是的,取p的质心。
    猜你喜欢
    • 1970-01-01
    • 2018-07-20
    • 1970-01-01
    • 1970-01-01
    • 2013-11-17
    • 1970-01-01
    • 1970-01-01
    • 2014-09-20
    • 1970-01-01
    相关资源
    最近更新 更多