图形学算法疑问
来源:2-9 均摊复杂度和防止复杂度的震荡
慕粉3884565
2021-12-16
老师我现在从事前端开发,我对webGL很感兴趣目前在学习,也就是openGL阉割版,图形学能做很多比如 仿真、神经网络、游戏、但是我能学了用得到的就是数据可视化3D那块,
我打算后面看现代计算机图形学入门 比如说做图表,自定义画图表D3.js之类的,然后做一些交互性的3D,建模这些复杂的就是地图3D那些要学习哪些数学呢,我现在在学习线性代数 后面还要学习哪些数学呢,可以给我指导下图形学方向和接下来要学习哪些吗,从0到做类似openGL工程方面,暂时没有做什么科学研究打算,因为以前读书老师也没讲过这方面
1回答
-
最最重要的数学就是线性代数。国内线性代数的讲法和国外有很大的不同,我强烈建议你踏踏实实认认真真系统完整地学习一本国外的经典线数教材。比如这本:https://book.douban.com/subject/30310517/
在这个基础,如果你还想深入,就是:
1)高数:一方面图形学要模拟的很多物理学方法,背后的公式就是高数;另一方面,基本上稍微涉及一点数学公式(比如各种优化),都会有高数的影子;
2)概率论:比如很多算法是基于概率密度函数的;
3)几何学:很好理解。但初级阶段,高中的三角函数就够了,深入的话可能要接触微分几何(甚至更专门的领域,比如光学几何。)
其他的数学,说实话,因为数学这个领域太大了,所以可能很难说你学了 A, B, C 的数学,去做 D 就不会遇到问题了。而且很多数学之间也是有交叠的。
比如学习高数的过程中,就会遇到很多最优化问题的求解,但其实,最优化本身也是单独的一门学科(并且偏向数学);
再比如著名的 quake3 中的这段代码,本质是数值分析的内容:https://www.sydneytoday.com/content-1021413829299005
但整体,如果你是以数据可视化为目的,其实用到的图形学的内容都没有那么多。最重要的基础数学是线性代数。在这个基础上,可以再一点一点深入。
继续加油!:)
022021-12-18
相似问题
回答 1