我正在尝试使用中心差分将高度图转换为法线矩阵,该矩阵稍后将对应于给定点的陡度。
我发现了几个具有正确结果的链接,但没有解释背后的数学原理。
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轴是高度。
我的目标是将球体放置在鼠标指向的位置(Z-coord为0).
我看到了这个问题,但我还没有理解MVP矩阵的概念,所以我研究了一下,现在我有两个问题:
如何从相机设置创建视图矩阵,如查找,眼睛和向上矢量?
我还阅读本教程的几种类型的相机,这一个WebGL的.
我仍然可以把它放在一起我不知道如何获得投影矩阵...
我应该采取哪些措施来实现所有这些目标?