用每个三角形的地形计算矩阵的角度



我有一个带有地形数据的矩阵,可以说几个山丘。我想拥有每个数据角度与垂直线的角度的信息。这是两个示例:

  1. 如果我考虑了完全平坦的山脚附近的一个地方,我的学位为90°(垂直线90°(。
  2. 如果我处于山的最陡点,我的角度较低,例如50°。

要计算此内容,我想我必须连接所有地形数据,以便(至少(三个像素形成三角形。之后,我必须计算此三角形的角度。

我可以使用现有算法吗?

如果您的高度图是矩阵a,则可以通过

近似每个内点(无EGDES(的梯度组件
  Xgrad = (A(2:end-1,3:end)-A(2:end-1,1:end-2))/2;
  Ygrad = (A(3:end,2:end-1)-A(1:end-2,2:end-1))/2;

然后,角将为

  deg = (pi/2 - atan(sqrt(Xgrad.^2 + Ygrad.^2),1))/pi*180;

取决于您的高度图,数值区分可以产生"模糊"结果。也许您必须进行一些模糊的过滤才能产生光滑的梯度。

最新更新