gdf*_*f31 9 graphics vector linear-algebra computational-geometry
我正在尝试使用中心差分将高度图转换为法线矩阵,该矩阵稍后将对应于给定点的陡度。
我发现了几个具有正确结果的链接,但没有解释背后的数学原理。
T
L O R
B
Run Code Online (Sandbox Code Playgroud)
从这个链接我意识到我可以这样做:
Vec3 normal = Vec3(2*(R-L), 2*(B-T), -4).Normalize();
Run Code Online (Sandbox Code Playgroud)
问题是我不知道2*和-4来自哪里。
在这个中心差分的解释中,我看到我们应该将该值除以 2,但我仍然不知道如何将所有这些联系起来。
我真正想知道的是这背后的线性代数定义。我有一个高度图,我想测量中心差异,我想获得法线向量以供稍后用于测量陡度。
PS:Z轴是高度。
meo*_*dog 12
根据矢量演算,表面的法线由梯度算子给出:
高度图h(x, y)是函数的一种特殊形式f:
对于离散化的高度图,假设网格大小为 1,上述两个导数项的一阶近似值由下式给出:
由于x从L到的步长R是 2,对于y. 上面就是你的公式,除以 4。当这个向量被归一化时,4 的因子被取消。
(在撰写此答案时没有损害线性代数)
| 归档时间: |
|
| 查看次数: |
7091 次 |
| 最近记录: |